The HC-05 is a Bluetooth to serial converter that connects microcontrollers to other devices and allows them to communicate wirelessly. In this article, we explain how the module works, what you need to know to use one in your projects safely, and discuss operating basics.
About the HC-05
The HC-05 is a Bluetooth module that connects to the serial port of a microcontroller, which allows the microcontroller to communicate with other devices over a Bluetooth connection. The module itself can run in both master and slave mode and can be used in various applications, for example, smart home applications, remote controls, data logging applications, robotics, monitoring systems, and more.
The module is readily available as a finished breakout board (as well as without the breakout board) that connects to existing projects via a standard serial connection. A variety of suppliers carry the module and, no matter where you get the module from, it should be fully compatible.
- Length: 28 mm (1 in)
- Width: 15 mm (⅔ in)
- Height: 2.35 mm (0.1 in)
- Typical price: Around 8$
- Supply voltage: 3.3V to 6.0V
- Operating voltages: 3.3V (all other pins, except VCC)
- Working current: 30mA
- Operating range: max. 10m (33 ft)
- Default password: 0000 or 1234 (depends on model/manufacturer)
- Supported baud rate: 9600,19200,38400,57600,115200,230400,460800
- Follows IEEE 802.15.1
Principle of Operation
As described above, the main job of the HC-05 is adding two way (full-duplex) wireless functionality to your projects. It can be used to communicate between two microcontrollers with serial capabilities (like two Arduinos), but it can also be used to control any Bluetooth device with a microcontroller or vice versa.
The HC-05 gets controlled via the TX and RX pins and supports the use of standard AT commands. For that purpose, users must enter a special command mode when the device powers up. This is done by pulling the key pin low when turning the module on. Otherwise, the device boots into data mode, which allows it to communicate with other devices wirelessly.
As soon as the module powers on, it should be discoverable by any Bluetooth device, for example, a smartphone. You can then connect to the device with the standard password. Upon establishing the connection, data transmits and converts to a serial stream by the HC-05. This serial stream is then read by the microcontroller the module is connected to. Sending data from the microcontroller works the opposite way.
There are many datasheets available on the internet. However, I found these to be the most helpful and the ones that contained the most information:
Projects That Use the HC-05
- LED Blinking Using HC-05
- Bluetooth Basics: How to Control an LED Using a Smartphone and Arduino
- Home Automation System Using a Simple Android App
- How To Build a Bluetooth-Enabled Radar Detector With Arduino
Cover image courtesy of Odd Wires.