Skip to content
Bluetooth

HC-05 Bluetooth Module

Classic Bluetooth serial module supporting both master and slave modes — great for wireless UART links.

A classic Bluetooth SPP module that can act as either master or slave, widely used for wireless serial links to phones and PCs. The HC-05 implements the Bluetooth Serial Port Profile (SPP), essentially turning a Bluetooth connection into a transparent wireless replacement for a wired UART cable — pair it with a phone or PC, and any bytes sent to its RX pin appear on the other device's Bluetooth serial terminal and vice versa, making it the long-standing default for wireless Arduino projects, Bluetooth-controlled robots, and simple phone-app-to-microcontroller links.

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 supportConfigurable as master or slave via AT commands — HC-06 (a related module) is slave-only
Range~10m typical (Class 2 Bluetooth radio)
ProfileSerial Port Profile (SPP) — transparent wireless UART bridge
Default baud rate9600 baud in data mode (configurable via AT commands in command mode)
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)
5KEY / EN (AT mode)Pulling HIGH (often before power-up) puts the module into AT command configuration mode instead of normal data mode
6STATEIndicates connection status — HIGH when a Bluetooth link is actively connected

The HC-05's RX pin is 3.3V logic and not reliably 5V-tolerant on most boards, so a voltage divider or logic-level shifter should be used when connecting to a 5V Arduino's TX pin to avoid long-term damage. To reconfigure settings (name, pairing PIN, baud rate, master/slave role) via AT commands, the KEY/EN pin typically needs to be held HIGH during power-up to enter command mode rather than normal transparent data mode.

Variants

Choose the HC-05 when the project needs to actively initiate a Bluetooth connection (master mode) — for example, connecting to another Bluetooth serial device without a phone in the loop. If the module will only ever be connected to (like a phone pairing to it), the cheaper slave-only HC-06 is sufficient; for iOS compatibility or modern BLE-based mobile apps, look at an HM-10 style BLE module instead since HC-05/06 are Classic Bluetooth only and not supported by iOS apps.

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