Wednesday, April 23, 2008

Using the Arduino as an AVR programmer

I wanted to make an AVR programmer, but since I have almost no experience with AVR programmers beyond the Arduino and MiniPOV3 I thought I'd try something a little more documented. Of course documented doesn't mean non-hackish in anyway. It's also quite ironic that I'm using an Arduino to escape the restrictions I'm trying to avoid on the Arduino.

I found this article which outlines a method for programming AVR microcontrollers using the Arduino. The software only supports a few chips (one luckily being the ATtiny13) but at least it works.

It requires no extra hardware or serial port. The program is streamed to the Arduino over USB then pushed out to the programmed device using SPI. The LED on the left is lit when the programmer is running. The wire going to pin 1 lets the Arduino reset the ATtiny13 for programming, so you don't even have to hold down a reset button. That's good because there's a long (30 second or so) delay while programming. Not too sure what it's doing, but I'm going to move on after this project so I'm not very concerned.

Now that I have this running, I'm going to try to use the MiniPOV3 to program the ATtiny13. If that works, I may stay with that or solder up another small serial programmer. And to think I was going to buy an STK500. My next microcontroller project will be something like this.


Norman Carl said...

Hello!! Looking for a new gadgets
here .try our new model? Denon avr 1611 .

Henk said...

could you tell me what software you used for programming you AVR?
with greetings!

UziMonkey said...

The article I linked to gives more information, but it's just programmed using AVRdude. The software running on the Arduino just emulates an AVR chip in programming mode, and pushes the actual programming out on its IO pins.