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
- Power the module from the supply it is rated for. Most modules accept 3.6 V to 6 V on VCC.
- Pair from the phone settings using 1234, or 0000 if that fails.
- Open a Bluetooth serial terminal app, connect, and send text.
- Match the sketch baud rate to the module (9600 is common).
- 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.
- 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 see | Do this |
|---|---|
| Phone pairs, no data | Baud mismatch or lines not crossed. |
| Cannot pair at all | Check power and try the other PIN. |
Confirm the fix
- Pair the phone with PIN 1234 from its Bluetooth settings, then confirm a paired device name appears; if pairing fails, try 0000.
- Send a short word from the phone and check that the sketch echoes it back, using SoftwareSerial at 9600 baud.
- 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.
Related
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.