HC-06 Bluetooth pairing: default PIN 1234 and baud 9600

HC-06 modules are commonly sold with PIN 1234 and a serial rate of 9600 baud. Some batches use 0000, so try both.

What the message means

The module is a Bluetooth serial bridge. Your phone pairs with it, and then the data appears on the TX and RX pins at the module baud rate.

Fix it in this order

  1. Power the module from the supply it is rated for. Most modules accept 3.6 V to 6 V on VCC.
  2. Pair from the phone settings using 1234, or 0000 if that fails.
  3. Open a Bluetooth serial terminal app, connect, and send text.
  4. Match the sketch baud rate to the module (9600 is common).
  5. Cross the lines: module TX to board RX, module RX to board TX. Use a divider or level shifter on the module RX line from a 5 V board.
  6. Disconnect the module from pins 0 and 1 while uploading on an Uno.

Why it happens

The HC-06 is a Bluetooth serial bridge. Whatever arrives over Bluetooth comes out of its TX pin as a plain serial stream, and whatever enters its RX pin is sent to the paired phone. Pairing uses a PIN that the module ships with, and many units use 1234 while some use 0000. Pairing is a Bluetooth step, separate from the serial link, so a correct PIN still gives no data if the serial settings are wrong.

Serial links only work when both ends agree on speed, framing, and direction. The module’s baud rate is a stored setting, and the common factory value is 9600, but it can be changed with AT commands. Transmit must cross to receive: the module TX goes to the board RX, and the module RX goes to the board TX. The HC-06 RX input is 3.3 V logic, so a 5 V Arduino line needs a divider or level shifter.

If you see this, do this

You seeDo this
Phone pairs, no dataBaud mismatch or lines not crossed.
Cannot pair at allCheck power and try the other PIN.

Confirm the fix

  1. Pair the phone with PIN 1234 from its Bluetooth settings, then confirm a paired device name appears; if pairing fails, try 0000.
  2. Send a short word from the phone and check that the sketch echoes it back, using SoftwareSerial at 9600 baud.
  3. Print each incoming byte with the sketch running and confirm the characters match the phone’s text; garbled output points to a baud mismatch.

Common mistake: Many readers assume a paired HC-06 is ready to exchange data, but a successful Bluetooth pairing says nothing about the baud rate or the TX and RX wiring.

HC-05 no response, serial garbage.

Last reviewed: November 2026. These are the usual causes and the order that finds them fastest. Test on your own board; clones and cables differ.