4
\$\begingroup\$

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?

\$\endgroup\$
10
\$\begingroup\$

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.

http://arduino.cc/en/Tutorial/ArduinoISP

|improve this answer|||||
\$\endgroup\$
  • \$\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\$ – Nick Johnson Jul 27 '11 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\$ – Toby Jaffey Jul 27 '11 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 '11 at 14:38
  • \$\begingroup\$ Thanks for the leg up on this. What about on a duemilanove or decimila? \$\endgroup\$ – Shubham Jul 27 '11 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 '11 at 14:44
4
\$\begingroup\$

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

|improve this answer|||||
\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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