Go Down

Topic: How to make an iBeacon Detector with Arduino? (Read 67311 times) previous topic - next topic


Hello everyone, as the title says i'm trying to make an iBeacon detector.

I was hoping to use the HM-10 bluetooth 4.0 modules from JNHuaMao, as i have experience with their HM-05 which are bluetooth 2.0. Also because those are the modules i'm going to use to make the iBeacons as it seems fairly easy to do so according to this tutorial  http://www.blueluminance.com/HM-10-as-iBeacon.pdf .

But for what I found in the web it seems not possible to get the UUID, RSSI, Major and Minor from this iBeacons with another HM-10 as a central device connected to an Arduino. The command AT+DISC only gets the address and name of the device. Everything I found suggests using an Android or Apple app like iBeacon Finder.

I was  wondering if anyone knows a way to get all this data from the iBeacons with a HM-10 module or if I should use another module as the central device. And if so which device do you recommend and if there is any tutorial on how to do it.

Thanks in advance for your time and patience, and I apologize for my english.
Cheers, Leo



Thanks for your reply, so for what you said I need to have a microcontroller capable of running Linux in order to get the data I need from the iBeacons.

I was looking for something that would work with an Arduino Micro as my project is space limited (also limited by budget).

I send an email to JNHuaMao support with this problem to see if they have any solution. Maybe a firmware update or any other hardware that could work with Arduino without having to use Linux.

If I get any reply I'll post it here.

Still open for any other suggestion.


Dec 29, 2014, 06:58 pm Last Edit: Dec 29, 2014, 06:59 pm by sonnyyu
Plan B:

iBeacon Detector=  iBeacon in Central roles


CC2564 is much more than a transceiver, it includes the BT MAC (which is much more complicated than the BLE).
The limitation is not on the RF domain but on the SW/HW MAC portion.

MasterSlaveSwitch /Central/Peripheral roles Switch

HM-10-CC2540-4-0-BLE-Bluetooth support Central/Peripheral roles Switch


Code: [Select]
AT Commanders (new version V542)

AT                         (Test command)
AT+BAUD           (Query/Set Baud rate)
AT+CHK             (Query/Set parity)
AT+STOP            (Query/Set stop bit)
AT+UART            (Query/Set uart rate,parity, stop bit)
AT+PIO                (Query/Set PIO pins status Long command)
AT+PIO                (Query/Set a PIO pin sttus Short command)
AT+NAME           (Query/Set device friendly name)
AT+PIN                (Query/Set device password code)
AT+DEFAULT     (Reset device settings)
AT+RESTART     (Restart device)
AT+ROLE            (Query/Set device mode, Master or Slave)
AT+CLEAR          (Clear remote device address if has)
AT+CONLAST    (Try to connect last connect succeed device)
AT+VERSION     (Show software version information)
AT+HELP             (Show help information)
AT+RADD           (Query remote device address)
AT+LADD            (Query self address)
AT+IMME            (Query/Set Whether the device boot immediately)
AT+WORK          (if device not working, start work, use with AT+IMME command)
AT+TCON           (Query/Set Try to connect remote times)
AT+TYPE             (Query/Set device work type,  transceiver mode or remote mode)
AT+START          (Switch remote control mode to transceiver mode)
AT+BUFF            (Query/Set How to use buffer data, Duing mode switching time)
AT+FILT              (Query/Set device filter when device searching)
AT+COD              (Query/Set Class of Device. eg: phone, headset etc.)


My person favor is Linux way since I could easily integration by web server and database (mysql, sqlite) as well php or python with blustooth stack. I have a  Central/Peripheral roles Switch HM-10 module but never bother to set it up.


Thanks for your interest in my problem sonnyyu!!!

The HM-10 has the cc2540 chip that allows it to switch between central (master) and peripheral (slave) role with the command AT+ROLE. And it does everything a master device does, scans for slave devices, connects and everything as a normal bluetooth would.
But my problem is trying to get (as master/central device) the UUID, RSSI, Major and Minor from iBeacons with a BLE device that connects directly to an Arduino UNO or Micro (if possible).
As I said before the only scan the HM-10 has documentation is AT+DISC, which gives you the BT address and name of the bluetooth devices around, according to this

I'm still waiting for the response from JNHuaMao support, I don't think they will respond.

I am going to keep looking, any information will be appreciated!!!


Hello, so I finally got a response from  JNHuaMao!!!!

They said that they will be releasing a new firmware version this month that will give the HM-10 the capability to be use as an iBeacon finder/detector.

It will be Firmware Version V536.

So I'll just wait and try it out when it is release.



I would like to achieve the same goal. Has anyone got "Firmware Version V536"? If yes, where can we get it? I can't find it on the official site (download area). Thanks for helping me :)


don't hold your breath to it, it seems they have released a new firmware on Feb17 but no ibeacon detection functionality as promised.


hello world,
we couldn't wait for JNHuaMao to produce the promised iBeacon scanning firmware so we went
and wrote our own , and ran our code on their chip, result is a success. Our code talks via UART and
sends back a 3 tuple : (BLE mac address,  advertisement payload,  signal strength)

please see screenshot :

feel free to contact us about this:  nonokunono@hotmail.com


Great Job!!!!!  apoapoapoapo!!

Please tell us how did you that!!!!!



new firmware
                   HM-10/11 CC2540/1 V539
1. Add AT+DISI? command, use to scan iBeacon device;


Does anyone know how to update the firmware on these module ?

ie is it possible without some expensive hardware from Ti ? (CC Debugger) ?

Or will these new functions only be available on modules purchased with the new revised firmware on them?

Freelance developer and IT consultant

Go Up