Skip to content
Bluetooth

HC-06 Bluetooth Module

Slave-only Bluetooth serial module — simpler and cheaper than HC-05 for one-way connections.

A slave-only Bluetooth serial module — simpler and cheaper than the HC-05 for projects that only need to be connected to, not initiate connections. Like the HC-05, the HC-06 implements the Bluetooth Serial Port Profile (SPP), transparently forwarding UART bytes over a Bluetooth link, but it's factory-locked to slave mode only, meaning it can be discovered and connected to by a phone or PC but can't initiate a connection to another Bluetooth device itself — a perfectly good tradeoff for the very common case of a phone app talking to an Arduino project.

Specifications

Bluetooth versionBluetooth 2.0 + EDR (Classic Bluetooth, not BLE)
Operating voltage3.3V DC logic (module often includes an onboard regulator accepting 3.6V-6V supply)
Operating current~30-40 mA typical during active connection
Role supportSlave mode only — cannot initiate connections to other Bluetooth devices, only accepts incoming pairing requests
Range~10m typical (Class 2 Bluetooth radio)
ProfileSerial Port Profile (SPP) — transparent wireless UART bridge
Default baud rate9600 baud (some AT-command configuration available, more limited than the HC-05's command set)
InterfaceUART (TX/RX) to the host microcontroller

Pinout

PinNameDescription
1VCCPower, 3.6-6V DC (breakout boards regulate down to the 3.3V logic level internally)
2GNDGround
3TXUART transmit — connect to microcontroller RX
4RXUART receive — connect to microcontroller TX (3.3V logic, use a voltage divider from 5V boards)
5STATEIndicates connection status on some breakout variants — HIGH when a Bluetooth link is actively connected

The HC-06's RX pin is 3.3V logic, so use a voltage divider or level shifter when wiring to a 5V Arduino's TX pin. Because it lacks a KEY/EN pin for entering a distinct command mode like the HC-05, its AT command set for renaming or changing the pairing PIN is typically issued directly over the same UART connection while unpaired — check your specific module's documentation for the exact procedure.

Variants

The HC-06 is the right, cheaper choice whenever the project simply needs to be discovered and connected to by a phone app or PC terminal. Only step up to the HC-05 if the project itself needs to actively initiate a Bluetooth connection to another device.

VariantTemp rangeHum rangeAccuracyProtocolPrice
HC-06 (slave only)~$2-4
HC-05 (master/slave configurable)~$3-6
HM-10 / generic BLE module~$3-6