1. Introduction
The HiLetgo HC-06 is a wireless Bluetooth serial RF transceiver module designed for bi-directional serial data transmission. It operates in slave mode, allowing your device to send and receive TTL data wirelessly. This module is ideal for integrating Bluetooth functionality into various embedded projects, such as those involving Arduino microcontrollers, flight management controllers, and other systems requiring short-range wireless data communication.
Key Features:
- Operates in slave mode, pairing with master Bluetooth devices.
- Utilizes the HC-06 core module with VCC, GND, TXD, RXD pins.
- Features an LED indicator for Bluetooth connection status.
- Compact size with low power consumption.
- Bluetooth Version: V2.0+EDR.
- Host Interface: UART.
- Signal Coverage: Approximately 30 feet (10 meters).

Figure 1: The HiLetgo HC-06 Wireless Bluetooth Serial Transceiver Module. This image displays the compact module with its four pin headers for VCC, GND, TXD, and RXD connections.
2. Specifications
| Feature | Specification |
|---|---|
| Model | HC-06 |
| Bluetooth Version | V2.0 + EDR |
| Operating Voltage | 3.3V (Serial port level) |
| Host Interface | UART |
| Data Link Protocol | Bluetooth, USB (via adapter) |
| Data Transfer Rate | Up to 3 Megabits Per Second |
| Signal Coverage | Approximately 30 feet (10 meters) |
| Storage Temperature | -40℃ to +150℃ |
| Item Dimensions | 4.3 x 1.6 x 0.7 cm |
| Item Weight | 3 Grams (approx. 0.106 ounces) |
| Compatible Devices | Desktop, Laptop, Microcontrollers (e.g., Arduino) |
3. Pinout and Connections
The HC-06 module features a standard 4-pin interface for easy integration with microcontrollers. Understanding these pins is crucial for proper setup.
- VCC: Power supply input (typically 3.3V).
- GND: Ground connection.
- TXD: Transmit Data pin. Connects to the RXD pin of your microcontroller.
- RXD: Receive Data pin. Connects to the TXD pin of your microcontroller.

Figure 2: Pinout diagram for the HC-06 Bluetooth module. This diagram clearly labels the VCC, GND, TXD, and RXD pins, along with the LED indicator for connection status.

Figure 3: Bottom view of the HC-06 module, showing the pin labels and power input range (3.6V-6V for the module, but serial port level is 3.3V).
4. Setup and Operation
4.1 Power Requirements and Level Conversion
The HC-06 Bluetooth module's serial port operates at a 3.3V TTL level. If you are connecting the module to a 5V system, such as an Arduino Uno, it is essential to use a logic level converter or a voltage divider circuit for the RXD pin (data coming from the 5V microcontroller to the 3.3V module). Connecting a 5V signal directly to the module's RXD pin can damage it.

Figure 4: A voltage divider circuit diagram for connecting a 5V TTL output to the 3.3V RXD input of the HC-06 module. This ensures safe operation and prevents damage to the module.
4.2 Basic Connection Steps
- Connect the VCC pin of the HC-06 module to a 3.3V power supply (or 5V if the module has an onboard regulator, but ensure serial lines are 3.3V).
- Connect the GND pin to the ground of your system.
- Connect the TXD pin of the HC-06 module to the RXD pin of your microcontroller.
- Connect the RXD pin of the HC-06 module to the TXD pin of your microcontroller. If your microcontroller operates at 5V, use a logic level converter or voltage divider for this connection.
4.3 Pairing and Status Indicator
The HC-06 module operates in slave mode, meaning it waits for a master device (e.g., smartphone, computer, or another Bluetooth module configured as master) to initiate a connection. The onboard LED indicates the connection status:
- Flashing LED: The module is discoverable and waiting for a connection.
- Solid LED: The module is successfully connected to a master device.
To pair, search for Bluetooth devices on your master device. The HC-06 will typically appear with a default name like 'HC-06' or 'Hiletgo'. The default passcode for pairing is usually '1234' or '0000'.
5. Configuration
The HC-06 module can be configured using AT commands sent via a serial terminal. These commands allow you to change parameters such as the module's Bluetooth name, pairing passcode, and baud rate. Note that the HC-06 supports a subset of AT commands as it is a slave-only module.
Commonly configurable parameters include:
- Bluetooth Name: The name displayed when other devices search for the module.
- Passcode (PIN): The password required for pairing.
- Baud Rate: The serial communication speed (e.g., 9600, 115200). The default baud rate is typically 9600.
Specialized software tools may also be available to simplify the configuration process.

Figure 5: Screenshot of a typical configuration software interface for the HC-06 module. This software allows users to easily modify parameters such as Bluetooth name, baud rate, and PIN.
6. Important Considerations
To ensure optimal performance and longevity of your HC-06 module, please observe the following:
- Environmental Factors: Bluetooth signal strength can be significantly affected by surrounding obstacles such as trees, metals, and walls. These can cause signal absorption or shielding. Avoid installing the module inside metal enclosures.
- Antenna Placement: Metal objects can weaken the antenna's function. When designing a circuit board for the module, ensure that the area directly beneath the antenna is clear of copper traces or ground planes. It is best to hollow out this area to prevent interference.
- Power Supply: Always provide a stable and clean 3.3V power supply to the module. Incorrect voltage can lead to malfunction or permanent damage.
7. Troubleshooting
If you encounter issues with your HC-06 module, consider the following troubleshooting steps:
- Module Not Powering On: Verify that VCC and GND connections are correct and that the power supply is providing the correct voltage (3.3V).
- LED Not Flashing/Solid: If the LED is not flashing, the module may not be powered correctly or could be damaged. If it's flashing but not connecting, ensure your master device is searching and the pairing passcode is correct.
- Connection Issues: Check the distance between the module and the master device. Ensure there are no significant obstacles or metal enclosures interfering with the signal.
- No Data Transmission: Double-check your TXD/RXD connections. Ensure that the baud rates of the module and your microcontroller are matched. If using a 5V microcontroller, confirm that logic level conversion is correctly implemented for the RXD line.
- Incorrect Data: Verify baud rate settings and ensure proper wiring.
8. Support
For further technical assistance or inquiries regarding the HiLetgo HC-06 module, please refer to the following resources:
- Manufacturer: HiLetgo
- Online Resources: Search for 'HC-06 Arduino tutorial' or 'HC-06 AT commands' for community-driven guides and examples.
- Product Page: HiLetgo HC-06 Product Page
- HiLetgo Store: Visit the HiLetgo Store on Amazon





