Summary of Atmel AVR ISP Microcontroller Programmer Project
One frustrating beginner issue is programming AVR microcontrollers. The article describes building an AVR ISP programmer using an AVRJazz Tiny2313 board as host and an ATtiny13 as target, adapting Klaus Leidinger’s firmware to work with Tiny2313 (changes: microcontroller type, crystal frequency, LED routines, and a startup heartbeat). It recommends AvrOspII for Windows as the PC-side tool supporting AVR911 protocol, and references Atmel AVR911/AVR910 resources and AVRPROG limitations.
Parts used in the AVR ISP Microcontroller Programmer Project:
- AVRJazz Tiny2313 board (ermicro)
- ATtiny13 microcontroller (target)
- Crystal oscillator (matched to adapted frequency)
- LED(s) on AVRJazz Tiny2313 board
- Connecting cables between PORTB and target ISP pins
- PC or notebook (running AvrOspII or AVRPROG/AVR Studio)
- Power supply for the boards
One of the frustrating part in learning AVR microcontroller for the beginners is the AVR microcontroller programmer. The question is how to program my AVR mircrocontroller; actually if you googling on the internet and search for AVR ISP Programmer there are plenty information; start from simply using your PC parallel port to the sophisticated Atmel owned AVRISP mkII programmer. This will rise another question; which one should I choose? Well, if you are looking for the Atmel AVR programmer you have to consider how many AVR devices does this programmer software support and how this programmer hardware will connect to your PC/Notebook, of course the best and the complete one will be the Atmel own AVR programmer.
The well known open sources AVR ISP programmer is released by Atmel called AVR911: AVR Open-source Programmer (is that just a coincident they use the number 911, therefore you can see how important this topics is) and the hardware schema you could find on their application note AVR910: In-System Programming. The original schema use the old AT90S1200 and both the firmware (at90isp_ver23.asm) and the downloader (AVROSP.exe) only support a view old devices, fortunately there are peoples out there that keep this application note updated with the current devices.
In this project I will use the AVRJazz Tiny2313 board from ermicro as the basic board for the programmer and AVR ATtiny13 microcontroller as the target for the programmer. The firmware is taken from Klaus Leidinger at mikrocontroller-projekte.de and I made some modification to the source code, so it can work with AVRJazz Tiny2313 board; this little changes is mainly on the ATTiny2313 microcontroller type (originally AT90S2313), crystal oscillator frequency (originally 7.3728 mHz), the LED’s routines (originally using dual color LED attached to the PORT B3 and B0) and the healcheck function to blink the board’s LED 5 times when it start. For the complete source code and the hex code you can download from here.
Although the firmware can work very well with the Atmel’s AVRPROG that come with the AVR Studio 4 (from menu Tools -> Avr Prog…), but this programmer only support a view devices; beside Atmel look likes will not update this program anymore, the last time they update the AVRPROG (version 1.40) mainly just for supporting their new AVR Butterfly evaluation board which is using ATMega169. Therefore I choose AvrOspII from Mike Henning for the latest windows programmer version that supporting the AVR911 protocol; this programmer software support mostly used AVR microcontroller devices.
The following is the hardware diagram, cable connection from PORTB AVRJazz Tiny2313 board (see the AVRJazz Tiny2313 schema above) and the schema for ATtiny13 used in this project:
For more detail: Atmel AVR ISP Microcontroller Programmer Project
- What is the main goal of the project?
To build an AVR ISP programmer using an AVRJazz Tiny2313 board as the programmer and an ATtiny13 as the target. - Which firmware is used for the programmer?
The firmware is taken from Klaus Leidinger at mikrocontroller-projekte.de with modifications for the AVRJazz Tiny2313 board. - What software is recommended for programming on Windows?
AvrOspII from Mike Henning is recommended as it supports the AVR911 protocol and many AVR devices. - Why was AvrOspII chosen over Atmel AVRPROG?
Because AVRPROG supports only a few devices and appears not to be actively updated, while AvrOspII supports AVR911 and more devices. - What modifications were made to the original firmware?
Changes include microcontroller type (ATTiny2313 vs AT90S2313), crystal frequency, LED routines, and a startup heartbeat blinking the board LED 5 times. - Which Atmel application notes are referenced?
Atmel AVR911: AVR Open-source Programmer and AVR910: In-System Programming are referenced for hardware and protocol information. - Does the project provide source and hex code?
Yes, the article states the complete source code and hex code can be downloaded from the referenced location. - What board pins are used for the ISP connection?
The PORTB pins of the AVRJazz Tiny2313 board are used to connect to the target ISP pins.


