Cirkit Designer LogoCirkit DesignerYour all-in-one circuit design IDE Launch Cirkit Designer App

How to Use Bluetooth module HM-10: Examples, Pinouts, and Specs

Image of Bluetooth module HM-10Design with Bluetooth module HM-10 in Cirkit Designer

Introduction

The Bluetooth module HM-10, manufactured by Keyestudio (part ID: KS0174), is a versatile and low-cost module designed for wireless communication between devices. Utilizing Bluetooth 4.0 technology, it is particularly suitable for embedded systems and Internet of Things (IoT) projects, enabling seamless data transfer and communication over Bluetooth. Common applications include home automation, sensor data collection, and remote device control.

Explore Projects Built with Bluetooth module HM-10

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!

Technical Specifications

General Features

Electrical Characteristics

Pin Configuration and Descriptions

Pin Number Name Description
1 VCC Power supply (3.3V to 6V DC)
2 GND Ground connection
3 TXD Transmit data (connect to RXD of host device)
4 RXD Receive data (connect to TXD of host device)
5 STATE Indicates the module status
6 BRK Breakout pin, not commonly used

Usage Instructions

Connecting to an Arduino UNO

  1. Connect the HM-10 module's VCC pin to the 3.3V output on the Arduino UNO.
  2. Connect the GND pin to one of the GND pins on the Arduino UNO.
  3. Connect the TXD pin of the HM-10 to the RX pin (Pin 0) on the Arduino UNO.
  4. Connect the RXD pin of the HM-10 to the TX pin (Pin 1) on the Arduino UNO.

Important Considerations

Best Practices

Example Arduino Code

#include <SoftwareSerial.h>

SoftwareSerial HM10(10, 11); // RX = 10, TX = 11

void setup() {
  Serial.begin(9600);
  HM10.begin(9600); // Default baud rate of the HM-10 module
  Serial.println("HM-10 Bluetooth module is ready");
  // Make sure the baud rate matches the setting on the HM-10 module.
}

void loop() {
  // Forward any data received from the HM-10 to the Serial Monitor
  if (HM10.available()) {
    Serial.write(HM10.read());
  }
  // Forward any data received from the Serial Monitor to the HM-10
  if (Serial.available()) {
    HM10.write(Serial.read());
  }
}

Troubleshooting and FAQs

Common Issues

Solutions and Tips

FAQs

Q: Can the HM-10 module communicate with Bluetooth 2.0 or 3.0 devices? A: No, the HM-10 is a BLE module and is not backward compatible with earlier Bluetooth versions.

Q: How do I change the baud rate of the HM-10 module? A: You can change the baud rate using AT commands. For example, sending AT+BAUD4 will set the baud rate to 9600.

Q: What is the default PIN code for pairing? A: The default PIN code is typically 000000 or 123456. Check the module's datasheet for the exact PIN.

Remember to consult the HM-10 datasheet provided by Keyestudio for more detailed information and advanced configurations.