Choosing right programmer for AVR microcontrollers

Once you start building something with microcontrollers, one thing you need to take in to account is programming adapter. This is a device which allows to upload compiled code in to chip. I don’t know if this is still a fun to build your own DIY programming adapter which is not guaranteed to support all chips nor it will be safe and reliable. AVR microcontroller niche is one of most interesting when talking about programmers. If you take a look at AVRDUDE configuration file you will find that there is about 50 of them. Many of them are DIY while other are official.

When I started with microcontrollers I also was looking for cheap and easy to build programming adapter. So I have built several if few years.

RS232_AVR_ISP

First of them was RS232 based programmer that worked with then popular PonyProg software. Later followed LPT port programmer:

LPT_AVR_ISP

They both worked well either with PonyProg or AVRDude. But then COM and LPT ports became obsolete, so next logical move was USB interface. Probably most popular USB based DIY programmer was USBASP – originally developed by Thomas Fischl. Again it works with AVRDude software. But problem was with clumsy updates and driver stability. For some people it works, for some they claim it won’t. I have built mine and it worked pretty well.

USBASP_Device

Probably last DIY programmer I have built is STK500V2 programmer from tuxgraphics.com.

diy_stk500v2_programmer

It was working great until AVRStudio was upgraded from V4 to V5 and then V6. This meant no firmware updates and it didn’t work at all as AVRStudio requires original adapter. It still works fine with AVRDude.

The original adapter you should stick with

I must say that it was great experience with DIY programmers, but they never worked as I wanted. You have always look for updates, search for proper user interface. And they never worked well with AVRStudio or didn’t worked at all. The energy you spend by looking or building adapter could be used elsewhere. Why not having proper tool that always works and is always up to date.

avrisp_mkii

So for basic AVR programming needs I highly recommend to purchase AVRIPS MkII programmer which is official programmer developed by ATMEL. It works out of box with latest AVRStudio where you can do all tasks related to reading and writing Flash/EEPROM, setting fuses/lock bits , selecting programming speed, calibrating oscillator in nice graphical interface. Speaking of AVR ISP MKII adapter it is worth to mention that it supports all AVR programming interfaces like ISP, PDI and TPI. AVRISP MKII also supports and detects all target voltage range from 1.6V to 5.5V. It is fully USB2.0 compliant with up to 8MHz SCK programming frequency.

The most important thing with original adapter is the feeling that thing always work. Programmer ins’t that expensive now that you should look for cheap and doubtful substitute. If you would like program in other platforms like MacOS or Linux it works here without problem by using AVRDude programming software.

AVRISPMKII is a programmer and it does only this. If you need to get more advanced – like debugging your programs of your projects you should look for other tools like JTAGICE mkII or AVR ONE on ATMEL product list.

Leave a Reply

Your email address will not be published. Required fields are marked *