HC-06 Pinout, specifications, datasheet and Arduino connection

Last updated on March 26th, 2024 at 05:54 pm

The HC-06 is a class-2 slave Bluetooth module designed to enable wireless serial communication between microcontrollers (like Arduino) and other Bluetooth-enabled devices. HC-06 pinout and specifications are given below.

HC-06 pinout with description

HC06 is a slave Bluetooth device that offers serial communication (UART). Hence, a master is required to establish a successful wireless interface. The module has only communication and power pins. Please note that some HC-06 modules may have 6 pins. But only 4 of them are used.

HC-06 Pinout
HC-06 Pinout
PIN NO.Pin NameDescription
1.VCCUsed to power the module. Connect it to a 3.3V pin of the microcontroller.
2.GNDConnect this pin to the common ground of the circuit.
3.TXDConnect this pin with the RXD pin of the Microcontroller. This pin transmits Serial data (wireless signals received by the Bluetooth module are converted by module and transmitted out serially on this pin)
4.RXDConnect this pin to the TXD pin of the Microcontroller. The HC-05 Bluetooth module receives the data from this pin and then transmits it wirelessly.

HC-06 specifications

  • Bluetooth protocol:  Bluetooth 2.0+ EDR standard
  • USB protocol:  USB v1.1/2.0
  • Operating frequency:   2.4GHz ISM frequency band
  • Modulation mode:   Gauss Frequency Shift Keying
  • Transmit power:   ≤ 4dBm
  • Sensitivity:   ≤-84dBm at 0.1% Bit Error Rate
  • Transmission speed:   2.1Mbps(Max)/160 kbps(Asynchronous); 1Mbps/1Mbps(Synchronous)
  • Safety feature:   Authentication and encryption
  • Supported configuration:   Bluetooth serial port (major and minor)
  • Supply Voltage:   +3.3 VDC 50mA
  • Operating temperature:   -20 to 55℃
  • Size:   36.5*16mm
  • Weight:   4g

**HC-05 Pinout and specifications

HC-06 bluetooth module datasheet

Download the full datasheet from this link: HC-06 Datasheet

Introduction to HC-06 bluetooth module

The HC-06 is a class-2 slave Bluetooth module. It is designed to enable wireless serial communication between microcontrollers (like Arduino) and other Bluetooth-enabled devices.

HC-06 Bluetooth Module
HC-06 Bluetooth Module

All data received through the serial input is immediately transmitted wirelessly by the module. And when the module receives some wireless data from the master device (like a smartphone ), this data is sent out through the serial interface.

The HC-06 operating voltage is between 3.3V to 5V. However, the tolerance level of RXD pin is 3.3V and not 5V.  Hence, a Logic Level Converter is recommended to convert the 5v input to 3.3V.

HC-05 Breakout board pinout

HC-06 Breakout Board pinout
HC-06 Breakout Board pinout


PIN NamePINPad typeDescription
GND13 21 22VSSGround pot
1V814VDDIntegrated 1.8V (+) supply with an on-chip linear regulator output within the range of 1.7V-1.9V
AIO09Bi-DirectionalProgrammable input/output line
AIO110Bi-DirectionalProgrammable input/output line
PIO023Bi-Directional RX ENProgrammable input/output line, control output for LNA(if fitted)
PIO124Bi-Directional TX ENProgrammable input/output line, control output for PA(if fitted)
PIO225Bi-DirectionalProgrammable input/output line
PIO326Bi-DirectionalProgrammable input/output line
PIO4 27Bi-DirectionalProgrammable input/output line
PIO528Bi-DirectionalProgrammable input/output line
PIO629Bi-DirectionalProgrammable input/output line CLK_REQ
PIO730Bi-DirectionalProgrammable input/output line CLK_OUT
PIO831Bi-DirectionalProgrammable input/output line
PIO932Bi-DirectionalProgrammable input/output line
PIO1033Bi-DirectionalProgrammable input/output line
PIO1134Bi-DirectionalProgrammable input/output line
RESET11CMOS (Complementary-metal-oxide-semiconductor) Input with weak internal pull-down 
UART_RTS4CMOS (Complementary metal-oxide-semiconductor) output, tri-stable with weak internal pull-upUART request to send, active low
UART_CTS3CMOS input with weak internal pull-downUART clear to send, active low
UART_RX2CMOS (Complementary metal-oxide-semiconductor) input with weak internal pull-down UART Data input 
UART_TX1CMOS output, Tri-stable with weak internal pull-upUART Data output
SPI_MOSI17CMOS input with weak internal pull-downSerial peripheral interface data input
SPI_CSB16CMOS input with weak internal pull-upThe chip select for the serial peripheral interface, active zero
SPI_CLK 19CMOS input with weak internal pull-downThe serial peripheral interface clock
SPI_MISO18CMOS input with weak internal pull-downSerial peripheral interface data Output
1.8V141.8Vexternal power supply input
PCM_OUT6CMOS output 


HC-06 Arduino connections

HC-06 Arduino Connections
HC-06 Arduino Connections

Image Source: Hackster

In this project, an LED is controlled using a smartphone via Bluetooth. HC-06 Bluetooth module receives the commands from the smartphone via Bluetooth signals. These commands are then processed by the Arduino UNO to control the LED connected to one of its digital I/O pins.

**For full project details, click here: Control LED with Bluetooth



  • HC-06 is a class Bluetooth module, that can be used in different electronic devices such as a mobile, laptop, personal computer, etc.
  • It can also be used in different industrial projects for sending and receiving data.
  • Different robotics projects.
  • Mobile phone wireless accessories.

Read a similar article on HC-05 Bluetooth Module:
HC-05 pinout, specifications, datasheet, and Arduino Connections.

Photo of author

Ankit Negi

I am an electrical engineer by profession who loves to tinker with electronic devices and gadgets and have been doing so for over six years now. During this period, I have made many projects and helped thousands of students through my blog and YouTube videos. I am active on Linkedin.

Leave a Comment