programming Arduino Nano through Bluetooth


Public Chat
Similar projects worth following
This project is about uploading code to ARDUINO NANO using a HC-05 Bluetooth module

The program data is send over Bluetooth HC-05 ,  whenever there is data available the state pin of HC-05 goes LOW. at that moment the Arduino's reset pin also has to be LOW for a short period of time so that the Arduino can go into programming mode.

  • 1 × Arduino Nano
  • 1 × hc-05 Bluetooth module
  • 1 × 7400 xor gate
  • 1 × 7404 not gate
  • 1 × 10k resistor

View all 7 components

View all 2 project logs

  • 1
    getting the HC-05 into AT mode

    1st the mode of the Bluetooth module has to be set using AT commands

    upload following code to Arduino Nano :

    #include <SoftwareSerial.h>
    SoftwareSerial mySerial(11, 12); // TX, RX
    void setup() {
    Serial.println("Enter AT commands:");
    void loop()
    if (mySerial.available())
    if (Serial.available())

    then to put the Bluetooth module into AT command mode do connections as bellow.

    press and hold this button at the time of powering up that puts the HC-05 to AT command mode.

  • 2
    set the mode of HC-05

    open serial monitor and type those following lines:


     115200 is for Arduino Nano with new bootloader  for old bootloaders change it to 57600

    if AT+INIT gives any error ignore it as it means the command has already been executed

    the name of the Bluetooth can be changed also for better reference using,


    after each AT command the hc-05 should return OK

  • 3
    generating a single pulse

    As the Arduino Nano requires a high-low-high pulse to go into programming mode, A circuit is needed to provide that pulse at the correct time.

    the NOT gates and the R-C circuit is used to add a delay before the signal is passed to the next NOT gate.

    When input is 5v the output of XNOR will be 5v. the moment the input changes to 0v one input of XNOR will receive 0v but because of the delay the other input pin will be at 5v momentarily which makes the output of the XNOR gate to 0v. After some moment both the input pins are 0v so the output becomes 5v again.

    This creates the short pulse that is needed for the Arduino Nano to reset.

View all 5 instructions

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates