Turning HM-10 BLE 4.0 to iBeacon


I can post detailed information here, but it is already available in a document I put together at http://www.blueluminance.com/HM-10-as-iBeacon.pdf

In summary to use an HM-10 Bluetooth 4.0 module as an iBeacon you have to make sure it has a fairly recent version of the firmware, and then configure it using the following AT commands. The example example below sets the Major number to 0x1234, the Minor number to 0xFA01 and changes the module name to DOPEY.. You should use whatever values you want for your iBeacon. The default HM-10 UUID is not changed, but the article shows you how to change the UUID as well.

AT+RENEW            Restores factory defaults
AT+RESET            Reboot HM-10
AT                  Wait for OK
AT+MARJ0x1234       Set iBeacon Major number to 0x1234 (hexadecimal)
AT+MINO0xFA01       Set iBeacon Minor number to 0xFA01 (hexadecimal)
AT+ADVI5            Set advertising interval to 5 (546.25 milliseconds)
AT+NAMEDOPEY        Set HM-10 module name to DOPEY. Make this unique.
AT+IBEA1            Enable iBeacon mode
AT+PWRM0            Enable auto-sleep. This reduces power from 8 to 0.18 mA
AT+RESET            Reboot

Once configured in this manner, all the HM-10 needs is 2.0V to 3.7V of power and it will operate as an iBeacon. The device will draw 0.18 mA average (0.3 mA peak, 0.06 mA minimum).

If you need detailed instructions including firmware update and connections with photographs, please refer to the PDF.

Just a minor edit: The PDF file was updated to Version 3 with a few additions. Also, to reduce power consumption, the HM-10 is prevented from responding to pairing requests by the addition of the following two commands before the final reboot:

AT+ADTY3        Make non-connectable (save power)
AT+DELO2        iBeacon broadcast-only (save power)

iBeacon development kit CAN-BUS shield: http://www.elecfreaks.com/store/canbus-shield-p-746.html

Awesome work alexk9. Got one hm-10 working as ibeacon :). Soldering is a pain but worth it. Am planning to use one to track my baggage. One thing that i observed and thought of sharing with the anyone interested - the "wake up" worked for me only if i send the long string within few seconds of powering up the Hm-10. If i delay sending the string for more than a few (say 10) seconds it doesnt work.

hi, can you also make the hm10 support over the air configuration, juamao provided an android app but it does not work or do you know how to make it work? I am using HMBLEComAssistant APK this android app will supposedly enable the phone to send AT commands to HM10 but I could not make it work

Is there a similar tutorial about turning a HM-10 look-a-like module from Bolutek CC-41A (being sold on ebay under the name HM-10) into iBeacon?

I managed to establish the serial communication with a PC and despite HM-10 and CC-41A have a similar AT command set with small differences, I can not put the CC-41A module into iBeacon mode. I am running an iBeacon scanner app on my iPhone and I cannot see the module, although I have confirmed that the module UUID is on the list of UUIDs allowed in the app settings.

Has anybody here on the forum had success with turning the Bolutek CC-41A module into iBeacon?