HC-06 Bluetooth Module Wireless Serial UART for Arduino ESP32 Raspberry Pi

$6.50 Inc. GST
You save

Quantity Discount (%) Price
1 — $6.50
2 - 4 5% $6.18
5 - 9 7.5% $6.01
10 - 19 10% $5.85
20 - 49 12.5% $5.69
50 - 99 15% $5.53
100+ 17.5% $5.36

Description

📡 HC-06 Bluetooth Module – Wireless Serial Communication for Arduino, Raspberry Pi & Microcontrollers

Overview

Add wireless serial connectivity to your projects with the HC-06 Bluetooth Module, the most popular and reliable Bluetooth-to-UART (TX/RX) adapter for Arduino, ESP32, and Raspberry Pi platforms.
It provides an easy way to replace serial cables with a transparent Bluetooth data link, making it perfect for DIY automation, robotics, and wireless data monitoring.

Compact, easy to configure, and highly stable, the HC-06 is the go-to module for Bluetooth slave-mode communication in embedded systems.


⚙️ Key Features

  • 🔹 Transparent serial bridge between Bluetooth and UART (TX/RX)

  • 🔹 Simple AT-command setup for renaming, changing PIN codes, or adjusting baud rate

  • 🔹 Pre-soldered 0.1″ headers – ideal for breadboard and jumper-wire use

  • 🔹 Low-power, long-range Class 2 Bluetooth device (up to 10 m typical)

  • 🔹 Supports standard Bluetooth SPP (Serial Port Profile)

  • 🔹 Compatible with Arduino, ESP32, ESP8266, Raspberry Pi, STM32, and other 3.3 V logic MCUs

  • 🔹 Operates in slave mode – pairs easily with phones, laptops, or other Bluetooth masters

  • 🔹 Compact breakout board for easy integration in DIY or embedded projects


⚙️ Specifications

Parameter Description
Model HC-06
Bluetooth Version 2.0 + EDR (Class 2)
Communication Protocol UART (TX/RX)
Operating Voltage 3.6 – 6 V DC (recommended 5 V)
Logic Level 3.3 V
Default Baud Rate 9600 bps
Working Mode Slave (connects to master devices only)
Configuration AT Commands
Transmission Range Up to 10 m
Interface Pins VCC, GND, TXD, RXD, EN (KEY)
Dimensions 37 × 15.6 × 2.6 mm
LED Indicator Connection / pairing status
Compatibility Arduino, ESP32, Raspberry Pi, STM32, Microcontrollers

🧩 Applications

✅ Arduino and ESP32 wireless communication
✅ DIY robotics and home-automation projects
✅ Wireless sensor data logging
✅ Serial communication with mobile apps or PCs
✅ Educational and IoT prototyping


⚠️ Notes

  • The HC-06 functions only in slave mode. For master/slave operation, use the HC-05 module.

  • Use a logic-level shifter if connecting directly to 5 V MCU TX pins.

  • Available versions may include an onboard AT command button (pin 34) or header jumper—both fully supported.


📦 Package Includes

  • 1 × HC-06 Bluetooth Wireless Serial Module

📌 Code Examples – HC-06 Bluetooth Module

📋 Overview

The HC-06 is a classic Bluetooth Serial (SPP) module that lets microcontrollers talk wirelessly using Bluetooth Classic.
It’s ideal for:

  • Wireless sensor data

  • Remote control

  • Serial communication without wires

It works with Arduino, ESP32/ESP8266, and even Raspberry Pi as a serial terminal.


🔌 Wiring (HC-06 → Arduino / ESP32)

HC-06 Pin Connect To
VCC 5V (Arduino) / 3.3V (ESP32) Check module specs
GND GND
TXD RX (use level shifting on 5V/3.3V if needed)
RXD TX (use a voltage divider / level shifter)

⚠ Important:
Most HC-06 modules use 5V logic on the serial pins.
For ESP32 / 3.3V boards, use a voltage divider or logic-level shifter on RX to protect the MCU.


🧪 Arduino Example (SoftwareSerial)

This example sends and receives text via Bluetooth using SoftwareSerial.

#include <SoftwareSerial.h>

// HC-06 TX -> Arduino pin 10
// HC-06 RX -> Arduino pin 11 (via voltage divider)

SoftwareSerial BTSerial(10, 11); // RX, TX

void setup() {
Serial.begin(9600); // PC serial monitor
BTSerial.begin(9600); // HC-06 default baud
Serial.println("HC-06 Bluetooth Test");
}

void loop() {
// Forward data from BT to Serial Monitor
if (BTSerial.available()) {
Serial.write(BTSerial.read());
}

// Send data typed into Serial Monitor to BT
if (Serial.available()) {
BTSerial.write(Serial.read());
}
}

How to test:

  1. Upload the sketch

  2. Open Serial Monitor (9600 baud)

  3. Pair with the HC-06 on your phone or PC

  4. Send text via Bluetooth console — it will appear in the Serial Monitor


⚡ ESP32 Example (Hardware Serial)

ESP32 has multiple hardware serial ports. This example uses Serial2.

#define BT_RX 16 // Connect to HC-06 TX
#define BT_TX 17 // Connect to HC-06 RX (use level shifting)

void setup() {
Serial.begin(115200); // USB serial monitor
Serial2.begin(9600, SERIAL_8N1, BT_RX, BT_TX); // HC-06

Serial.println("ESP32 HC-06 Bluetooth Test");
}

void loop() {
// Read from HC-06 and print to Serial Monitor
if (Serial2.available()) {
Serial.write(Serial2.read());
}

// Send user input from Serial Monitor to HC-06
if (Serial.available()) {
Serial2.write(Serial.read());
}
}

Tip: For ESP32, hardware Serial2 is more reliable than SoftwareSerial.


📟 Test Using Bluetooth Terminal Apps

You can test communication using apps like:

  • Serial Bluetooth Terminal (Android)

  • Bluetooth Terminal (iOS)

  • Bluetooth Serial Utility (desktop)

Pair with HC-06 default pin:

  • 1234 or 0000


🧠 Troubleshooting

✔ If data is garbled: verify baud rate (most HC-06 modules default to 9600)
✔ If connection fails: try both pairing pins (1234 and 0000)
✔ If RX/TX doesn’t work on ESP32: ensure safe voltage levels
✔ If no response: try short RX/TX swap (sometimes labeled differently)


🚀 Simple Use Cases

  • Wireless sensor display

  • Bluetooth remote control of LEDs / motors

  • Wireless logger to mobile device

  • Data streaming from IoT boards


📎 Tips For Better Performance

  • Use HC-06 with stable 5V supply

  • Keep wires short between MCU and Bluetooth module

  • For higher-speed projects, consider HC-05 (supports AT mode configuration)

Additional information

Weight 40 g
Dimensions 260 × 160 × 20 mm

Reviews

There are no reviews yet.


Only logged in customers who have purchased this product may leave a review.