I'm a beginner to microcontrollers and electronics, albeit not really to computers and programming.

Starting out with the Arduino, I came to a point whereby I'm really interested in getting my prototype to talk to a mobile device or a computer to send and receive data (for example, send sensor data or receive commands).

Looking out, I've found out that there are different bluetooth modules with varying pricing points. Further research into differences did not reveal much to me as being a beginner, I am struggling to understand what to look out for or how to choose.

My question here is:

What are the fundemental differences of different Bluetooth modules for beginners, such as:

  • HC-05
  • HC-06
  • HC-07

And what should one look for when buying a simple Bluetooth module for Arduino?

2 Answers 2


As far as simplicity is concerned, HC05 would be the way to go. It is by far the most popular and there are a tonne of tutorials on using it (just a quick google search). As for the differences:

  • The HC-05 module can build a connection to other modules. E.g. a Robot being a master and connecting to slave bluetooth module. Or in slave mode to make a wireless bridge to a notebook.

  • The HC-06 module only can be a slave. This makes it only useful for say connecting a notebook as a master to a robot with a slave module e.g. for a wireless serial bridge.

  • As for the HC07, support seems low so I would recommend sticking with HC05 or HC06

At the end of the day it comes down to your requirements. If you are only wanting to talk between the phone and your arduino than the HC06 would work fine, however if at some point in time you want to talk to another arduino, than hc05 would be the way to go.

  • Thanks Caleb, great answer! Do you have experience on Xbee BT modules?
    – Phil
    Commented Dec 17, 2014 at 19:59

I don't really know the differences but I've used the HC-06 modules. They are slave-mode only but that is what you need to replace a hard-wired terminal to your Arduino, such as your PC and and a USB cable, with a Bluetooth terminal. That probably covers 99% of cases where an Arduino or other MCU-based device needs to communicate to a PC or tablet that already has Bluetooth built in. For device to device communication, one of them would have to be a master, and I think that requires an HC-05.

  • Thanks @JRobert! Didn't know it was possible, very cool! Are you using your HC-05 to upload sketches, AND share data during operation (such as sensor info)?
    – Phil
    Commented Dec 17, 2014 at 19:59
  • The hc05 is master and slave, hc06 is only slave. The only real difference is the firmware which can be flashed, but not an easy task for a beginner. Commented Dec 17, 2014 at 19:59
  • Yes, I have uploaded sketches but it was too painfully slow to pursue it. But yes, these are designed as drop-in replacements for a wired terminal. @CalebBramwell - thank you for clearing that up. I haven't played with the different HC-0x variants yet.
    – JRobert
    Commented Dec 17, 2014 at 21:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.