HM-10 BLE 4.0 Module CC2541
MCU can be set up,also can controlled by a remote Bluetooth device for setting,can transfer data, and can remotely control 10 PIO pins,so,the best choice is HM-10 bluetooth module. It can replace HC-05, HC-06, HC-07 etc.
Support Central and Peripheral mode switch, modify by AT commander.
The Bluetooth UART RS232 serial Converter Module can easily transfer the UART data through the wireless Bluetooth, without complex PCB layout or deep knowledge in the Bluetooth software stack, you can combine this bluetooth module with your system:
- Any Micro controllers, ARM or DSP systems can be interfaced with HM-10.
- SOC systems.
- Personal Digital Assistants (PDAs)
- Computer Accessories
- Other systems your want to use under bluetooth functions.
DEVICE FEATURES
- Fully Qualified Bluetooth V4.0 BLE module
- Full Speed Bluetooth Operation with Full Piconet Support and Scatternet Support
- Increadible samll size with 3.3V input, and RoHS Compliant
- UART interface and with baudrate setup function
HARDWARE REQUIRED
- HM-10 BLE Module
- Selecting Orginal HM- 10 Module
- Connecting Wires
PIN OUTS
PREREQUISITES
- Download the Required firmware files form the following link
- Firmware Download Link
- HMComAssistant.exe
- HMSoft.exe
- HMSoft.bin
- Firmware Download Link
- Arduino IDE 1.6.6 [Download form this Arduino IDE Link]
SETTING UP THE CONNECTION FOR FIRMWARE UPGRADE
- Connect the HM-10 CC2541 BLE module to the FTDI Breakout Board as shown in the schematic
- We can also setup the connection using the onginal HM-10 Module without Breakout using the following schematic.
- Check the COM Port of the FTDI board connected to the PC on Device Manager
- If COM Port is not deducted, upgrade the drivers using following link
- If you are using FTDI Board, follow this FTDI Driver
- If you are using CP2102 Board, follow this CP2102 Driver Link
SETTING UP MODULE TO UPGRADING MODE
Method 1: Using HMComAssistant
- Launch the HMComAssistant form the downloaded folder on your PC
- Select the COM Port on the HMComAssistant
- On HMComAssistant click Open Port
- Enter AT command on the text box and Click SEND button
- If HM-10 responds with OK then module connection is made correctly, if not check the connections made.
- To pull the module to upgrading mode, Send AT+SBLUP commad.
- If module responds with OK+SBLUP, then we are ready to upgrade the firmware.
Method 2: Using Arduino IDE
- Open the Arduino IDE
- Select the COM Port on the Arduino IDE from { T00ls > Port > (com port) }
- Open the Serial Monitor on Arduino IDE
- Enter AT command on the text box and Click SEND button.
- If HM-10 responds with OK then module connection is made correctly, if not check the connections made.
- To pull the module to upgrading mode, Send AT+SBLUP commad.
- If module responds with OK+SBLUP, then we are ready to upgrade the firmware
STEPS TO UPGRADE FIRMWARE
- Launch the HMSoft.exe executable file on the downloaded folder
- Select the firmware image from the downloaded folder [HMSoft.bin]
- Enter the right COM Port number on COM Port
- Click on Load Image button to start burning the firmware to the HM-10 BLE module
- Wait for the pop-up Download Completed Successfully
··• )o( •··
Hello, and thank you for the detailed info. Question. Why is it important that the HM-10 module be the "original" as you point out. It appears that most modules claiming to be HM-10s are of the variety shown in your middle example. I just swapped out a functioning HC-06 module attached to an Arduino Uno and two my surprise, none of my BLEv4.0 compatible mobile devices would pair with it. I would have expected at lease a pair success or possibly a pin question, right out of the box?
ReplyDeleteMost of the HM-10 out in the market are cloned ones, which are most likely not working so I prefer to go with the original.With HC-05 its weird that you are not able to pair at least, make sure that you have upgraded the firmware of the HC-06 module and regarding the android mobile app, try connecting with S2 Terminal mobile app. Every android mobile phone has Bluetooth Smart, says you can work with both with Bluetooth Classic and Bluetooth Smart LE.Good Luck!
ReplyDeleteHC-05/06 is not BLE(4.0) but 2.1. Anyway, HM-10 clones like AT-09 does not support AT+SETUP command. So we need to upgrade firmware manually using Ti's programmer board and other stuffs. That's not so easy.
ReplyDeleteHi, if I accidentally bought a HM-10 clone, there is no way of making it work?
ReplyDeleteyou can still use them, mostly the cloned ones are faulty! be aware of that !
ReplyDeleteHello. I have a CH340 usb ttl converter. Can I use this converter for flashing firmware. Thanks...
ReplyDeleteGood Day Sir/Ma'am!
ReplyDeleteCan someone help me with this problem?
I have successfully updated my firmware with the help of this tutorial using method 1 but after the "AT+SBLUP is established my HM-11 module LED light starts to dim then after I updated my firmware, my HM-11 LED turns off (it feels like it got busted or something when in process of updating the firmware but I am sure that I set my VCC inputs to 3.3v).
Another problem is that I want to establish a "hello world" response between my android phone and hm-11 as a slave using FTDI modules and arduino UNO serial monitor to show a response but I encounter a problem where I try to pair the HM-11 and my android phone using FTDI module but my phone can't discover my HM-11 using the BLE scanner app. I can however access the AT commands of HM-11 and can set up my module into slave/master (I left other set up like "AT+NAME", "AT+ROLE" and "AT+PASS" to its default ) but still My HM-11 (which is now currently "V540") can't be found by my device.
Now that I stated my situation my question stands on the following:
1. Is this happen on hm-11 when updating the firmware? and if so, how can I fix this set up?
2 How can I pair my android phone and hm-11 if I can't search my HM-11 which it's name is HMsoft? (this is my major concern)
3. How can I establish a communication between my android phone and HM-11 using a simple example of "hello world"?
I am using this device http://wiki.seeed.cc/Grove-BLE-dual_model-v1.0/ as my HM-11.
Kuddos to Mr. SURYA SUNDAR RAJ D for posting this blog, it really help alot in doing my project. :)
Yeah, you can use any usb to serial converter!
ReplyDeleteHi Richmont,
ReplyDeleteThe issue might be the firmware you would have used is for hm 10. I have updated hm-11 firmware to my github https://github.com/suryasundarraj/hm-10-firmware.git.
Please upload the device specific firmware. Since, the firmware is not updated properly you would have faced the other issues. Hope this solves your issue ! Thanks
Thanks! Have made it ☺
ReplyDeleteHi,
ReplyDeleteIs there any way to build the Host Test app for this board to set up BLE using HCI commands and forget about AT+...?
Or any other way to configure BLE Services and Characteristics?
Best regards,
Basil
Hi,
ReplyDeleteThis module can only act as an peripheral and send data serially.If you want to have more customized services and characteristics, go for nrf52822 or Cypress psoc 4 ble modules you will get complete access to BLE Stack!
Hi, my module worked regulary till some days ago. Now when I turn it on, the led is on, but it stays constant, it doesn't blink, and I cannot find it during the "research of bluetooth devices" so i cannot do the pairing. I tried to flash the firmware but HMComAssistant says that 'the port does not exist or occupied'. The arduino serial monitor doesn't give me any answer to AT command (using sketch in following link: http://blog.blecentral.com/2015/05/05/hm-10-peripheral/)
ReplyDeleteerror
ReplyDeletehi! I have some troubles with this module that worked perfectly till some days ago.
ReplyDeleteWhen I get powered, it doesn't blink as usual waiting somebody who pairs with, but the red led stay constant like when it is already been paired. The strange thing is I cannot see the bluetooth module anyway! When I try tu send AT commad it doesn't answer. So I tryed to flash again the firmware, but HMComAssistant says me 'the port does not exist or occupied' and also HMSOFT.exe is not able to do anything.... any suggest?
Hi ! I think so u have damaged the module..Try with a new module ! make sure you are not powering the device with 5v directly or inbuilt voltage regulator is present. These modules are 3.3v compatible.
ReplyDeleteHi @mark , Please let me know where you got stuck?
ReplyDeleteYou need the full firmware, not the firmware provided by the manufacturer as this firmware is only usefull for UPGRADE a genuine HM-10 wich have already a bootloader.
ReplyDeleteThis tutorial is all about upgrading the genuine HM-10 modules.
ReplyDeletehello guys
ReplyDeletei want know how make for programming the hm-10 for plugin on speaker for play the music ? if someone that reply me.
Hi, It is pretty written document on Hm-10! Thanks!
ReplyDeleteI have a question,
I connected with HM-10 and Arduino and sent AT+SBLUB and (I didn't read next statement) opened .exe file, run firmware.
but I couldn't wait for updating so exit the file while running. After then HM-10 don't respond AT command.
Now What should I do? I want to format this HM-10 and reuse it.
Check with your baud rate settings, and Module connections.
ReplyDeleteVery g00d suggestion!
ReplyDeleteI am finding conflicting information about the HM-10 firmware supporting iBeacon.
Delete@suryaigor, what do you have any recommendations for BLE module that will do iBeacon, if the HM-10 does not.