- August 31, 2013: I have published a guide on how to modify the default settings for the HC-05 module.
- July 5, 2013: Please see my other guide on Controlling Arduino with Android over Bluetooth
In the guide, I will explain how I managed to send data back and forth between a PC and Arduino via a cheap Bluetooth HC-05 transceiver, which can be found for less than $10 on ebay with the breakout board. The version I have used in this project does not have a breakout board so it's little cheaper but more difficult to solder. I strongly recommend buying the module with the breakout board. This Bluetooth transceiver basically acts as a generic serial COM port.
The PC to Arduino Bluetooth serial connection can be useful in many applications such as controlling servos, motors, and writing to LCDs. The Arduino to PC connection can be useful in applications where the Arduino reads sensors then pass their values via serial Bluetooth to a PC for processing. The distance for this transceiver is about 30 feet or so but it really depends on many other variables. This is ideal for indoors projects.
The only downside of this cheap Bluetooth transceiver is the absence of headers which means you have to solder at least 4 wires. Then there's the absence of power LED as well as no TX/RX LEDs. I did not consider these features a necessity but some of you might want to pay more and get an enhanced version of this transceiver with all of these features.
The Bluetooth serial module I bought has the following specs:
-- Default COM setting: 9600, N, 8,1
-- Default Password/pairing code: 1234.
-- Supports the AT command to modify the baud rate, device name, passkey, master/slave, etc.
-- Supports baud rates 2400 -1382400.
-- Based on the CSR Bluetooth chip BC417143
-- Bluetooth specification v2.0 + EDR
-- Power supply: +3.3VDC 50mA
-- Frequency: 2.4GHz ISM band
-- Modulation: GFSK(Gaussian Frequency Shift Keying)
-- Emission power: ≤4dBm, Class 2
-- Sensitivity: ≤-84dBm at 0.1% BER
-- Speed: Asynchronous: 2.1Mbps(Max) / 160 kbps, Synchronous: 1Mbps/1Mbps
-- Security: Authentication and encryption
-- Size: 26.9mm x 13mm x 2.2 mm.
-- Working temperature: -20 ~ +75 Centigrade
-- Dimension: 26.9mm x 13mm x 2.2 mm
During my research, I have benefited from many projects on this and related topics. I have listed them in the references section.
1) In a previous project, I used a Pololu Wixel and an Arduino to control a robot remotely from a PC terminal. Here, I will show similar data exchange functionality but without the robot.
2) I also hacked the RF system of cheap wireless car toy and used the Arduino to transmit signals.