Introduction: Program Your Arduino With an Android Device Over Bluetooth

Picture of Program Your Arduino With an Android Device Over Bluetooth

Hello world, in this Instructable I want to show you, how to program your Arduino Uno with your Android device over Bluetooth. It is very simple and so cheap. Also it allows us to program our Arduino where ever we want over wireless bluetooth... So lets get started! :)

Step 1: Materials and Tools

Picture of Materials and Tools

Hardware :

  • Arduino Uno
  • Bluetooth HC-05 module
  • Mini breadboard
  • Capacitor 1uf/16v (elco)
  • Reasisor 100 ohm
  • 5 pcs x Jumper wires
  • USB cable
  • Android device with Android 4.0.0+ (Bluetooth available)
  • Laptop/PC

Software :

  • Bluino Loader from the Google Play store

Step 2: Program Your Arduino Using Laptop/PC

Picture of Program Your Arduino Using Laptop/PC

Start by copying the code from text box below.
Then, copy and paste the code into the Arduino IDE editor. Compile. Upload.

This code contains several functions to change the parameters of Bluetooth HC-05 :

  • AT+NAME=Bluino#00 : Change name of bluetooth module, default name is "HC-05".
  • AT+BAUD=115200,0,0 : Change baud rate to 115200 (Arduino Uno, Bluino and Mega2560)
  • AT+BAUD=57600,0,0 : Change baud rate to 57600 (Arduino Nano, Leonardo, Micro, Pro Mini 3V3/5V and Duemilanove)
  • AT+POLAR=1,0 : Change state pin conditio
  • For additional you can change password to use not standard password while pairing, AT+PSWD=xxxx.

Name of bluetooth must "Bluino#00-9999", if you want custom name you should use the paid version of Bluino Loader App.

void setup() {
  Serial.begin(38400);
  delay(500);   
  Serial.println("AT+NAME=Bluino#00");
  delay(500);
  Serial.println("AT+UART=115200,0,0"); // Use this baudrate if using for Arduino Uno, Bluino and Mega2560
//Serial.println("AT+UART=57600,0,0");  // Use this baudrate if using for Arduino Nano, Leonardo, Micro, Pro Mini 3V3/5V and Duemilanove
  delay(500);
  Serial.println("AT+POLAR=1,0")
  delay(500);
}

void loop() {
}     

Step 3: Hook Up Like Schematic

Picture of Hook Up Like Schematic

Following the above image, the layout is relatively simple.

If you want you can replace breadboard with PCB prototype board with some soldering work, so you get small size or like shield for Arduino.

Step 4: Time to Setup Bluetooth HC-05

Picture of Time to Setup Bluetooth HC-05

Basically in this step how to setup HC-05 over At command, with following this step you will set HC-05 to some parameters.

In step 2 you have upload sketch to Arduino, in that code have Serial function to communicate over pin RX/TX (D0/D1), which is when you connect to HC-05 pin RX/TX is will force setup HC-05 on At command mode. Just follow step like on pictures.



• Press and hold KEY button
• Plug USB cable for powering Arduino
• Wait about 5 second (still hold KEY button)
• Unplug and re plug USB for reset from AT command mode


Step 5: Install Application Bluino Loader From Googleplay Store

Picture of Install Application Bluino Loader From Googleplay Store

Okay, the first app I want to show you is "Bluino Loader", for Andorid 4.0 or higher with available bluetooth connection. You can get from googleplay store :

Bluino Loader - Arduino IDE or Pro version to support developer Bluino Loader Pro - Arduino IDE

This app is for working with the Arduino Uno, you can write, edit and upload sketches to Arduino uno over bluetooth HC-05. The app is easy to understand like Arduino IDE, there are many examples sketch, also you can add some libraries just copy paste library folder to folder BluinoLoader/libraries. You can change of theme of editor color, size of text and many features. If you want get Serial Monitor feature, removed Ad and can scan any name of bluetooth (Not only Bluino#...) you can buy feature in-app purchase, so also support developer.

Uploading a sketch worked very good over Bluetooth! So I would give this app 4.0 out of 5 stars :)

Step 6: Try Upload Sample Sketch Blink.ino Into Arduino Using Android Device Over Bluetooth

Picture of Try Upload Sample Sketch Blink.ino Into Arduino Using Android Device Over Bluetooth

  • After finish installed you can open example sketch BluinoLoader/examples/02.Basic/Blink/Blink.ino
  • Wait until extracting tools finished
  • Tap on "upload" button (Arrow in the circle icon)
  • After done compiling no error, tap button "Scan Bluino Hardware" to search active bluetooth
  • Pick bluetooth hardware with name "Bluino#00"
  • If first pairing enter pairing code standard "1234", then OK
  • Wait until process uploading done

After all step OK your Arduino will blink on led 13, and you can repeat all the steps to upload another sketch.

Comments

glassgorilla (author)2016-06-16

Can anyone link an eBay item for the Capacitor? It's not clear to me exactly what is needed. I think I found everything else.

that is general electrolit capacitor/bipolar capacitor can be change value betwen 1uf/16v - 47uf/16v

19soNso93 (author)mansurkamsur2017-06-02

Could you please give a link to capacitor. I would love to program my Arduino bluetooth. I've found everything but the capacitor 1uf 16v elco

Great. Thanks!

PersiaH (author)2016-07-23

برای دوستان فارسی زبان

موفق باشید

mansurkamsur (author)PersiaH2016-10-06

Very helpful and great tutorial, can i use this video for my instructables.

PersiaH (author)mansurkamsur2017-03-01

Yes! :)

Beevo (author)2017-01-19

I have uninstalled and reinstalled the app. On retest I get the same result. The screen comes up with select bluetooth device and then "loading.." and then "Hex file not found".

Brett

mansurkamsur (author)Beevo2017-02-21

can you send me sketch that you want to upload

Beevo (author)2017-01-10

Mate, love your work on this great app, however I have a question.

I have purchased your Pro version, and every time I try to download after compiling get "Hexfile Missing" and download fails. What have I done wrong? Can you please give me a little guidance to get this resolved?

mansurkamsur (author)Beevo2017-01-19

can you check that the file name can not use spaces (use underscore)

Beevo (author)mansurkamsur2017-01-19

Confirming no spaces in file or folder name.
I tried the same test with the Blink example with same result.

Thanks for helping.. Brett

mansurkamsur (author)Beevo2017-01-19

Try uninstall then install again, ensure your space memory free about 250MB

Ujwal Bhagat (author)2016-10-29

Damn good, you saved the day buddy!

AamerH (author)2016-10-16

Nice work! I will try it.

rossak (author)2016-08-07

It is unclear where the 100 ohm resistor should be. On one of your schematics it's between Arduino RX and BT TX which doesn't make sense as the BT is 3.3V logic level and Arduino is 5V. On the other schematic you connect BT RX to Arduino RX and TX to TX which is a simple mistake I assume.

mansurkamsur (author)rossak2016-10-06

sorry I've removed the wrong image, you just follow this image

andrewwii (author)2016-08-09

Hey is it possible to use the hc-06 module instead of hc-05?

mansurkamsur (author)andrewwii2016-10-06

Yes you can, mode of Bluetooth module is Slave.

HC05 (master/slave) & HC06 (slave)

CarlosS213 (author)2016-06-24

I don't know what to do!!

CarlosS213 (author)2016-06-24

This is one of the problems.

CarlosS213 (author)2016-06-23

I tried to upload the blink.ini sketch on with two different phones, none have worked. The first said " compiling error" and the second something about a route and Accra denied

mansurkamsur (author)CarlosS2132016-06-23

What do you get the error report, this app need space storage about 200MB please check your storage.

CarlosS213 (author)mansurkamsur2016-06-24

I have enough space, the problem message is:
Error compiling.
Segmentation fault

Ajmohares (author)2016-06-17

Does someone have (or can someone make) this instruction but for Arduino DUE?

bobdole1221 (author)2016-06-16

really cool instructable. to me though I feel wrong contest to be entered. out of your comfort zone. I definitely think you feel very comfortable in the zone of the instructable that you made. but other than that thumbs up

Simoneh4 made it! (author)2016-06-16

you not burn the rx port with only a 100 ohm res? dont need a digital divider?

somethig like this:

http://www.martyncurrey.com/hc-05-fc-114-and-hc-06...

mansurkamsur (author)Simoneh42016-06-16

I have used this circuit for a long time and is still safe, as if I would turn on an LED 3v at the working voltage of 5v do not need voltage divider, just one resistor.

CelioS (author)2016-06-16

Thumbs Up ! will help a lot in my project!

Raphango (author)2016-06-16

Great project!

Thanks!!

mansurkamsur (author)2016-06-15

All instructables still work if you want uploading sketch via laptop over bluetooth use Arduino IDE software. First, just pairing bluetooth with laptop, found COM port that connect to bluetooth HC05 outgoing port. On Arduino IDE select board Arduino Uno, select appropriate port is connected with bluetooth and click upload.

Raphango (author)mansurkamsur2016-06-16

Interesting!

onion2 (author)2016-06-16

Omg it is amazing! it was my dream :D since 4 monthes I don't have any computer with me and I must go to the school to program my arduino... Thank you very much :D

Dylan91 (author)2016-06-16

Nice work, good tutorial:)

Annobis (author)2016-06-15

This is really cool. Usually when I build an arduino-based project that I want to be definitive, I use a standalone ATMEGA328p. And sometimes I regret that I can't update the code to add some functionality in my projects. What I did until now is that I left reachable wires that I use to reprogram the chip, but I still need to disassemble the project a little bit in order to reach the wires.

With this, I could put a bluetooth reciever inside the project, seal if off completely, and still be able to reprogram the chip :D for 4€ it's completely worth it !