Skip to main content

Upgrading Firmware to HM-10 CC2541 BLE 4.0




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

  • FTDI Breakout Board or Arduino Board
                                         
  • HM-10 BLE Module

    • Selecting Orginal HM- 10 Module
                                   

  • Connecting Wires

PIN OUTS

                                                   

PREREQUISITES 

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

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( •··

Comments

  1. 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?

    ReplyDelete
  2. Most 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!

    ReplyDelete
  3. HC-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.

    ReplyDelete
  4. Hi, if I accidentally bought a HM-10 clone, there is no way of making it work?

    ReplyDelete
  5. you can still use them, mostly the cloned ones are faulty! be aware of that !

    ReplyDelete
  6. Erencan BerberoÄŸluDecember 10, 2016 at 1:23 AM

    Hello. I have a CH340 usb ttl converter. Can I use this converter for flashing firmware. Thanks...

    ReplyDelete
  7. Good Day Sir/Ma'am!

    Can 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. :)

    ReplyDelete
  8. Yeah, you can use any usb to serial converter!

    ReplyDelete
  9. Hi Richmont,
    The 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

    ReplyDelete
  10. Thanks! Have made it ☺

    ReplyDelete
  11. Hi,

    Is 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

    ReplyDelete
  12. Hi,

    This 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!

    ReplyDelete
  13. 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/)

    ReplyDelete
  14. hi! I have some troubles with this module that worked perfectly till some days ago.
    When 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?

    ReplyDelete
  15. 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.

    ReplyDelete
  16. Hi @mark , Please let me know where you got stuck?

    ReplyDelete
  17. You 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.

    ReplyDelete
  18. This tutorial is all about upgrading the genuine HM-10 modules.

    ReplyDelete
  19. hello guys
    i want know how make for programming the hm-10 for plugin on speaker for play the music ? if someone that reply me.

    ReplyDelete
  20. Hi, It is pretty written document on Hm-10! Thanks!
    I 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.

    ReplyDelete
  21. Check with your baud rate settings, and Module connections.

    ReplyDelete
  22. Replies
    1. I am finding conflicting information about the HM-10 firmware supporting iBeacon.
      @suryaigor, what do you have any recommendations for BLE module that will do iBeacon, if the HM-10 does not.

      Delete

Post a Comment

Popular posts from this blog

Expanding Filesystem Size for BeagleBone and RPi

Beagleboard / Raspberry Pi : Expanding File System Partition On A microSD  This is a tutorial on how to expand the space used by the file system on an external micro SD card on your BeagleBone Black and Raspberry Pi. This tutorial will work with any of the Linux operating systems mentioned on  Ubuntu On BeagleBoard Black  or  Debian On BeagleBoard Black  that boot from a micro SD card With lots of trial and errors for expanding the file system size of a SD-Card using command line which crashed the file system. I found the alternative way of doing it. Requirements Ubuntu Operating System with Gparted Installed SD Card with Debian 8 for Beagle Bone Black Expanding File System Size using Gparted Insert the SD Card into the Ubuntu Running System Open Terminal and Install Gparted sudo apt-get install gparted On Terminal to open gparted, type gparted command Select the SD Card Right Click on the mount sd card, and click on Resize Resize b...

Low Power Wide Area Networks for IoT Products

M2M and IoT or Internet of Things will give rise to billions of nodes that require connecting. Most of these will require only low bandwidth to transfer small amounts of data. Some will also require this to be connected over distances greater than those achievable simply by a transmitter on its own. For many of these applications, the traditional cellular phone systems are too complex to allow for very low power operation, and too costly to be feasible for many small low cost nodes. Focusing on measure of success in communication, the latest present scenario “IoT Network” plays a vital role in the development of  communication between the various modes. in which ,the major controlling of all the operations in any remote smart devices depends upon the network modules. The modules for the communication is preferred based upon the convenient of the smart devices developed. Mainly depends upon the range, Power Consumption Efficiency Losses Dimension-ally distance ...