Arduino, Programming

Use Arduino Uno as an AVR ISP to burn the bootloader onto a SparkFun Pro Micro 5V

I have a SparkFun Pro Micro 5V running an older bootloader. In order to burn a new bootloader you need an ISP (In-System Programmer). You can buy an AVR ISP and use that, or you can use an Arduino Uno as an AVR ISP 🙂

Here are the instructions:

We turn the Uno into an ISP:

  1. Connect your Uno to your computer.
  2. Run the Arduino programming software.
  3. From the File menu, select Examples and click on “ArduinoISP”.
  4. Download this sketch to your Uno.

Now we wire in the ProMicro to the Uno. Don’t connect the ProMicro to your computer! And connect the following pins together:

  1. Uno Pin GND to ProMicro Pin GND
  2. Uno Pin GND to ProMicro Pin GND & GND (located on the other side of the board)
  3. Uno Pin 5V to ProMicro Pin VCC
  4. Uno Pin 13 to ProMicro Pin 15
  5. Uno Pin 12 to ProMicro Pin 14
  6. Uno Pin 11 to ProMicro Pin 16
  7. Uno Pin 10 to ProMicro Pin RST
  8. Remove the wire to VCC and put it back in. (I had some errors where didn’t work until I did a “reset” on the ProMicro)

We burn the bootloader:

  1. Close the Arduino programming software
  2. Download the new bootloader for the ProMicro (It’s the Add-on link located in https://www.sparkfun.com/products/11098?)
  3. Unzip that folder into “C:\…\arduino-1.0.4-windows\arduino-1.0.4\hardware”.
  4. Run the Arduino programming software.
  5. From the Tools menu, select Board and click on “SparkFun Pro Micro 5V/16Mhz”.
  6. From the Tools menu, select Programmer and click on “Arduino as ISP”.
  7. From the Tools menu, click on “Burn bootloader”.
  8. Wait a few minutes. You should see the RX & TX LEDs flashing on your Uno during the burning process.
  9. Done!

If it doesn’t work, the error is displayed in the console. If it works, it won’t show a message in the console but in the area just above it, “Done burning bootloader”.

6 thoughts on “Use Arduino Uno as an AVR ISP to burn the bootloader onto a SparkFun Pro Micro 5V

  1. Hi,
    Thank you for this very useful guide. When I attempt to burn the bootloader I get a long error message beginning:
    “Arduino: 1.6.2 (Windows 7), Board: “SparkFun Pro Micro 5V/16MHz”

    java.io.IOException: Cannot run program “C:\Program Files (x86)\Arduino/hardware/tools/avr/bin/avrdude”: CreateProcess error=2, The system cannot find the file specified

    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)”
    I am running Arduino 1.6.2.
    Any ideas what this means?
    Thanks again.

    1. Hi pip. I haven’t encountered that error before, not sure what it means. Download & install the latest Arduino software (1.6.6) and restart your computer.

Leave a reply to Pip Cancel reply