Turn-key PCB assembly services in prototype quantities or low-volume to mid-volume production runs

Choosing right programmer for AVR microcontrollers

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


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


They both worked well either with PonyProg or AVRDude. But then COM and LPT ports became obsolete, so the next logical move was a USB interface. Probably the most popular USB based DIY programmer was USBASP – initially developed by Thomas Fischl. Again it works with AVRDude software. But the 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.


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


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 a great experience with DIY programmers, but they never worked as I wanted. You have always look for updates, search for the proper user interface. And they never worked well with AVRStudio or didn’t work at all. The energy you spend by looking or building an adapter could be used elsewhere. Why not having a proper tool that always works and is still up to date.


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

This site uses Akismet to reduce spam. Learn how your comment data is processed.