HM-10 BLE Bluetooth serial adapter

I wanted to interface my iPhone 6S mobile phone with Arduino Nano using BLE Bluetooth connection. Searching in Google, I found an interesting board, which costs just few Euros, called HM-10. I bought it on Amazon Japan, and received it few days ago. Now, I am writing a simple guide on how to perform the setup and connect it to your iPhone, or any other BLE Bluetooth device.

HM-10 Bluetooth BLE serial adapterFirst of all, I connected the HM-10 module to my desktop PC, using a Serial to USB adapter. The configuration of the HM-10 is possible by setting the module into configuration mode: it is necessary to press the button on the board and then plug in the power pin (5V) into the board. The configuration commands are explained in the data-sheet: HM-10 datasheet. HM-10 module requires only 4 pins: VCC (3.3V or 5V), GND (0V), RX and TX. The board communicates using 3.3V TTL serial communication. For this reason, it is recommended that input signals do not exceed 3.3V, to avoid damaging the board.

After performing the module configuration (device name and so on) using AT commands, it was possible to connect to the module using the iPhone 6S. Using AT command "AT+name Davide", the board name has been set to "Davide".


I used the application "HM10 Bluetooth Serial" made by Alex van der Lugt. After connecting to the HM-10 module, it is possible to send ASCII messages using BLE Bluetooth. These messages will be forwarded to the PC using serial communication. For this purpose, the communication speed, on PC side, should be set to 9600 baud.

HM-10 module BLE Bluetooth iPhone 6SThe picture above shows the messages sent from the iPhone to the PC, through the HM-10, and also the messages received by the iPhone from the PC. The picture below shows the message received by the PC, using COM7. For software communication, I used "Serial Monitor" function included in Arduino IDE.

hm10-arduino_serial_monitorAs the next step, I will use this cheap adapter in order to connect the iPhone (or any other phone equipped with Android) to the Fuelino. This will allow to receive, in real time, measurement data from Fuelino, and also to calibrate Fuelino maps while running the engine, with a simple touch of the mobile screen.

Author: Davide Cavaliere

I am an Italian Electrical Engineer graduated at Politecnico di Milano. My interests are motorcycles and cars, electronics, programming, Internet of Things, and Japanese culture.

4 thoughts on “HM-10 BLE Bluetooth serial adapter”

  1. Pingback: Free Piano
  2. hello
    its possible to use GPS and bluethoot at same time ? for what i undestand both are using the serial connector J2 on the fuelino.

    Even i seen that D3 & D5 on the NANO are use as RX2 TX2 , but not connector Jx on the board ?

    if a make a connection to D3/D5 i guess i need to modifiy somes parts of the code and not just tag 1 for #define GPS_PRESENT & #define BLUETOOTH_PRESENT in the compile options ?

    Thank you David 🙂

  3. HI. you said :it is necessary to press the button on the board and then plug in the power pin (5V) into the board
    but which button?! i see no button on my HM10 board.

Leave a Reply

Your email address will not be published. Required fields are marked *