Arduino as ISP or how to burn bootloader

Often You need burn bootloader onto ATmega chip. You can always buy chip with preloaded bootloader or ISP programmer like USBASP, however any working Arduino can be used as one.

Burning Arduino bootloader with UNO
Burning Arduino bootloader with UNO

You can do as follows:

  • download ArduinoISP sketch in working Arduino (menu File/Examples/ArduinoISP) as any other sketch
  • connect chip in following way (on right are labels from Arduino UNO)
    • power – 5V (unless chip is low voltage, than only 3.3V)
    • ground – GND
    • MOSI – D11
    • MISO – D12
    • SCK – D13
    • reset – D10
  • if You use some Mega as ISP then
    • MOSI – D51
    • MISO – D50
    • SCK – D52
    • reset – D53
  • You can always burn bootloader in chip in other Arduino board so You can go with SMD chips (on picture: burning bootloader in Arduino Pro Mini)
  • In  menu choose programmer: Tools/Programmer/Arduino as ISP
  • In menu Tools/Board choose board for which You plan to burn bootloader, not host board (on picture we are burning Pro Mini btl on UNO, so in Boards menu Arduino Pro or Pro Mini (5V, 16 Mhz) w/ATmega328 was selected)
  • The last step is menu Tools/Burn Bootloader and wait for ‘Done burning bootloader’

To see what is going on You can connect few LEDs to host board: D9 – heartbeat (sign ISP sketch is running),  D8 – errror in programming, D7 – work in progress.