Features:
- Serial communication: Simple serial interface with baud rate adjustable from 9600 to 115200 bps.
- Slave mode only: Supports Bluetooth SPP (Serial Port Profile) in slave mode.
- AT command control: Configurable using AT commands.
- Power supply: Operates from 3.6V to 6V, ideal for battery-powered applications.
- 4-pin design: Compact and easily connectable to microcontrollers.
- Affordable: Cost-effective Bluetooth connectivity solution.
Description:
This module supports Bluetooth SPP and works only in slave mode. It is configured using AT commands and connects via a simple serial interface. It supports 9600–115200 baud rate and requires only a few connections to a microcontroller. It consumes low power and is perfect for battery-powered applications.
Principle of Work:
The module uses Bluetooth technology to enable short-range wireless communication. A built-in microcontroller handles serial communication with the host (e.g., Arduino). It is configured via AT commands. After powering up, it waits for a master device to connect. Once paired, it sends and receives serial data over Bluetooth using the SPP protocol.
Pinout of the Module:

- Vcc: Connect to +5V (acceptable range: 4.0V–6.0V).
- GND: Connect to the GND of the microcontroller.
- TXD: Connect to the RX pin of the microcontroller.
- RXD: Connect to the TX pin of the microcontroller.
Note: RX and TX pins should be cross-connected (MCU RX ↔ Module TX and vice versa).
Applications:
- Wireless communication between microcontrollers and computers
- Remote control systems (via smartphone or tablet)
- Wireless sensor networks for monitoring and automation
- Robotics projects with wireless control
- Data logging and remote monitoring systems
Circuit:
- Connect LED anode to Arduino pin 13
- Connect LED cathode to 220Ω resistor
- Connect the other end of the resistor to Arduino GND
- HC-06 TX → Arduino RX
- HC-06 RX → Arduino TX
- HC-06 VCC → Arduino 3.3V
- HC-06 GND → Arduino GND

Library:
No library required.
Code:
void setup() {
pinMode(13, OUTPUT); // Set digital pin 13 as output
Serial.begin(9600); // Begin serial communication
}
void loop() {
if (Serial.available() > 0) {
char data = Serial.read(); // Read incoming character
if (data == '1') {
digitalWrite(13, HIGH); // Turn on LED
} else if (data == '0') {
digitalWrite(13, LOW); // Turn off LED
}
}
}
This code allows Bluetooth control of an LED using a mobile app or PC serial terminal. Sending '1' turns the LED on, and '0' turns it off.
Technical Details:
- Bluetooth Version: Bluetooth 2.0, compatible with most devices
- Operating Voltage: 3.3V DC
- Serial Interface: RX/TX pins, default 9600 baud (configurable)
- Bluetooth Profile: SPP (Serial Port Profile)
- Pin Configuration: VCC, GND, RX, TX
- Range: Up to 10 meters (unobstructed)
Resources:
- Tutorials and example projects (not linked here)
Comparisons with HC-05:
- Pin Configuration: HC-06 (4 pins), HC-05 (6 pins with extra KEY and STATE)
- Master/Slave Role: HC-06 is slave-only; HC-05 supports master and slave roles
- Baud Rate: HC-06 default 9600, configurable; HC-05 supports 2400–115200 bps
- Power Consumption: HC-06 is low-power; HC-05 slightly higher
Features:
- Serial communication: Simple serial interface with baud rate adjustable from 9600 to 115200 bps.
- Slave mode only: Supports Bluetooth SPP (Serial Port Profile) in slave mode.
- AT command control: Configurable using AT commands.
- Power supply: Operates from 3.6V to 6V, ideal for battery-powered applications.
- 4-pin design: Compact and easily connectable to microcontrollers.
- Affordable: Cost-effective Bluetooth connectivity solution.
Description:
This module supports Bluetooth SPP and works only in slave mode. It is configured using AT commands and connects via a simple serial interface. It supports 9600–115200 baud rate and requires only a few connections to a microcontroller. It consumes low power and is perfect for battery-powered applications.
Principle of Work:
The module uses Bluetooth technology to enable short-range wireless communication. A built-in microcontroller handles serial communication with the host (e.g., Arduino). It is configured via AT commands. After powering up, it waits for a master device to connect. Once paired, it sends and receives serial data over Bluetooth using the SPP protocol.
Pinout of the Module:

- Vcc: Connect to +5V (acceptable range: 4.0V–6.0V).
- GND: Connect to the GND of the microcontroller.
- TXD: Connect to the RX pin of the microcontroller.
- RXD: Connect to the TX pin of the microcontroller.
Note: RX and TX pins should be cross-connected (MCU RX ↔ Module TX and vice versa).
Applications:
- Wireless communication between microcontrollers and computers
- Remote control systems (via smartphone or tablet)
- Wireless sensor networks for monitoring and automation
- Robotics projects with wireless control
- Data logging and remote monitoring systems
Circuit:
- Connect LED anode to Arduino pin 13
- Connect LED cathode to 220Ω resistor
- Connect the other end of the resistor to Arduino GND
- HC-06 TX → Arduino RX
- HC-06 RX → Arduino TX
- HC-06 VCC → Arduino 3.3V
- HC-06 GND → Arduino GND

Library:
No library required.
Code:
void setup() {
pinMode(13, OUTPUT); // Set digital pin 13 as output
Serial.begin(9600); // Begin serial communication
}
void loop() {
if (Serial.available() > 0) {
char data = Serial.read(); // Read incoming character
if (data == '1') {
digitalWrite(13, HIGH); // Turn on LED
} else if (data == '0') {
digitalWrite(13, LOW); // Turn off LED
}
}
}
This code allows Bluetooth control of an LED using a mobile app or PC serial terminal. Sending '1' turns the LED on, and '0' turns it off.
Technical Details:
- Bluetooth Version: Bluetooth 2.0, compatible with most devices
- Operating Voltage: 3.3V DC
- Serial Interface: RX/TX pins, default 9600 baud (configurable)
- Bluetooth Profile: SPP (Serial Port Profile)
- Pin Configuration: VCC, GND, RX, TX
- Range: Up to 10 meters (unobstructed)
Resources:
- Tutorials and example projects (not linked here)
Comparisons with HC-05:
- Pin Configuration: HC-06 (4 pins), HC-05 (6 pins with extra KEY and STATE)
- Master/Slave Role: HC-06 is slave-only; HC-05 supports master and slave roles
- Baud Rate: HC-06 default 9600, configurable; HC-05 supports 2400–115200 bps
- Power Consumption: HC-06 is low-power; HC-05 slightly higher