The headline sounds pretty cool, but to be earnest: I messed it up. As this was my first real project with Arduino, it took my days to find out how things work and when I finally managed to drive the RC car I realized that I made several mistakes. Therefore I will not post what I did, but I’ll post what I will change in a few days.
The initial idea was to control a RC car via a Bluetooth module with my iPhone. Therefore I bought the HC-05 module which I already described in an article.
When I ordered the module, I did not know, that it is an Bluetooth 2.0 module and you need at least an Bluetooth 4.0 module to communicate with an IOS device. So, I ordered an HM-10 module, which arrived yesterday. The wiring is almost the same as the HC 05 and so my sketches for the HC 05 worked with the HM 10 too.
But I was not able to set up a connection between my Mac or iPhone and the HM 10. I googled the whole web and found that there are several articles out there pretending to be helpful, but they are not. Finally I tried the manufacturer’s site: Jinan Huamao Technology Co., Ltd.
Funny side fact: Nowadays you often hear people accusing Chinese companies to steal western intellectual property. I seems that Jinan Huamao does have a problem with other companies steeling their I.P. In the datasheet they wrote a paragraph on how to identify fake HM 10 modules.
They provide a package with very helpful files. But before I go into details, I’d like to emphasis, that I am not a professional and even more important: I do not have any knowledge about Bluetooth. What I write here is just what worked out for me. Do not hold me responsible if you follow my path and damage you hardware!
So, what did I do: The out of the box configuration of my HM 10 did not allow connecting my iPhone nor my Mac to it. Somewhere I found the info, that it is not as easy to connect a Mac to a BLE module as to a BT 2.0 module. I did not understand the reason, but the outcome it: If you’d like to connect to your Mac use the HC 05, if you’d like to connect to your iPhone use the HM 10.
I had to change the setup of HM 10. In the downloaded files there was a text file headlined „How to open ANCS function“. ANCS stands for Apple Notification Center Service. As far as I understood you use this if you’d like you bluetooth device to notify or to be notify on any change, like an incoming call, receiving a mail and so on. But I was not interested in using this service. To me it was more interesting to prepare my device for the service. I used the AT-sketch to change the set up:
- Send AT+TYPE3 command –> change to AUTH and BOND mode.
- Send AT+ANCS1 command to open ANCS.
- Send AT+PASS[para1] command to set passcode. Default passcode is „000000“
- Send AT+RESET to restart module.
I have not tried if step 2 really is necessary, but it worked. After I changed the setup my iPhone found a device named „HMSoft“ (the default name of HM 10).
Now I have a connection I can try if I am able to transceiver data. I will use Blynk as this seems to be a very convenient service – at least for starting. Because right now I am focusing on Arduino and not on programming apps.