Hello people from across the world.
Programming Arduino everytime with USB might be a heck for many. Also many sites do provide the circuit for Bluetooth Programming, however they sound so complicated with many components and the special pin 32 soldering. I am pretty sure you hate to solder in such tiny areas just for the sake of a simple job. Below are the circuits by which you can program Arduino Uno and Pro mini and other boards with just a single capacitor. Go ahead
Step 1: Programming HC 05 Bluetooth Module
1. Arduino Uno or any board
2. Jumper Wires
3. Laptop with Arduino IDE
Connect HC 05 with Arduino as shown in the image.
Here is a simple overview of connections
Arduino (TX) --> HC 05 (TX)
Arduino (RX) --> HC 05 (RX)
Arduino (5v) --> HC 05(Vcc)
Arduino (GND) --> HC 05 (GND)
Arduino (Reset) --> Arduino (GND)
Now the crucial step --> I have HC 05 module with a button as KEY. So before powering Arduino press thee button and hold it. While holding it power Arduino and after 1s release the button. You will notice that HC 05 will blick slowly like 1 or 2 Hz frequency.
Now open Arduino IDE. Select your board and Voltage and COM Ports.
Go to the serial Monitor and select "Both NL and CL" and Baud Rate 38400 thentype
AT (You may receive error at first but type it again and you will receive OK else check your connections)
AT+NAME=<Enter your desired name without brackets>
AT+POLAR = 1,0
AT+ ROLE = 0 //0 means Slave and 1 means Master
The UNO programs at 115200 baud, the Duemilanove (with ATmega328p) programs at 57600 baud. The Duemilanove with ATmega168 programs at 19200 baud.
AT+UART=<115200,0,0> //If you have Uno
AT +UART=<57600,0,0> //If you have Nano or Pro Mini
AT+ PSWD = <Your desired password>\
The baud rate of Pro Mini and Nano bootloader is 57600 hence the baud rate of HC 05 must also be same inorder to talk to bootloader.
Step 2: Connect HC 05 With Arduino
Now connect Arduino with HC 05
Arduino (TX) = HC 05 (RX)
Arduino (RX) = HC 05 (TX)
Arduino (5v) = HC 05 (Vcc)
Arduino (GND) = HC 05 (GND)
Arduino (RESET) = Capacitor (22nf) = HC 05 (STATE)
Remember you need a voltage divider if your arduino is 5v rated since HC 05 TX & RX are 3.3v rated.
If you need a divider then Resistor would be 10k and 15k and TX of Arduino would move to the joint of the resistors. No divider needed for RX.
So the Voltage = [15k/(10k+15k)]*5 = 3v for HC 05 :)
In case of Pro Mini 3.3v 8 Mhz your are lucky as we don't need any divider.
There is a second model where a transistor is adder. I used BC547B. You can use any NPN. The resistor used here is 10k
Step 3: Connecting HC 05 With Laptop
Now search you Bluetooth device with your laptop and pair it.
If you have windows then after pairing
Click Bluetooth ICON (Right Click)
Click Open Settings
Click "More Bluetooth Options"
Click "COM Ports"
Note down the port with your device name referring "Dev B"
Now for Windows 10 users RUN ARDUINO IDE as ADMINISTRATOR then select your board and voltage rating and select the "Dev B port" Click Upload
Else you would recieve error avrdude : COMxx Access Denied
Windows 8.1, 8 7 users no problem.
MAC -- No Problem
Wait for a second and voila !!
I am assuming that you know how to pair a device. HC05 will blink once and fastly when paired. It will blink twice when you start UPLOADING means CONNECTED
You can choose the ONLY CAPACITOR method or Transistor method. No soldering required for PIN 32
Step 4: Serial Monitor
To use the serial monitor for serial data display you can enter Arduino IDE-->Tools --> Serial Monitor. It is simple and data will be received. Don't forget to select the correct com port.
To upload code from Android simple download Bluino Bluetooth App. The Slide left and click on boards. Choose your board and enable the bluetooth option from there. The click on the arrow inside circle icon. It will compile and then you will have to select your bluetooth device. It will show uploading status and will end with Uploaded status. Success..
To have the serial monitor for Android download Talking Serial Monitor. Click the thunder bolt icon and connect with HC05 and voila !! you will receive your data.
iOS users. Its just pain in a**. I can't connect it with my iPhone, iPad as well. Since iOS doesn't support HC 05 services. If it does do tell me guys.