Tutorial by
Sreedev Krishnakumar

I am an Electronics Engineer with keen interest in...More

Hardware Programmers for Microcontrollers

Hardware programmers 

Before you get started with any microcontroller, you are going to need a hardware programmer to transfer the compiled code to the microcontroller. The programmer you’ll need depends on the microcontroller you use.

The following programmers can be used with chips from Atmel:

1. Avrisp mk2

This programmer comes from Atmel and can be used for programming Tiny, Mega and Xmega series. It connects to the computer through USB port.

                 Avrisp mk2

The ribbon connector which can be seen in the fig. is used for connecting the microcontroller. The fig. shows the connection layout.

The red strip of the cable corresponds to pin1.  The connector goes to the corresponding pins on the microcontroller. The power needed is drawn from the USB port which eliminates the need of an external power supply. It has status indicator LEDs.

The features include:

Fuse bit programming
Capable of programming flash and EEPROM
Supports up to 12 Mbps data transfer
Protection from short circuits

2. Usb tiny isp

This one is similar to the above mentioned programmer and is inexpensive. It connects through USB but has two connectors, a 6 pin and a 10 pin. However, this programmer cannot be used for those chips with more than 64K flash. Thus, Atmega1281/1280/2561/2560 are out of its league. This is one of the cheapest programmers out there.


                                               Usb tiny isp

Kits are available which can be used to build this programmer.


Works with avrdude and Atmel Studio
Works at a supply range from 2V-6V

3. USB asp 

This one consists of an ATmega microcontroller and a couple of capacitors and resistors. Has USB interface. Maximum data transfer rate is 5KB/sec. The clock speed (SCK) can be controlled and can even go below 2MHz. Indicator LEDs are also provided.

               Usb asp

Now let’s take a look outside Atmel:

4. Parallel programmer

Parallel programmers can be used to program almost all microcontrollers. This one connects to the serial port of the computer and is easy to make. But serial ports are not found on modern computers which make this one somewhat obsolete.

                         Parallel Programmer

5. PICkit

PICkit is meant for programming PIC microcontrollers and comes from Microchip, the manufacturers of the microcontroller. The latest one is PICkit 3 and has seen some new improvement over the previous versions. Features include 12Mb/s data transfer, MPLAB IDE support, flash and EEPROM programming, debugging.                    

                                PICkit 3

Boot loaders

The use of boot loaders has become quite popular in the recent times. Boot loader is a piece of software which runs in a microcontroller. This software allows the device to be programmed through the serial port on the microcontroller (Tx,Rx). This allows the device to be programmed by an ordinary USB cable. The boot loader interprets the signals coming in at the serial communication pins and programs the device appropriately. The Arduino bootloader is a popular choice and is open source.  In addition to the above mentioned ones, a number of programmers like Pocket AVR programmer, Tiny AVR programmer exists which are also good choices.

An Atmel microcontroller programmed using avr isp mk2:

To get any programmer to work with your computer, you will have to download and install the necessary drivers from the manufacturer’s website.

Related Items