Programmer Manual
D
D
i
i
g
g
i
i
l
l
e
e
n
n
t
t
A
A
V
V
R
R
P
P
r
r
o
o
g
g
r
r
a
a
m
m
m
m
e
e
r
r
™
™
R
R
e
e
f
f
e
e
r
r
e
e
n
n
c
c
e
e
M
M
a
a
n
n
u
u
a
a
l
l
®
www.digilentinc.com 
1/31/2006  215 E Main Suite D | Pullman, WA 99163 
(509) 334 6306 Voice and Fax
Doc: 506-006    page 1 of 8 
Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners.
Introduction 
The Digilent AVR Programmer is a Microsoft
® 
Windows
® application used for in-system 
programming of Atmel AVR
® microcontrollers. 
It is specifically designed for programming 
AVR devices on Digilent products, but is also a 
general purpose AVR device programmer for 
those AVR devices that support the serial in-
system programming protocol. 
The AVR Programmer supports the in-system 
programming of Atmel AVR devices using a 
programming cable connected to a 6-pin 
programming connector on the target board. 
All Digilent products with a AVR microcontroller 
have a suitable connector. 
Installation Information 
The AVR Programmer is installed by running 
the Windows installer application available for 
download from the Digilent web site. 
The installer will copy the application program 
files, required device drivers, AVR Part 
Description files, and documentation file to the 
user’s computer. 
The part description files are copied to the 
folder: Program Files\Common 
Files\Digilent\AvrParts. 
Overview of AVR Microcontrollers 
The Atmel AVR devices are 8-bit 
microcontrollers with various I/O peripheral 
functions and varying amounts of program and 
data memory. 
There are two different ways that AVR devices 
can be programmed. High-voltage parallel 
programming involves placing the AVR device 
into a special device programmer. This can 
only be done before the device is soldered to a 
PC board. In-system programming uses a 
serial interface and an in-system programming 
protocol to program the devices in circuit. Any 
AVR device can be programmed using the 
parallel programming method. Most, but not all, 
AVR devices also support the in-system 
programming method. The AVR Programmer 
only works with in-system programming. 
There are four basic parts of an AVR device 
that can be programmed: the program flash, 
the data EEPROM, fuses, and lock bits. 
The program flash holds program instructions 
to be executed. The data EEPROM is non-
volatile memory that can be programmed via 
the in-system programming protocol, and can 
also be read or written by the program running 
on the device. Program flash and data 
EEPROM are configured using the Program 
tab in the AVR Programmer. 
Fuses and lock bits are used to select the 
device’s operating modes. They are described 
in more detail below. 
Before programming the flash or EEPROM 
memory, you must first erase the device. When 
flash or EEPROM memory are erased, the bits 
are set to the 1 state. When programming, 0 
bits are programmed to 0 and 1 bits are left 
unchanged. It is not possible to program a bit 
from 0 to 1. This can only be accomplished by 
erasing. 
Flash and EEPROM memory can only be 
erased and reprogrammed a limited number of 
times before they wear out. Atmel rates the 
memories in the AVR parts as having an 
endurance of 10,000 erase/reprogram cycles. 
Programming over already-programmed bits 
will wear them out prematurely. The AVR 
Programmer allows you to manually erase the 
device and has an option to automatically 
erase the device while programming. 








