An HC-05 module has a command mode for configuration and a data mode for transparent serial communication. To link two modules automatically, configure one as a slave and the other as a master bound to the slave’s address.
HC-05 breakout boards vary. Confirm the board’s supply input, logic levels, KEY/EN pin behavior, AT-mode baud rate, and firmware command set before wiring. The module’s UART logic is typically 3.3 V; protect its RX input when the controller transmits 5 V logic.
Configure the slave
Enter full AT mode according to the board documentation, open a serial terminal with the required line ending, and verify communication:
1 | AT |
Record the returned Bluetooth address. Command punctuation differs between firmware variants.
Configure the master
Reset the second module and set master behavior:
1 | AT |
Some firmware expects commas instead of colons in the bound address. Use AT+VERSION? and the module’s matching command manual rather than assuming every clone behaves identically.
Test data mode
Power-cycle both boards without the AT-mode condition. Their status LEDs should eventually indicate a link. Connect each UART to a separate serial terminal at the configured data baud rate; bytes typed on one side should appear on the other.
If pairing fails, check shared ground, TX/RX crossover, logic voltage, matching baud settings, slave address syntax, PIN, master connection mode, and adequate power. HC-05 implements Bluetooth Classic serial-port behavior, not BLE, and support on phones—especially iOS—depends on the intended profile and platform policy.