Electronic – Arduino as ISP: IC swapping

arduinoatmegaisp

I usually use my Arduino as an ISP programmer.

Let's say I want to program the blink LED code to my ATmega328 with the bootloader already in it.

Can I just program it in the classical way and pull out the chip from the Arduino? Is there any problem doing like this? It sounds easier and quicker.

(I'm talking only about ATmega328 with the bootloader already in it, not ATtiny or other ATmega chips.)

Best Answer

Short answer: Yes you can.

Longer answer, mostly stating the obvious for those who might need it:

  • Evidently one would need an Arduino with a DIP socket and DIP ATmega microcontrollers - while the classic Uno and several other Arduino boards have this, some of the newer ones are SMD-only.
  • This won't work with a fresh ATmega MCU, i.e. one without the bootloader - this is of course already addressed in the question
  • The microcontroller ICs can be sensitive - both to manhandling while pulling the IC out (pins break), and possible ESD damage if the pins are not handled with care. The ATmega family is pretty hardy though, so ESD is not as big a risk
  • If this method of programming is to be done for a bunch of MCUs, it would be better to use a breadboard or ZIF socket, rather than the socket on the Arduino