Programming an Arduino Pro Mini with another Arduino

Warning: Executing the steps below will re-program both of your Arduinos, so if you have something valuable on the Arduino Nano please be sure to backup first. If you can’t afford to¬† erase your Nano please don’t follow this instructions

I usually use Arduino nano 3 for all my projects because it is reasonably small and still has a lot of pins, it also uses male headers instead of the female ones that the Uno does, of course this is not breadboard friendly but I kind of like it more.

But there comes a time when you want your projects to be even smaller and if possible a lot cheaper.

For that purpose I recently bought a couple of arduino pro minis(5 volts version). They also have the Atmega328P chip as the Nano and the price is much cheaper but don’t have the micro usb port and there lies the trouble… How can I program this?

arduinoProMini

I searched the net for possible solutions and found a lot which ranged from using external USB to serial board to … well using an arduino uno and removing its chip while programming, but all I had was an Arduino Nano R3!

Arduino Nano 3

Ordering a usb to ttl serial adapter was not an option because of the long delivery time so I had to do something…

I have done a lot of thinking and here is what I came up with…

What will happen if I just connect GND to GND, 5V on the Nano to the VCC of the PRO MINI, RX0 on the Nano with the RX1 on the Pro Mini, the RST on the Nano with the RST on the Pro mini and the TX1 on the Nano with the TX0 on the Pro Mini? After all they have the same chip ATmega328P

The only thing that can happen is an error while programming because when starting the programming the Arduino IDE will ask the microcontroller stuff and both chips will answer

Ok then… let’s make the Pro Mini unable to answer(no, I’m not going to break stuff :)). The thing we will do is disconnect the cable that goes from TX1 to TX0. And voila! You can program your Arduino Pro Mini with the Arduino Nano!

Go to Arduino IDE and select Arduino Nano /w ATmega 328 as your board and upload the sketch. Doing so will really be programming both Arduinos but who cares!

The same hack should work with other Arduinos as well but it always has to be the same chip running on the same frequency and the same voltage. Do not try it if these three conditions are not met!

Enjoy!

Connect the pro mini and the nano as follows:

arduinos