First part of a comprehensive look at the HM-10.
Everything you wanted to know and more.
Arduino, ESP32/8266, Bluetooth, and stuff
The JDY-31 is a fairly simple Bluetooth 3.0 SPP module than can be used as a HC-06 replacement. It should be noted that it is not a direct replacement though as the AT commands are not identical. Bluetooth 3.0 is still Bluetooth classic but has an increased theoretical transmission speed of up to 24 Mbps. … Read more
The below are the official/original H-06 modules from Guangzhou Huicheng Information Technology Co., Ltd. (HC Huicheng Information for short) / Wavesen. The latest version has firmware hc01.comV2.0 and a blue LED but there are still many of the older versions around with firmware linvorV1.8, no blue LED. Both work the same. The newer firmware has … Read more
Android Bluetooth serial apps come and Android Bluetooth serial apps go. The app I used to use is no longer available in Google Play and I am now using Serial Bluetooth Terminal by Kai Morich. Google Play tells me there are in-app purchases, but, apart from a donate link, I can’t find anything (maybe it’s … Read more
If you have read through the Arduino Serial guides you should now have a good grasp on using serial communication but did you ever stop to ask yourself what actually is serial UART? If you did you are in the right place. UART stands for Universal Asynchronous Receiver-Transmitter which probably doesn’t help explain what it … Read more
Simple Serial Monitor is yet another stand alone replacement for the Arduino serial monitor. It is text only and is far from being a fully fledged terminal app. It does have a couple of features that make it a little better than the regular Arduino serial monitor, especially when used with UART modules like the … Read more
Although Part 2 was more advanced than part 1, part 2 still only sent data one-way, from the Arduino to the Visual Basic app, and the data was very basic. It’s time to spice things up with more complex commands and 2-way communication. Although I used the sketch and Visual Basic app from the previous … Read more
Here we create a remote light sensor using a stand-alone HM-10 and a Light Dependent Resistor (LDR). The LDR is connected to peripheral HM-10 pin PIOB. Using MODE1 means we can read the value of PIOB from the Central HM-10 over the wireless connection. HM-10 Set up The two modules have been set to auto … Read more
The HM-10 has 10 pins that can be user controlled, a couple are input only, the others can be input or output. Unfortunately, the pins we can control are not available on the breakout board so we need to attach a connection directly to the actual HM-10 (the small daughter board). Pin function The pins … Read more
Connecting 2 Arduinos using 2 HM-10s is fairly easy. It is straight forward to make a connection and once the connection is established the HM-10s UART layer does all the work for you. The UART layer does mean you have no control over the actual BLE details though. To make a connection, all you need … Read more
I mentioned in the HM-10 introduction that BLE is all about services and characteristics and the HM-10 works by setting the value of a custom characteristic to match the value of the data being transmitted or received. This can be seen when using the BLE Scanner app and an Arduino and the Arduino IDE. This … Read more
HM-10: Add a second Custom Characteristic By default the HM-10 comes with a single custom characteristic under a custom service. A second write only characteristic can be added using the “AT+FFE2” command. “AT+FFE2” was added in firmware 5.45 and extended in version 5.50. The second custom characteristic only has a WRITE property no READ and … Read more
What is a iBeacon You can think of a iBeacon as an electronic light house. It simply sends out timed signal letting people know it is there. When an app on a mobile device constantly finds a signal it can react is a specific way. For example, in a shop a special discount may be … Read more
Have a HM-10 and want a chat with it? You need to know what to say and how to say it. Let’s try talking to a HM-10 with some of the more common AT commands Note: AT commands only work when the HM-10 is not connected to another wireless device. After a connection is made … Read more
Note: Updating the firmware is non-reversable. Once you issue the OK+SBLUP command there is no going back.
There have been a lot of firmware updates since I originally did this post so I thought it was time to have an update. Updating the updating as you will.
It’s been a while since I have done any real in depth tests on new Bluetooth modules. I keep buying them but never find the time to play with them, and fror my own projects I have started to move away from using Bluetooth and into using web apps (ESP82666 and ESP32). For the times … Read more
Arduinos are fairly limited when it comes to connecting things to them. Anything that needs more than 5V (or 3.3V depending on the board) is a no no. And it’s not just voltage you need to worry about. Even if the voltage is OK you still need to care about the amount of current the … Read more
Using short presses and long presses together adds versatility and gives extra function to a single button switch. No longer are you restricted to pressed or not pressed. No. Now you have pressed a bit, pressed for a bit more. This guide follows on from the previous post about timing a button switch press and … Read more
AKA: Time How Long A Push Button Switch Is Closed. Ever wanted to know how long a button switch was pressed for? YES. Read on. A couple of examples that do exactly the same thing, time how long a button switch was closed/pressed, but in slightly different ways. Circuit Both examples below use the same, … Read more