Picture of Arduino AND Bluetooth HC-05 Connecting easily

Hello Every body , This is my first artical on , I'm so happy for that , and I will start by How to connect arduino with bluetooth , I suffered a lot of problems when I try to connect it as the website and instructable artical did , So i decided To share my experience with You

The bluetooth module I will use today is HC-05 which is so familiar and cheap ,

Most tutorial on The website Connect the bluetooth with default Rx and Tx on the arduino Board , I faced a lot of problem and bluetooth didn't work will .

But arduino  support something Called Software Serial , which allow You to change any arduino board pin to serial pin

so After reading this article you will be able to:

1) Connect arduino Board with PC By Bluetooth , to send and receive data .
2)Connect arduino Board with Any android device .

so you can send your information , Like Sensors reading , from arduino to PC Or android device , and you can build your Home automation system by bluetooth , and controlling your robot wirelessly

Remove these adsRemove these ads by Signing Up

Step 1: Material and connection

you need to do this experiment :

1) Arduino Board " I used Arduino Uno ".
2) Bluetooth module HC-05.
3)Solderless jumper.
4)Bread Board .
5)Battery 9V "Optional".

The connction between  Arduino and bluetooth is like the schematic above 

sunxing221 year ago
well done , thanks for this tutorial
please do not forget to post this tutorial in your blog in Arabic :)
returner6 days ago

Hi, i have a question and i hope you guys can help me with this. how does the arduino actually know actually know which data it is going to send or receive? in which part of the code does it do that? i want to make two arduinos one having a HC05 as a master sending data over to a HC06 slave on two different laptops. I hope you can answer me.

mayankt2815 days ago

No such app exists(android app) please update your link

dilushan20 days ago

Since app mentioned author not existed i tried bluetooth terminal app. It's working without any issue. U need to pair the HC-05 before using application

dilushan20 days ago

I had issue before and i fixed it. For anyone who having the same issue. My board is Mega 2560. I'm in windows 8.1 and COM15 was the outgoing port in my case. When I try to connect it using teraterm it always complained "can't connect to COM15". I supplied 5V to the HC-05 before. When i changed it 3.3V voltage suddenely it begin to work. After that i switched back to 5V and its also working. Still i don't have any idea what happen before

ayushi1231 month ago

after following this instructable, things went out so easily! thanku very much! I made it succesfully. :)

MonaE1 month ago

the application is no longer available on the play store page .. please , put it back , i neeeeeeed it urgently !

thebluesman007 made it!1 month ago

lavanyaes1 month ago


I need to interface the arduino with smart phone instead of PC. Please suggest ways for mobile interface of arduino. Thank you

insanerish1 month ago
Anuj FALCON1 month ago

IT worked and its toooooooooooooooooooooooo simple

Tres bien

santan00710 months ago

Done the connections in exactly the same manner, also used the same sketch, still doesnt work for me. Neither with android nor TeraTerm.
Please help. What could be the possible problem?

kasisnu santan0076 months ago

Did you figure out what was wrong?

loulaw12 kasisnu4 months ago

I am having the same problem . Can't get any thing to show on the TeraTerm and the 1 or 0 command doesn't do anything

kasisnu loulaw122 months ago

Try following along with the tutorial by GreatSott! on Youtube. I found it extremely useful!

antixmehra2 months ago

Thank you SO MUCH for this tutorial. I am using a Mac, so the procedure was a bit different.

You don't need Tera Term

1. Simply pair your device using the bluetooth icon, the sensor is detected as HC-05, and the passcode is 1234 (note: the connection might or might now work, and sometimes takes many tries. Sorry, but I really have no idea why).

2. Make sure your arduino is NOT connected using the USB cable. Press upload, and it will give you the option of /dev/tty.HC-05-DevB (In my Mac, it shows 0-9, pick the lowest one). Your program will now be uploaded normally.

3. Open the Serial monitor and type 1 or 0 in the textbox next to send, right at the top. Sending 1 turns on the LED on pin 13, Sending 0 turns it off.

Once again, thank you very much for this instructive and coherent tutorial!



cureinside3 months ago

Nice project. now i heave several question, hope you can help

1. will it work if i used atmega8525 instead of arduino kit|

2. do i need level converter module? or can i just use simple voltage divider to make it 3.3v for hc-05 vcc? because from what i read, it supplied with 3.3V vcc.

thanks :)

loulaw124 months ago

Very nice tutorial. I set my Arduino and HC-05 up exactly as you described. I ran a simple sketch that writes numbers to the monitor via Serial write. It works just fine when I use the USB connection and the Arduino serial monitor, but when I try the Teraterm via the bluetooth the page stays blank. The HC-05 seems to connect just fine and the bluetooth com port listed is com 5. I also tried it on the Arduino IDE using com 5 to the serial monitor and nothing happens. Any suggestions of how to get the Tera Term to display the Arduino messages?

I tried your sketch also, but the same results


tym3k5 months ago

Thank you very much! Now my bluetooth module finally works!

zx lee1 year ago

For HC05 there are 6 pins, state, Rx, Tx, GND, Vcc and EN. I just need to connect 4 (Rx, Tx, GND, Vcc) to interface with Arduino?

tym3k zx lee5 months ago

Yes, you need only those 4 pins.

Miykoll made it!5 months ago

Great tutorial. Followed some other tutorials, but didn't get the communication working. Thanks man, you made my day :D

engereggae9 months ago

see my project with interface Serial arduino bluetooth android:

is it necessary to use a max 232 to interface it with atmega 16?

Is there any problem with linking the vcc to the microcontroller's vcc, generally 5V, any consideration for current if needed? I dont know y but 3 of modules that i used after a few use got dead?

ehmedat10 months ago

If allowed possible code transmitter via Bluetooth

santan00710 months ago

Done the connections in exactly the same manner, also used the same sketch, still doesnt work for me. Neither with android nor TeraTerm.
Please help. What could be the possible problem?

Goines1 year ago

Great tutorial, definitely helped get my HC-05 working.

One question though; how do you get Windows to auto-reconnect to it? Once the power goes off on my HC-05 I have to delete the device and rediscover it. It seems that Windows doesn't want to repair with it. Are other devices different in this regard?

Thanks a lot

morinel1 year ago
Hi again, when I trying step 2, Why I faced this screen on TERA TERM: What should ó is?What is the meaning?
morinel1 year ago
Hi, While I am using this instructions, I faced an error. There is nothing on my TERA TERM screen, even though I connected my bluetooth module successfully. In the video, how can you see the writes:"Bluetooth On please press 1 or 0 blink LED" I can't see this sentence on my TERA TERM? Where is my faulty?
abharath1 year ago
A beautiful work sir! thank you ..and all the best!
GeekLite1 year ago
This Instructable by A1R published in 2011 shows the proper way of wiring the same project to the same Bluetooth module to avoid any potential 3.3V problems.
imjosh1 year ago
Mohannad, I think I know what you're talking about with the 3.3v. Are you using HC-05 and Nokia modules off ebay? These seem to come with more components than the sparkfun etc versions and claim to be 5v tolerant. I wasn't sure on the Nokia based on a lot of different forums, it's very 5v intolerant. But, it didn't work correctly when I ran it on 3.3v but worked fine on 5v. I think (and I'm guessing a bit) this is caused by one of two possible problems 1) The arduino's 3.3v rail can't supply enough current or 2) The breakout circuit allows 5v logic only with 5v supply- that is if you supply 3.3v to vcc, but use 5v logic it doesn't work. But, I dunno.

Also, I found w/ an ebay/chinese hc-05 breakout didn't work when connected to the hardware serial (rx/tx) but worked fine when I tried softwareserial on some digital pins. I wish I understood why. I was supplying power via usb, so I'm not sure if that had something to do w/ it either hooking the uart to the usb cable? or what. I wasn't running the serial monitor or anything, just using the usb power.

hackmack981 year ago
Mohannad, You got it wrong. A 10K ohm resistor in series with Tx and Rx will not shift or drop the voltage to 3.3V as you proposed in your comment. Resistors in series only limit the current but not the voltage. You can use resistors in a voltage divider to drop the voltage.
pictux1 year ago
hi, here:
there's a complete guide (in italian) to use HC-05 and HC-06 bt module (without breakout board) , from hardware connections to AT programming to serial communication.

And about Arduino TX -> BT module RX, you need a voltage divider or a simple 2k2 resistor in series.
Mohannad Rawashdeh (author) 1 year ago
this module comes with breakout which is have 3.3 regulator , so you can power it on from 3.3 or 5V , iif you operate the HC05 Breakout on 3.3V it will doesn't work probely why ?
For shift level problem , a 10k ohm resistor connected in series with Tx and Rx .

same problem I faced with LCD Nokia5110, It's also works on 3.3V and arduino Uno support 5V Logic level , look how sparkFun electronics solve this issue
the Chines LCD nokia5110 works on 5V for same thing , 10K ohm pull up resistor .

Hope If i said something wrong told me about please , thank you so much .
Mohannad Rawashdeh (author) 1 year ago
sunxing22 : Sure i will , thank you
JimElectro1 year ago
It's a big mistake to operate the HC-05 without dropping the Arduino's 5V TX signal to 3.3V. This Bluetooth module may work for a while but eventually will malfunction. You are confusing the the 3.3V regulator on the breakout board with circuit wide 5V to 3.3V conversion which does not exist. the HC-05 is not 5V tolerant. The Arduino can handle the 3.3V signal from the HC-05 but the HC-05 cannot handle Arduino's TX 5V simply because it was not designed for 5V. This maybe the easy way to wire it but it's not a sound engineering practice.