Picture of how to Control arduino by bluetooth from (PC, pocket PC PDA)

I wanted to make it possible to control an arduino board from my phone.
So that I could control other devices.
the easiest way seemed to be using bluetooth.

but when I received the parts needed I found it want quite as simple as I had hoped.
And after looking on the Internet I didn't find much information to help.

so I have decided to write this guide to help other people that are thinking of doing the same thing. 

Step 1: Parts needed

Picture of Parts needed

1 arduino board ( I used the duemilanvoe 328)
1 bluetooth serial board ( I used the sparkfun bluesmirf)
some pieces of wire
1 led
A computer with bluetooth or a usb bluetooth adaptor.
A pocket PC with bluetooth

Software needed

the arduino enviroment software
and some serial terminal software ( I used putty)
sonic6563 years ago
Hi. Thx for your script! But it wasn't working for me for the first time. I used Bluetooth SPP, the best app i think, for android to play with Arduino nano serial port. I needed to edit your code. Now it works great!

My code:

char val; // variable to receive data from the serial port
int ledpin =13; // LED connected to pin 13 or onboard LED

void setup()
pinMode(ledpin, OUTPUT); // set ledpin as OUTPUT
Serial.begin(9600); // start serial communication at 115200bps


void loop() {
if( Serial.available() ) // if data is available to read
val = Serial.read(); // read serial and store it in 'val'

if((val == '0' ) || (val == 'off')) // if '0' or 'off' was received ledpin is switched off
digitalWrite(ledpin, LOW); // turn ledpin Off
Serial.println("ledpin off");

if((val == '1' ) || (val == 'on')) // if '1' or 'on' was received ledpin is switched on
digitalWrite(ledpin, HIGH); // turn ledpin ON
Serial.println("ledpin on");

Yes, you are right. I had trouble connecting using 115200 baud. Thanks for posting.

yusefHD4 months ago

Hey Simon,

The folks at Upverter made an infographic to help readers in finding a bluetooth module. This could be a useful resource for a future project!

You can find the link down below.

thebluesman007 made it!8 months ago

I used ArduDroid and the circuitry given on the website TechBitar.

Here is the video Link!


tanzimmubarrat11 months ago
Geniusdude3 years ago
So what is the exact voltage at the terminals for the LED? I'd like to know this before I build to see if it will work for my application, thanks!

2 year late reply, but if hopefully helpful to others reading this. The arduino works at a 5 volt logic level, meaning that if a pin is set to HIGH, or "on", it outputs +5 volts.

imadou19931 year ago


I am working on inte galileo compatible arduino board. And I want to command it using telnet (terminal). I succeeded at connecting my terminal to my board using telnet. But I want a program (instructions) to make my led turn on when I type the letter "Y" from my terminal. How can I make this work?


mmmatjaz1 year ago

The bluetooth module does not work with arduino micros's RX and TX pins, but I does work with software serial. Any advice on that, anyone? I can't use software serial as I need the PWM pins for other stuff...

smaw513 years ago
Check out http://beta.appinventor.mit.edu/ for an easy way to make an android app for use with your bluetooth communication arduino stuff. It is a pretty easy interface and free!
drmpf smaw512 years ago
If you don't want to do the Andriod programming,try my pfodApp. It handles all the Andriod side, You just code the Arduino device.

Think HTML replacement for micros. The Arduino is the micro-server and pfodApp is the micro-browser.

www.pfod.com.au has complete tutorial examples of controlling micro devices from Andriod with NO Android programming.
hectorbunny3 years ago
Very nice project, but I have a doubt, this can receive and transmit data at the same time? or you have to stop receiving data to send data from your PC
st_jimmy4 years ago
hi,thanks for the instructable first of all.
i need to ask a few questions about connecting hardware.
1)why do we need to connect cts1 and rts0 ports?
2)why do we need to connect Rx on Arduino with Tx on BlueSmirf, and Tx on Arduino with Rx on BlueSmirf?aren't they supposed to be reciprocal?

thanks in advance
the cts1 and rts0 mean clear to send and ready to send. they tell the bluetooth module you're ready to receive data and when you're ready to send data.

and the Rx means receiving communication Tx means sending. so the send of the bluetooth module goes to the receiving of the arduino and vice versa.
Today I was playing with my Arduino Uno and my old PocketPC (Dell Axim), I'm doing the same thing with a different approach: instead of using Putty, programming my Axim with Basic4PPC and I'm able to read/switch on/off any of the Arduino's digital pins, or read/write any of its analog pins. At first, I thought of using EVB (Embedded Visual Basic which I think is free) but handling bluetooth with it is very hard

Congratulations for your instructable and greetings from Spain.
agnivohneb3 years ago
I just ordered my bluetooth module and after I hit purchase I realized I have no idea how to use this thing. You tutorial helped a lot. I will give it a shot as soon as it arrives :)

Thanks +Fav
leee20113 years ago
Hi everyone, I bought a Bluetooth breakout from
Can this breakout be connected to my Duemilanove directly.
In my mind the arduino is 5V TTL logic, but the Bluetooth module is 3.3V TTL based.
Thanks in advance.
~REY~3 years ago
Very Cool! Great Instructable!
aegidos4 years ago
Hy Simon,

I like your post about the Bluetooth module.
Now I'm trying on my own to connect as you descibed in your howto using this module:


I connected TX to RX and RX to TX and the power supply as well GND and 5V.
Pairing works very well and the BT module indicates that connection was established, after typing the "password" 1234 in.

Now i have difficulties sending data "1" to switch the LED on. That does not work.
The only difference from my module compared to yours is that i haven't connected the KEY and the STATE connector. It is descibed in the datasheet on ebay that they are not necessarily needed.

If i open serial port monitor in Arduino SDK and sending any kind of data to the arduino via BT no RX light is flashing - that confuses me right now.

Any idea what's going wrong there?
Help would be highly appreciated.
Czayen aegidos3 years ago
Hi Andi,

I have just received my BT module (from the same auction) and it works perfectly.
The problem is with Simon's code. I have modified it slightly and it works ok.
Here is the code: http://pokazywarka.pl/dfdzc7/

vishalapr4 years ago
Will this USB transceiver work :


(My computer does have a bluetooth receiver 300 meters range)

Awaiting your reply...

This is a really cool instructable for people like me who are a bit ....
And one more question...
So we need to click enter after typing in (0 or 1 as in your program)

mitman934 years ago
Hello. I was wondering if it was possible to combine this with a usbhost shield? Do the two share any pins? And if so, would they interfere?

Thank you!
The usb shiekd doesn't use pins 0 and 1 (RX/TX) so it should be fine.) implementing code may be a little harder.
Magneto_Man4 years ago

Great! thanks a lot! I used a standard serial Bluetooth adapter module and it works perfectly! :-)
Tchnclfl5 years ago
You really shouldn't connect an LED like that without some form of resistor...Red LEDS, for example, are only supposed to run at about 2.5 volts MAX, and you're running 5v through that one.
Oxide Tchnclfl4 years ago
Pin 13 has an internal pull-up resistor: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1251513531/2
simon72post (author)  Tchnclfl5 years ago
Hi I agree with your comment about not connecting an led to a 5V supply with out a current limiting resistor.
But if you read the documentation on the arduino board there is a current limiting resistor on pin 13 for this purpose.

doby1625 years ago
this looks awsome! i currently have other projects going(which i plan to submit to instructables) but after them i might try to built a bluetooth controled robot. what kind of range do you get off that thing anyway? if i could controll the robot though out my house than that would be good enuf for me. also were would you get a bluetooth receiver? also some red leds wont even light off 2.5 volts, they very alot. ive even run one off a nine volt with no problem. ovcourse it was only producing 7 volts at the time...
How would this work if I wanted to connect a wireless handheld controller to an 7 1/2" gauge locomotive and run it remotely? The current set up is too cumbersome with the cable and if track operations dictate the need to do some switching of cars on the track, walking alongside the locomotive gets to be a pain, especially with scenery and other trains.
benjgvps5 years ago
 It's that easy to use a bluetooth module? I think I may build my own bluetooth adapter for my Palm M500 using the serial pins on the cradle adapter. This may end up being cheaper than the hard-to-find-in-canada SDIO Bluetooth adapter.
 Very Cool! Great Instructable!
Rorymi65 years ago

Very interesting, might give this a go. I assume this a BlueSMiRF Gold?