I don't have an Uno, but I was thinking of getting one and by the looks of it, you can remove the AVR microcontroller from the Arduino, right? It's just a DIP IC in a socket that can be pulled out, it seems like.

Uno http://egyrobots.com/image/cache/data/arduino-uno-500x500.jpg

So can you just load a program, remove the AVR chip, throw in another one, and load another program? Then you can have a permanent microcontroller solution for all your projects.

Is this possible?


2 Answers 2


Yes, the Arduino can be used as an AVR programmer. But, no, you can't just plug the new chip in.

The AVR microcontroller in the Arduino contains the Arduino bootloader. This bootloader can only update the sketch code.

In order to use a brand new AVR with your Arduino, you'll need to copy the Arduino bootloader to it using an AVR In-System-Programmer (ISP).

Fortunately, the Arduino Uno can be used as an AVR ISP.


  • \$\begingroup\$ From the top of the page you link to: "NOTE: Currently, you cannot use an Arduino Uno as an ISP programmer because the optiboot bootloader does not support this sketch. A revision for this is in progress." \$\endgroup\$ Jul 27, 2011 at 4:31
  • \$\begingroup\$ @Nick Thanks, I didn't read it, I just assumed that it was like the older Arduinos. Odd that the bootloader prevents it \$\endgroup\$ Jul 27, 2011 at 8:54
  • \$\begingroup\$ @Joby it's because the Uno doesn't use an FTDI chip anymore. It uses an atmega8u2 instead. I believe this was done in order to provide hardware for HID support. \$\endgroup\$
    – NickHalden
    Jul 27, 2011 at 14:38
  • \$\begingroup\$ Thanks for the leg up on this. What about on a duemilanove or decimila? \$\endgroup\$
    – Shubham
    Jul 27, 2011 at 17:01
  • 1
    \$\begingroup\$ @Joby It is because of the way they used the DTR reset. The sketch does work with a tiny hardware modification if you look at the comment I posted on the question. Apparently, it has to do with current differences between the FTDI and the 8u2, not actually the firmware. \$\endgroup\$
    – NickHalden
    Jul 28, 2011 at 14:44

You can turn Arduino Uno in a true programmer / basic debugger using a code called TinyISP You can program most AVRs with Arduino Uno and also debug the code. See this forum discussion: http://arduino.cc/forum/index.php/topic,125248.0.html


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.