Application Notes
Getting Started
General hints and considerations when starting with AVR devices.
General Purpose
General purpose application notes and drivers for AVR.
Migration/Replacing
Support documents for migration between AVR microcontrollers.
AVR Wireless
General hints and considerations when starting with AVR Wireless products.
AVR XMEGA
General hints, considerations and drivers when starting with AVR XMEGA.
Battery Management AVR
Battery Management specific application notes.

1. GETTING STARTED/DESIGN CONSIDERATIONS
PDF
SW
Updated
Title and description
Appnote
2010-02-26
AVR188: Design Guidelines for ATtiny43U
The integrated boost converter of ATtiny43U provides the microcontroller and peripherals with a fixed supply voltage, generated from an external supply of lower voltage.
Appnote
 
2008-08-01
AVR600: STK600 Expansion, routing and socket boards
This application note describes the process of developing new routing, socket and expansion cards for the STK-600. It also describes the physical parameters for creating such cards.
AVR Instruction Set
 
2009-07-24
AVR Instruction Set
Detailed description of the AVR instruction set.
Appnote
Software
2009-11-19
AVR000: Register and Bit-Name Definitions for the AVR Microcontroller
This Application Note contains files which allow the user to use Register and Bit names from the databook when writing assembly programs.
Appnote
Software
2008-04-03
AVR001: Conditional assembly and portability macros
This application note describes the Conditional Assembly feature present in the AVR Assembler version 1.74 and later. Examples of how to use Conditional Assembly are included to illustrate the syntax and concept.
Appnote
Software
2004-10-22
AVR030: Getting Started with IAR Embedded Workbench for Atmel AVR
The purpose of this application note is to guide new users through the initial settings of IAR Embedded Workbench, and compile a simple C-program.
Appnote
2002-05-16
AVR031: Getting Started with ImageCraft C for AVR
The purpose of this Application Note is to guide new users through the initial settings of the ImageCraft IDE and compile a simple C program.
Appnote
Software
2002-05-08
AVR032: Linker Command Files for the IAR ICCA90 Compiler
This Application Note describes how to make a linker command file for use with the IAR ICCA90 C-compiler for the AVR Microcontroller.
Appnote
Software
2008-04-14
AVR033: Getting Started with the CodeVisionAVR C Compiler
The purpose of this Application Note is to guide the user through the preparation of an example C program using the CodeVisionAVR C compiler. The example is a simple program for the Atmel AT90S8515 microcontroller on the STK500 starter kit.
Appnote
2003-04-25
AVR034: Mixing C and Assembly with IAR Embedded Workbench for AVR
This Application Note describes how to use C to control the program flow and main program and assembly modules to control time critical I/O functions.
Appnote
2004-02-03
AVR035: Efficient C Coding for AVR
This Application Note describes how to utilize the advantages of the AVR architecture and the development tools to achieve more efficient C Code than for any other microcontroller.
Appnote
2006-06-30
AVR040: EMC Design Considerations
This Application Note covers the most common EMC problems designers encounter when using Microcontrollers.
Appnote
2010-01-26
AVR042: AVR Hardware Design Considerations
This Application Note covers the most common problems encountered when switching to a new microcontroller architecture like the AVR. Solutions and considerations for the most common design-challenges are covered.
Appnote
2002-05-16
AVR072: Accessing 16-bit I/O Registers
This Application Note shows how to read and write the 16-bit registers in the AVR Microcontrollers. Since the AVR has an 8-bit I/O bus these registers must be written in two execution cycles. It explains how to safely read and write these 16-bit registers.
Appnote
2008-04-18
AVR079: STK600 Communication Protocol
This document describes the STK®600 protocol. The firmware is distributed with AVR Studio® 4.14 or later.

UP
2. GENERAL PURPOSE
PDF
SW
Updated
Title and description
Appnote
Software
2006-05-04
AVR053: Calibration of the internal RC oscillator
This application note describes a method to calibrate the internal RC oscillator and targets all AVR devices with tunable RC oscillator. Furthermore, an easily adaptable calibration firmware source code is also offered. This firmware allows device calibration using the AVR tools STK500, AVRISP or JTAGICE. It can also be used for 3rd party calibration systems, based on production programmers.
Appnote
Software
2008-04-07
AVR054: Run-time calibration of the internal RC oscillator
This application note describes how to calibrate the internal RC oscillator via the UART.
Appnote
Software
2008-07-25
AVR055: Using a 32kHz XTAL for run-time calibration of the internal RC
This application note describes a fast and accurate way to calibrate the internal RC oscillator using an external 32.768 kHz crystal as input to an asynchronous Timer/Counter.
Appnote
2004-01-12
AVR060: JTAG ICE Communication Protocol
This Application Note describes the communication protocol used between AVR Studio and JTAG ICE with the purpose to enable third party vendors to design their own front-end to the JTAG ICE Emulator.
Appnote
Software
2003-04-25
AVR061: STK500 Communication Protocol
This document describes the protocol for the STK500 starterkit. This protocol is based on earlier protocols made for other AVR tools and is fully compatible with them in that there should not be any overlapping or redefined commands.
Appnote
Software
2006-04-20
AVR063: LCD Driver for the STK®504
The STK504 is a hardware expansion board for STK500 that add support for 100 pin AVR LCD devices. This application note is an example of how to use the ATmega3290 and the STK504.
Appnote
Software
2006-02-19
AVR064: STK502 – A Temperature Monitoring System with LCD Output
The STK502 board is a top module designed to add ATmega169 support to the STK500 development board from Atmel. This application note is an example of how to use the ATmega169 and the STK502.
Appnote
Software
2008-07-18
AVR065: LCD Driver for the STK502
In applications where user interaction is required it is often useful to be able to display information to the user. The ATmega169 is a MCU with integrated LCD driver. It can control up to 100 LCD segments. The ATmega169 is therefore an obvious choice when designing applications that requires both an efficient MCU and an LCD.
Appnote
Software
2006-04-20
AVR067: JTAGICE mkII Communication Protocol
This document describes the communication protocol used between AVR Studio and JTAGICE mkII.
Appnote
Software
2006-06-27
AVR068: STK500 Communication Protocol v2.0
This document describes version 2.0 of the Atmel STK500 and the PC controlling the STK500 communication protocol. The firmware is distributed with AVR Studio 4.11 build 401 or later.
Appnote
2006-02-19
AVR069: AVRISP mkII Communication Protocol
This document describes the AVRISP mkII protocol. The firmware is distributed with the Free AVR Studio 4.12 or later.
Appnote
2002-05-14
AVR070: Modifying AT90ICEPRO and ATICE10 to Support Emulation of AT90S8535
Older AT90ICEPRO can be upgraded to support the new AVR devices with internal A/D converter. This Application Note describes in detail how to modify the AT90ICEPRO to support emulation of AT90S8535 and other AVR devices with A/D converter.
Appnote
Software
2008-01-21
AVR073: Accessing 10- and 16-bit registers in ATtiny261/461/861
This application note explains how 10- and 16-bit accesses should be handled when using the ATtiny261/461/861 family of microcontrollers. A complete set of C macros for accessing 10- and 16-bit registers is also included with this application note.
Appnote
2002-05-21
AVR074: Upgrading AT90ICEPRO to ATICE10
This Application Note describes how to upgrade the AT90ICEPRO emulator to ATICE10 Version 2.0.
Appnote
Software
2005-09-06
AVR100: Accessing the AT90S1200 EEPROM
This Application Note contains assembly routines for accessing the EEPROM for all AVR devices. Includes code for reading and writing EEPROM addresses sequentially and at random addresses.
Appnote
Software
2002-09-18
AVR101: High Endurance EEPROM Storage
Having a system that regularly writes parameter to the EEPROM can wear out the EEPROM, since it is only guaranteed to endure 100.000 erase/write cycles. This Application Note describes how to make safe high endurance parameter storage in EEPROM.
Appnote
Software
2002-05-02
AVR102: Block Routines
This Application Note contains routines for transfer of data blocks.
Appnote
Software
2005-03-22
AVR103: Using the EEPROM Programming Modes
This application note implements a driver utilizing the programming modes available for the EEPROM in some new AVR parts, involving both time and power savings.
Appnote
Software
2003-07-02
AVR104: Buffered Interrupt Controlled EEPROM Writes
Many applications use the built-in EEPROM of the AVR to preserve and hence restore system information when power is removed from the system. This application note presents a buffered interrupt driven approach, which significantly increases general performance and decreases power consumption compared to a polling implementation.
Appnote
Software
2003-07-11
AVR105: Power efficient high endurance parameter storage in Flash memory
This application note describes how to implement a high endurance parameter storage method in Flash memory using the self-programming feature of the AVR.
Appnote
Software
2006-08-29
AVR106: C functions for reading & writing to Flash Memory
“Self-programming” makes it possible for an AVR to reprogram the Flash memory during program run. This application note provides C functions for accessing the Flash memory.
Appnote
Software
2005-03-22
AVR107: Interfacing AVR serial memories
This application note describes the functionality and the architecture of SPI serial memories drivers as well as the motivation of the selected solution.
Appnote
Software
2002-05-14
AVR108: Setup and use the LPM instruction
This Application Note describes how to access constants saved in Flash program memory of the AVR microcontrollers.
Appnote
Software
2006-02-19
AVR109: Self Programming AVR
This Application Note describes how an AVR with the SPM instruction can be configured for self-programming.
Appnote
2006-02-19
AVR120: ADC Characteristics and Calibration
This application note explains various ADC characterization parameters given in the datasheets and how they affect ADC measurements. It also describes how to measure these parameters during application testing in production and how to perform run-time compensation for some of the measured deviations.
Appnote
Software
2005-09-06
AVR121: Enhancing ADC resolution by oversampling
This Application Note explains the method called "Oversampling and Decimation" and which conditions need to be fulfilled to make this method work properly to get achieve higher resolution without using an external ADC.
Appnote
2008-02-13
AVR122: Calibration of the AVR's internal temperature reference
This application note describes how to calibrate and compensate the temperature measurements from the ATtiny25/45/85. It can also be used on other AVR- microcontrollers with internal temperature sensors..
Appnote
Software
2002-05-02
AVR128: Setup and use the Analog Comparator
This Application Note serves as an example on how to set up and use the AVR's On-chip Analog Comparator.
Appnote
Software
2006-05-05
AVR130: Setup and use the AVR Timers
This Application Note describes how to use the different timers of the AVR. The AT90S8535 is used as an example. The intention of this document is to give a general overview of the timers, show their possibilities and explain how to configure them. The code examples will make this clearer and can be used as guidance for other applications.
Appnote
Software
2003-11-04
AVR131: Using the AVRs Fast PWM
This application note is an introduction to the use of the high-speed Pulse Width Modulator (PWM) available in some AVR microcontrollers. The assembly code example provided shows how to use the fast PWM in the ATtiny26. The ATtiny15 also features a high-speed PWM timer.
Appnote
Software
2008-06-19
AV132: Using the Enhanced Watchdog Timer
This Application Note describes how to utilize the Enhanced Watchdog Timer (WDT) used on new AVR devices. In addition to performing System Reset, the WDT now also has the ability to generate an interrupt.
Appnote
2004-02-03
AVR133: Long Delay Generation Using the AVR Microcontroller
The solution presented here shows how the AVR AT90 series microcontrollers generate and handle long delays. On-chip timers are used without any software intervention, thus allowing the core to be in a low-power mode during the delay. Since the timers are clocked by the system clock, there is no need for additional components.
Appnote
Software
2009-04-17
AVR134: Real-Time Clock using the Asynchronous Timer
This Application Note describes how to implement a Real Time (RTC) on AVR microcontrollers that features the RTC module.
Appnote
Software
2005-10-31
AVR135: Using Timer Capture to Measure PWM Duty Cycle
This application note describes how the pulse width and period may be computed using the Input Capture Unit (ICP).
Appnote
Software
2006-05-11
AVR136: Low-jitter Multi-channel Software PWM
This application note shows how an multi-channel software pulse-width modulation can be implemented. The implementation uses an 8-bit timer with overflow interrupt to generate 10 PWM channels with very low jitter.
Appnote
2006-10-24
AVR137: Writing Software Compatible for PWM2/3 and PWM2B/3B
This application note lists the main corrections and differences between the two designs, and shows an example of software that allows to detect which version is currently programmed.
Appnote
2006-10-02
AVR140: ATmega48/88/168 family run-time calibration of the Internal RC oscillator for LIN applications
This application note describes how to calibrate the internal RC oscillator via the UART.
Appnote
Software
2008-07-21
AVR151: Setup and Use of the SPI
This application note describes how to setup and use the on-chip Serial Peripheral Interface, SPI, of the AVR microcontroller.
Appnote
Software
2005-09-06
AVR155: Accessing I2C LCD Display Using the AVR 2-Wire Serial Interface
This application note includes a TWI driver for bus handling and describes how to access a Philips I2C LCD driver on a Batron LCD display.
Appnote
Software
2008-10-23
AVR172: Sensorless Commutation of Brushless DC Motor (BLDC) using ATmega32M1 and ATAVRMC320
This application note describes how to implement a sensorless commutation of BLDC motors with the ATAVRMC320 development kit. Starting with a simple model of the BLDC motor, the basis of sensorless commutation will be explained.
Appnote
2002-05-08
AVR180: External Brown-Out Protection
This Application Note shows in detail how to prevent system malfunction during periods of insufficient power supply voltage.
Appnote
2007-10-24
AVR181: Automotive Grade0 - PCB and Assembly Recommendations
This paper is a collection of technical advice aiming at providing automotive electronic designers elements to manage high temperature constraints when addressing the PCB development.
Appnote
Software
2004-01-12
AVR182: Zero Cross Detector
This Application Note describes how to implement an efficient zero cross detector for mains power lines using an AVR microcontroller.
Appnote
2010-02-24
AVR188: Design Guidelines for ATtiny43U
The integrated boost converter of ATtiny43U provides the microcontroller and peripherals with a fixed supply voltage, generated from an external supply of lower voltage.
Appnote
2006-10-31
AVR191: Anti Pinch Algorithm for AVR Adaptation Procedure
The purpose of this document is to explain how to adapt an anti-pinch algorithm to a specified powered window. This application note describes how motor, mechanical and electrical parameters have to be set to allow correct function of the anti-pinch algorithm descirbed in AVR480.
Appnote
Software
2009-01-28
AVR194: Brushless DC Motor Control using ATmega32M1
This application note describes how to implement a brushless DC motor control in sensor mode using the ATmega32M1 AVR microcontroller. The high performance AVR core fitted with Power Stage Controller module of ATmega32M1 allows to design high speed brushless DC motor applications.
Appnote
Software
2009-09-25
AVR200: Multiply and Divide Routines
This Application Note lists subroutines for multiplication and division of 8 and 16-bit signed and unsigned numbers.
Appnote
Software
2002-06-11
AVR201: Using the AVR Hardware Multiplier
Examples of using the multiplier for 8-bit arithmetic.
Appnote
Software
2002-05-07
AVR202: 16-bit Arithmetics
This Application Note lists program examples for arithmetic operation on 16-bit values.
Appnote
Software
2004-02-03
AVR204: BCD Arithmetics
This Application Note lists routines for BCD arithmetics.
Appnote
Software
2002-05-07
AVR220: Bubble Sort
This Application Note implements the Bubble Sort algorithm on the AVR controllers.
Appnote
Software
2006-04-28
AVR221: Discrete PID controller
This application note describes a simple implementation of a discrete Proportional-Integral-Derivative (PID) controller.
Appnote
Software
2002-05-07
AVR222: 8-Point Moving Average Filter
This Application Note gives an demonstration of how the addressing modes in the AVR architecture can be utlized.
Appnote
Software
2008-07-16
AVR223: Digital Filters with AVR
This document focus on the use of the AVR hardware multiplier, the use of the general purpose registers for accumulator functionality, how to scale coefficients when implementing algorithms on fixed point architectures, the actual implementation examples and finally possible ways to optimize/modify the implementations suggested.
Appnote
Software
2005-11-29
AVR230: DES Bootloader
This application note describes how firmware can be updated securely on AVR microcontrollers with bootloader capabilities. The method includes using the Data Encryption Standard (DES) to encrypt the firmware.
Appnote
Software
2006-08-30
AVR231: AES Bootloader
This application note describes how firmware can be updated securely on AVR
microcontrollers with bootloader capabilities. The method uses the Advanced
Encryption Standard (AES) to encrypt the firmware.
Appnote
Software
2003-10-30
AVR236: CRC Check of Program Memory
This Application Note describes CRC (Cyclic Redundancy Check) theory and implementation of CRC checking of program memory for secure applications.
Appnote
Software
2006-06-30
AVR240: 4x4 Keypad-Wake Up on Keypress
This Application Note describes a simple interface to a 4 x 4 keypad designed for low power battery operation.
Appnote
Software
2004-04-29
AVR241: Direct driving of LCD display using general I/O
This application note describes software driving of LCDs with one common line, using the static driving method.
Appnote
Software
2002-05-21
AVR242: 8-bit Microcontroller Multiplexing LED Drive & a 4x4 Keypad
This Application Note describes a comprehensive system providing a 4 x 4 keypad as input into a Real Time Clock/Timer with two outputs.
Appnote
Software
2003-01-21
AVR243: Matrix Keyboard Decoder
This Application Note describes a software driver interfacing an 8x8 keyboard. The application is designed for low power battery operation. The application also supports user-defined alternation keys to implement Caps Lock, Ctrl-, Shift- and Alt-like functionality.
Appnote
Software
2003-11-07
AVR244: AVR UART as ANSI Terminal Interface
This application note describes some basic routines to interface the AVR to a terminal window using the UART (hardware or software). The routines use a subset of the ANSI Color Standard to position the cursor and choose text modes and colors. Rou-tines for simple menu handling are also implemented.
Appnote
Software
2005-11-01
AVR245: Code Lock with 4x4 Keypad and I2C LCD
This application note describes how to build a code lock with an AVR and a handful of components. The code lock uses a 4x4 keypad for user input, a piezoelectric buzzer for audible feedback and an LCD for informational output.
Appnote
Software
2009-10-08
AVR252: TV Control Touch Keyboard
TV Control Touch Keyboard is designed to be the drop-in replacement for an existing electromechanical (resistive ladder) type TV control keyboard. It is based on the latest Capacitive Touch Technology for man-machine/user interface.
Appnote
Software
2009-10-08
AVR254: QWheel® with ATtiny48
This Application Note focuses on making a customized firmware solution using Atmel- QTouch- Library designed for a wheel (constructed from 4 channels).
Appnote
2006-03-02
AVR270: USB Mouse Demonstration
This document describes a simple mouse project. It allows to quickly test USB hardware using AT90USB without any driver installation.
Appnote
2006-03-02
AVR271: USB Keyboard Demonstration
The aim of this document is to describe how to start and implement a USB keyboard application using the STK525 starter kit and FLIP in-system programming software.
Appnote
2006-04-27
AVR272: USB CDC Demonstration UART to USB Bridge
The aim of this document is to describe how to start and implement a CDC (Virtual Com Port and UART to USB bridge) application using the STK525 starter kit and FLIP in-system programming software.
Appnote
2006-04-27
AVR273: USB Mass Storage Implementation
The aim of this document is to describe how to start and implement a USB application based on the Mass Storage (Bulk only) class to transfer data between a PC and user equipment.
Appnote
Software
2007-04-23
AVR274: Single-wire Software UART
This application note describes a software implementation of a single wire UART. The protocol supports half duplex communication between two devices. The only requirement is an I/O port supporting external interrupt and a timer compare interrupt.
Appnote
Software
2006-08-30
AVR275: Sensor-based Control of Three Phase Brushless DC Motors Using AT90USB family
This application note described the control of a BLDC motor with Hall effect position sensors (referred to simply as Hall sensors). The implementation includes both direction and open loop speed control.
Appnote
2008-01-08
AVR282: USB Firmware Upgrade for AT90USB
The aim of this document is to describe how to perform the firmware upgrade of the AT90USB products using the on-chip bootloader and FLIP software.
Appnote
2009-09-28
AVR287: USB Host HID and Mass Storage Demonstration
The aim of this document is to describe how to start and implement a USB host application based on the USB HID class (USB mouse) and Mass Storage class. And finally introduces a simple example of AT90USB (Series-7) managing both USB classes (HID and Mass Storage) and also a file system (FAT12/16/32).
Appnote
Software
2004-01-12
AVR301: C-code for Interfacing AVR to AT17Cxx Configuration Memory
This Application Note describes how to In-System Program (ISP) an Atmel FPGA Configuration Memory using an Atmel AVR MCU and how to bit-bang data using port pins on an AT90S8515 AVR MCU.
Appnote
Software
2005-03-22
AVR303: SPI-UART Gateway
The SPI-UART Gateway application runs on the ATmega8 and allows the developer to test and debug an SPI slave application isolated from the master, using manually controlled communications via a suitable RS232 terminal.
Appnote
Software
2008-04-14
AVR304: Half Duplex Interrupt Driven Software UART
This Application Note describes how to make a half duplex UART on any AVR device using the 8-bit Timer/Counter0 and an external interrupt.
Appnote
Software
2005-09-06
AVR305: Half Duplex Compact Software UART
This Application Note describes how to implement a polled software UART capable of handling speeds up to 614,400 bps on an AT90S1200.
Appnote
Software
2002-07-02
AVR306: Using the AVR UART
This Application Note describes how to set up and use the UART present in most AVR devices. C code examples are included for polled and interrupt controlled UART applications.
Appnote
Software
2004-07-05
AVR307: Half duplex UART using the Universal Serial Interface
The Universal Serial Interface (USI) present in AVR devices like the ATtiny26, ATtiny2313, and ATmega169, is a communication module designed for TWI and SPI communication. This Application Note describes how to use the USI of the ATtiny26 for UART communication.
Appnote
Software
2002-05-21
AVR308: LIN Slave Protocol
This Application Note shows how to implement a LIN (Local Interconnect Network) slave task in an 8-bit RISC AVR microcontroller without the need for any external components.
Appnote
Software
2006-09-16
AVR309: Software Universal Serial Bus (USB)
USB implementation in a low-cost microcontroller through emulation of the USB protocol in the microcontroller firmware. Supports Low Speed USB (1.5 Mbit/s) in accordance with USB2.0.
Appnote
Software
2005-09-08
AVR310: Using the USI module as a I2C master
This Application Note describes how to use the USI for TWI master communication.
Appnote
Software
2009-08-23
AVR311: Using the TWI module as I2C slave
This application note describes a TWI slave implementation, in form of a fullfeatured driver and an example of usage for this driver.
Appnote
Software
2005-12-13
AVR312: Using the USI module as a I2C slave
This Application Note describes how to use the USI for TWI slave communication.
Appnote
Software
2002-05-14
AVR313: Interfacing the PCAT Keyboard
Most microcontrollers requires some kind of human interface. This Application Note describes one way of doing this using a standard PC AT Keyboard.
Appnote
Software
2002-05-21
AVR314: DTMF Transmitter
This Application Note describes how DTMF (Dual-Tone Multiple Frequencies) signaling can be implemented using any AVR microcontroller with PWM and SRAM.
Appnote
Software
2010-02-08
AVR315: Using the TWI module as I2C master
This Application Note describes a TWI master implementation, in form of a fullfeatured driver and an example of usage for this driver.
Appnote
Software
2005-11-01
AVR316: SMbus Slave Using the TWI Module
This application note provides background information on the SMBus specification and the AVR TWI module, an interrupt-driven SMBus slave driver and a sample implementation.
Appnote
Software
2004-11-19
AVR317: Using the USART on the ATmega48/88/168 as a SPI master
Some applications might need more than one SPI module. This can be achieved using the new Master SPI Mode of the ATmega48/88/168 USART.
Appnote
Software
2004-10-06
AVR318: Dallas 1-Wire® master
This application note shows how a 1-Wire master can be implemented on an AVR, either in software only, or utilizing the U(S)ART module.
Appnote
Software
2004-11-19
AVR319: Using the USI module for SPI communication
This application note describes a SPI interface implementation, in form of a fullfeatured driver and an example of usage for this driver.
Appnote
Software
2005-09-06
AVR320: Software SPI Master
The Synchronous Peripheral Interface (SPI) is gaining rapidly in popularity, allowing faster communication than I2C. For the smaller AVR Microcontrollers, which do not have hardware SPI, this Application Note describes a set of low-level routines for software implementation.
Appnote
Software
2006-02-19
AVR322: LIN v1.3 Protocol Implementation on Atmel AVR Microcontrollers
The LIN protocol is introduced in this application note, along with its implementation on Atmel Automotive AVR microcontrollers.
Appnote
Software
2006-02-21
AVR323: Interfacing GSM Modems
This application note describes how to use an AVR to control a GSM modem in a cellular phone. The interface between modem and host is a textual protocol called Hayes AT-Commands.
Appnote
Software
2002-02-01
AVR325: High-Speed Interface to Host EPP Parallel Port
This Application Note describes a method for high-speed bi-directional data transfer between an AVR Microcontroller and an off-the-shelf IBM (R) PC-compatible desktop computer.
Appnote
2006-03-02
AVR328: USB Generic HID Implementation
The aim of this document is to describe how to start and implement a USB application based on the HID class too transfer data between a PC and user equipment.
Appnote
2006-03-02
AVR329: USB Firmware architecture
The aim of this document is to describe the USB Firmware and give an overview of the architecture.
Appnote
Software
2005-04-18
AVR335: Digital Sound Recorder with AVR and Serial DataFlash
This Application Note describes how to record, store and play back sound using any AVR MCU with A/D Converter, the AT45DB161 DataFlash memory and a few extra components.
Appnote
Software
2005-01-19
AVR336: ADPCM Decoder
This application note focuses on decoding the ADPCM signal, Adaptive Differential Pulse Code Modulation, and turning it to a signal suitable for speakers.
Appnote
2007-09-18
AVR340: AVR340: Direct Driving of LCD Using General Purpose IO
This application note describes the operation of a Multiplexed LCD. Also discussed are electrical waveforms and connections needed by a LCD, as well as a C-program to operate the LCD.
Appnote
Software
2007-07-30
AVR341: Four and five-wire Touch Screen Controller
Resistive 4- and 5-wire touch systems belong to the most popular and most common touch screen technologies. AVR- microcontrollers are excellent in this type of application due their analog features combined with low power modes, required in e.g. portable battery powered applications.
Appnote
Software
2002-05-15
AVR350: Xmodem Reiceve Utility
The Xmodem protocol was created years ago as a simple means of having two computers talk to each other. With its half-duplex mode of operation, 128-byte packets, ACK/NACK responses and CRC data checking, the Xmodem has found its way into many applications.
Appnote
Software
2003-04-29
AVR360: Step Motor Controller
This Application Note describes how to implement a compact size and high-speed interrupt driven step motor controller.
Appnote
Software
2002-05-07
AVR400: Low Cost A/D Converter
This Application Note targets cost and space critical applications that need an ADC.
Appnote
Software
2003-01-28
AVR401: 8-Bit Precision A/D Converter
This Application Note describes how to perform a kind of dual slope A/D conversion with an AVR Microcontroller.
Appnote
Software
2002-05-15
AVR410: RC5 IR Remote Control
This Application Note describes a receiver for the frequently used Philips/Sony RC5 coding scheme.
Appnote
Software
2009-07-17
AVR411: Secure Rolling Code Algorithm for Wireless Link
This application note describes a Secure Rolling Code Algorithm transmission protocol for use in a unidirectional wireless communication system.
Appnote
Software
2006-12-06
AVR414: User Guide - ATAVRRZ502 - Accessory Kit
This application note describes the ATAVRRZ502 Accessory Kit (RZ502). The RZ502 is designed for evaluation of the Atmel AT86RF230 2.4 GHz radio transceiver.
Appnote
Software
2006-02-19
AVR415: RC5 IR Remote Control Transmitter
In this application note the widely used RC5 coding scheme from Philips will be described, and a fully working remote control solution will be presented. This application will use the ATtiny28 AVR microcontroller for this purpose.
Appnote
2009-01-21
AVR430: MC300 Hardware User Guide
The MC300 is a general-purpose power stage board able to drive brushless DC, brushed DC and stepper motors. The board is designed to be a flexible platform for developing motor control applications.
Appnote
2006-04-27
AVR433: Power Factor Corrector (PFC) with AT90PWM2 Re-triggable High Speed PSC
This application note explains how to develop a stand alone PFC (Power Factor Corrector) with the AT90PWM2.
Appnote
Software
2006-10-24
AVR434: PSC Cookbook
This application note is an introduction to the use of the Power Stage Controllers (PSC) available in some AVR microcontrollers. The code examples will make this clearer and can be used asguide for other applications. The examples are developed and tested on AT90PWM3.
Appnote
Software
2006-10-03
AVR435: BLDC/BLAC Motor Control Using a Sinus Modulated PWM Algorithm
BLDC motors are designed to be supplied with a trapezoidal shape current, respectively BLAC motors are designed to be supplied with a sinusoidal shape current. This application note proposes an implementation using the latter with an ATAVRMC100 board mounted with an AT90PWM3B.
Appnote
Software
2005-09-08
AVR441: Intelligent BLDC Fan Controller with Temperature Sensor and Serial Interface
This application note describes how to integrate a low-cost, feature-rich AVR microcontroller into the commutator electronics of a BLDC fan. The ATtiny25 is as an example.
Appnote
Software
2005-09-08
AVR442: PC fan control using ATtiny13
This application note describes the operation of 12 volt DC cooling fans typically used to supply cooling air to electronic equipment, and controlling them with the ATtiny13.
Appnote
Software
05.5.06
AVR443: Sensor-based control of three phase Brushless DC motor
This application note described the control of a BLDC motor with Hall effect position sensors. The implementation includes both direction and open loop speed control.
Appnote
Software
2005-11-01
AVR444: Sensorless control of 3-phase brushless DC motors
This application note describes how to implement sensorless commutation control of a 3-phase brushless DC (BLDC) motor with the low cost ATmega48 microcontroller.
Appnote
Software
2006-06-02
AVR446: Linear speed control of stepper motor
This application note describes how to implement an exact linear speed controller
for stepper motors. It also presents a driver with
a demo application, capable of controlling acceleration as well as position and
speed.
Appnote
Software
2006-06-07
AVR447:Sinusoidal driving of three-phase permanent magnet motor using ATmega48/88/168
This application note describes the implementation of sinusoidal driving for threephase brushless DC motors with hall sensors. The implementation can easily be modified to use other driving waveforms such as sine wave with third harmonic injected.
Appnote
Software
2006-05-05
AVR448: Control of High Voltage 3-Phase BLDC Motor
Using a microcontroller as a control device, 3-phase motors can be used for a wide range of applications. Motor sizes below one horsepower are efficiently controlled in speed, acceleration, and power levels.
Appnote
Software
2006-10-31
AVR449: Sinusoidal driving of 3-phase permanent magnet motor using ATtiny261/461/861
This application note describes the implementation of sinusoidal driving for threephase
brushless DC motors with hall sensors on the ATtiny261/461/861
microcontroller family.
Appnote
Software
2006-09-13
AVR450: Battery Charger for SLA, NiCd, NiMH, and Li-ion Batteries
This Reference Design is a battery charger that fully implements the latest technology in battery charger designs. The charger can fast-charge all popular battery types without any hardware modifications. The charger design contains complete libraries for SLA, NiCd, NiMH, and Li-Ion batteries.
Appnote
Software
2007-09-07
AVR451: BC100 Hardware User's Guide
The BC100 is reference design/development kit that targets especially battery charging. As the kit is general in nature it can be used to charge various battery types, as long as the requirements to charging voltage and currents are within the output range that the kit offers (1.2V to 38V, max 5A).
Appnote
Software
2006-04-27
AVR452: Sensor-based Control of Three Phase Brushless DC Motors Using AT90CAN128/64/32
This application note described the control of a BLDC motor with Hall effect position sensors (referred to simply as Hall sensors). The implementation includes both direction and open loop speed control.
Appnote
Software
2005-09-07
AVR453: Smart Battery Reference Design
This application note describes the implementation of a Smart Battery using the Atmel ATmega406 microcontroller.
Appnote
2005-12-13
AVR454: Users Guide - ATAVRSB100 - Smart Battery Development Board
This document describes the ATAVRSB100 (SB100) Smart Battery Development Board. The SB100 is designed for evaluation of the Atmel AVR ATmega406, which is designed for Smart Battery applications. The ATmega406 is designed for 2, 3 or 4 cell Li-Ion battery packs.
Appnote
Software
2008-07-28
AVR458: Charging Lithium-Ion Batteries with ATAVRBC100
This application note is based on the ATAVRBC100 Battery Charger reference design (BC100) and focuses on how to use the reference design to charge Lithium-Ion (Li-Ion) batteries. The firmware is written entirely in C language (using IAR- Systems Embedded Workbench) and is easy to port to other AVR- microcontrollers.
Appnote
2002-05-21
AVR460: Embedded Web Server
This Reference Design demonstrates how embedded applications can be connected directly to the internet.
Appnote
2002-05-21
AVR461: Quick Start Guide for the Embedded Internet Toolkit
This Quick Start Guide gives an introduction to using the AVR Embedded Internet Toolkit and can be used as a guide for getting started with embedded internet applications.
Appnote
2002-03-21
AVR462: Reducing the Power Consumption of the AT90EIT1 – AVR Embedded Internet Toolkit
This Application Note describes a small modification to the AVR Embedded Internet Toolkit. This will reduce the power consumption and the operating temperature of the board.
Appnote
Software
2007-09-07
AVR463: Charging Nickel-Metal Hydride Batteries with ATAVRBC100
This application note is based on the ATAVRBC100 Battery Charger reference design (BC100) and focuses on how to use the reference design to charge Nickel-Metal Hydride (NiMH) batteries. The firmware is written entirely in C language (using IAR Systems Embedded Workbench) and is easy to port to other AVR- microcontrollers.
Appnote
Software
2004-07-27
AVR465: Energy meter
This application note describes a single-phase power/energy meter with tamper logic. The design measures active power, voltage, and current in a single-phase distribution environment. The meter is able to detect, signal, and continue to measure reliably even when subject to external attempts of tampering.
Appnote
Software
2009-08-31
AVR476: Touch Remote Control
Touch Remote Control is a custom designed remote control application based on advanced Capacitive Touch Sensing Technology for man-machine/user interface. The touch (remote control) board can be interfaced to any host application via the SPI interface. This application note deals with Touch Remote Control board only and not the host (RF board).
Appnote
Software
2006-12-08
AVR480: Anti-Pinch System for Electrical Window
The detection algorithm is based on speed and torque derivate and has been verified for robustness and fault tolerance. It is applicable to all ATMEL AVR- with A to D converter and Interrupt-on-Change I/O.
Appnote
Software
2007-09-12
AVR481: ATAVRDB101: Hardware User's Guide
The DB101 is a graphical LCD module. It demonstrates how to use an AVR- microcontroller to control a 128x64 pixel graphical LCD. The DB101 is a graphical LCD module. It demonstrates how to use an AVR- microcontroller to control a 128x64 pixel graphical LCD.
Appnote
Software
2007-09-10
AVR482: ATAVRDB101 Software User's Guide
The DB101 firmware is a complex piece of software that uses a number of drivers and libraries to implement a set of applications to the user. This document gives a brief introduction to every driver, library, and application.
Appnote
Software
2007-09-22
AVR483: ATAVRDB101 Firmware - Getting Started
This application explains, step by step, how to create a new firmware project, add the bare essentials for a basic graphics application, build it and run it on the DB101.
Appnote
Software
2005-08-18
AVR492: Brushless DC Motor Control using AT90PWM3
This application note describes how to implement a brushless DC motor control in
sensor mode using AT90PWM3 AVR microcontroller.
Appnote
Software
2006-07-13

AVR493: Sensorless Commutation of Brushless DC Motor (BLDC) using AT90PWM3 and ATAVRMC100
This application note describes how to implement a sensorless commutation of BLDC motors with the ATAVRMC100 developement kit.

Appnote
Software
2006-02-19

AVR494: AC Induction Motor Control Using the constant V/f Principle and a Natural PWM Algorithm
This application note shows how to drive Induction motors by using the AT90PWM3.

Appnote
Software
2006-02-19

AVR495: AC Induction Motor Control Using the Constant V/f Principle and a Space-vector PWM Algorithm
This application note shows how to drive Induction motors by using the AT90PWM3.

Appnote
Software
2009-07-08

AVR496: Brushless DC Motor Control using ATtiny861
This application note describes how to implement a brushless DC motor control in
sensor mode using the ATtiny861 AVR microcontroller.

Appnote
Software
2009-07-08

AVR498: Sensorless control of BLDC Motors using ATtiny261/461/861
This application note describes how to implement a brushless DC motor control in
sensorless mode using the ATtiny861 AVR® microcontroller.

Appnote
Software
2009-02-26

AVR602: Using the ATtinyX3U Top Module
This Application note describes what's in the ATtinyX3U top module package for STK600, how to prepare the equipment, how to set up the power source, how to programming the ATtiny43U, and schematics.

Appnote
Software
2009-08-27

AVR652: ATtiny43U Demonstration Kit
AVR-652 is a Hardware platform to demonstrate the capabilities of ATtiny43U device, also providing support for programming and debug via ISP and debugWIRE.

Appnote
Software
2008-08-13
AVR910: In-System Programming
This Application Note shows how to design the system to support In-System Programming.
Appnote
Software
2006-04-27
AVR911: AVR Open-source Programmer
The AVR Open-source Programmer (AVROSP) is an AVR programmer application that replaces the AVRProg tool included in AVR Studio. It is a command-line tool, using the same syntax as the STK500 and JTAGICE command-line tools in AVR Studio.
Appnote
Software
2005-11-29
AVR914: CAN & UART based Bootloader for AT90CAN32, AT90CAN64, & AT90CAN128
This document describes the UART & CAN bootloader functionality as well as the
serial protocols to efficiently perform operations on the on chip Flash & EEPROM
memories.
Appnote
Software
2009-08-23
AVR916: Upgrading the Flash using a U-Disk
This document describes In-System Programming for Atmel- USB 7 series controllers with USB device implementing the Mass Storage class (USB drive), without:
- Removing the part from the system.
- External interface other than USB.
Appnote
Software
2009-01-21
AVR922: Add a Serial Number to your USB Device
Adding to the VID (Vendor ID) and the PID (Product ID), the USB device may need a unique serial number. The AVR- USB products offer you this feature and you do not need any external data to build this serial number. All you need is to read the unique ID provided in the AVR embedded flash.
Appnote
Software
2007-12-17
AVR998: Guide to IEC60730 Class B compliance with AVR microcontrollers
The International Electrotechnical Commission has introduced the IEC60730 referring to household appliances development. The annex H of IEC60730 describes three software classifications. The second one, the Class B refers to the embedded firmware which are intended to prevent unsafe operation of the controlled equipment.
Appnote
1998-04-01
Understanding the AVR ICEPRO I/O Registers
This Application Note describes the I/O Register views seen in AVR Studio when using the ICEPRO emulator.

UP
3. MIGRATION NOTES
PDF
SW
Updated
Title and description
Appnote
2004-01-12
AVR080: Replacing ATmega103 by ATmega128
This Application Note describes issues to be aware of when migrating from the ATmega103 to the ATmega128 Microcontroller.
Appnote
2003-07-23
AVR081: Replacing AT90S4433 by ATmega8
This Application Note describes issues to be aware of when migrating from the AT90S4433 to the ATmega8 Microcontroller.
Appnote
2004-01-12
AVR082: Replacing ATmega161 by ATmega162
This Application Note describes issues to be aware of when migrating from the ATmega161 to the ATmega162 Microcontroller.
Appnote
2009-10-08
AVR083: Replacing ATmega163 by ATmega16
This Application Note describes issues to be aware of when migrating from the ATmega163 to the ATmega16 Microcontroller.
Appnote
2003-07-23
AVR084: Replacing ATmega323 by ATmega32
This Application Note describes issues to be aware of when migrating from the ATmega323 to the ATmega32 Microcontroller.
Appnote
2004-01-12
AVR085: Replacing AT90S8515 by ATmega8515
This Application Note describes issues to be aware of when migrating from the AT90S8515 to the ATmega8515 Microcontroller.
Appnote
2008-04-14
AVR086: Replacing A90S8535 by ATmega8535
This Application Note describes issues to be aware of when migrating from the AT90S8535 to the ATmega8535 Microcontroller.
Appnote
2004-01-12
AVR087: Migration between ATmega8515 and ATmega162
This application note is a guide to help current ATmega8515 users convert existing designs to ATmega162. The information given will also help users migrating from ATmega162 to ATmega8515.
Appnote
2004-01-12
AVR088: Migration between ATmega8535 and ATmega16
This application note is a guide to help current ATmega8535 users convert existing designs to ATmega16. The information given will also help users migrating from ATmega16 to ATmega8535.
Appnote
2003-05-28
AVR089: Migration between ATmega16 and ATmega32
This application note is a guide to help current ATmega16 users convert existing designs to ATmega32. The information given will also help users migrating from ATmega32 to ATmega16.
Appnote
2005-12-13
AVR090: Migration between ATmega64 and ATmega128
This application note is a guide to help current ATmega64 users convert existing designs to ATmega128. The information given will also help users migrating from ATmega128 to ATmega64.
Appnote
2003-11-04
AVR091: Replacing AT90S2313 with ATtiny2313
This Application Note describes issues to be aware of when migrating from the AT90S2313 to the ATtiny2313 Microcontroller.
Appnote
2003-11-04
AVR092: Replacing ATtiny11/12 with ATtiny13
This Application Note describes issues to be aware of when migrating from the ATtiny11 and ATtiny12 to the ATtiny13 Microcontroller.
Appnote
2003-11-04
AVR093: Replacing AT90S1200 with ATtiny2313
This Application Note describes issues to be aware of when migrating from the AT90S1200 to the ATtiny2313 Microcontroller.
Appnote
2005-04-05
AVR094: Replacing ATmega8 by ATmega88
This Application Note describes issues to be aware of when migrating from the ATmega8 to the ATmega88 Microcontroller.
Appnote
2004-02-11
AVR095: Migrating between ATmega48, ATmega88 and ATmega168
This Application Note describes issues to be aware of when migrating between the ATmega48, ATmega88 and ATmega168 microcontrollers.
Appnote
2004-03-18
AVR096: Migrating from ATmega128 to AT90CAN128
This application note is a guide to help current ATmega128 users convert existing designs to AT90CAN128.
Appnote
2008-04-07
AVR097: Migration between ATmega128 and ATmega1281/ATmega2561
ATmega128 and ATmega1281/ATmega2561 are designed to be a pin and functionality compatible sub family. This application note points out the differences to be aware of when porting code between the devices.
Appnote
2007-02-15
AVR098: Migration between ATmega169 and ATmega329
The ATmega169 and ATmega329 are designed to be a pin and functionality compatible sub family, but there may be a need for some minor modifications in the application when porting code between the devices.
Appnote
2004-09-06
AVR099: Replacing AT90S4433 by ATmega48
This application note is a guide to assist current AT90S4433 users in converting
existing designs to ATmega48.
Appnote
2004-09-06
AVR500: Migration between ATmega64 and ATmega645
This application note is a guide to assist current ATmega64 users in converting
existing designs to ATmega645, and vice versa.
Appnote
2005-03-22
AVR501: Replacing ATtiny15 with ATtiny25
This application note is a guide to assist users of ATtiny15 in converting existing designs to ATtiny25.
Appnote
2005-12-13
AVR502: Migration between ATmega165 and ATmega325
The ATmega165 and ATmega325 are designed to be a pin and functionality compatible sub family, but there may be a need for some minor modifications in the application when porting code between the devices.
Appnote
2005-09-06
AVR503: Replacing AT90S/LS2323 or AT90S/LS2343 with ATtiny25
This application note is a guide to assist users of AT90S/LS2323 and, AT90S/LS2343 converting existing designs to ATtiny25.
Appnote
2008-04-03
AVR504: Migrating from ATtiny26 to ATtiny261/461/861
This application note is a guide to assist users of ATtiny26 in converting existing designs to ATtiny261 (and ATtiny461/861)
Appnote
2006-06-30
AVR505: Migration between ATmega16/32 and ATmega164P/324P/644(P)
This application note summarizes the differences between ATmega16/32 and ATmega164P/324P/644(P) and is a guide to assist current ATmega16/32 users in converting existing designs to the ATmega164P/324P/644(P).
Appnote
2007-02-13
AVR506: Migration from ATmega169 to ATmega169P
The ATmega169P is designed to be pin and functionality compatible with ATmega169, and this application note summarizes the differences between them.
Appnote
2006-11-24
AVR507: Migration from ATmega329 to ATmega329P
This application note summarizes the relevant differences when migrating from
ATmega329 to ATmega329P.
Appnote
2006-07-24
AVR508: Migration from ATmega644 to ATmega644P
This application note summarizes the relevant differences when migrating from
ATmega644 to ATmega644P.
Appnote
2006-11-24
AVR509: Migration between ATmega169P and ATmega329P
This application note summarizes the differences between ATmega169P, and
ATmega329P.
Appnote
2006-07-24
AVR510: Migration between ATmega329/649 and ATmega3290/6490
This application note summarizes the differences between ATmega329/649 and
ATmega3290/6490.
Appnote
2006-11-24
AVR511: Migration from ATmega3290 to ATmega3290P
This application note summarizes the relevant differences when migrating from
ATmega3290 to ATmega3290P.
Appnote
2006-07-24
AVR512: Migration from ATmega48/88/168 to ATmega48P/88P/168P
This application note summarizes the relevant differences when migrating from
ATmega48/88/168 to ATmega48P/88P/168P.
Appnote
2007-03-07
AVR513: Migration from ATmega165 to ATmega165P
The ATmega165P is designed to be pin and functionality compatible with ATmega165, and this application note summarizes the differences between them.
Appnote
2007-03-07
AVR514: Migration from ATmega325 to ATmega325P
This application note summarizes the relevant differences when migrating from
ATmega325 to ATmega325P.
Appnote
2007-09-22
AVR515: Migrating from ATmega48/88/168 and ATmega48P/88P/168P/328P to ATtiny48/88
This application note is a guide to assist users of ATmega48/88/168 and ATmega48P/88P/168P/328P in converting existing designs to ATtiny48/88.
Appnote
2009-07-01
AVR520: Migrating from ATtiny13 to ATtiny13A
The ATtiny13A is a functionally identical, drop-in replacement for the ATtiny13. All devices are subject to the same qualification process and same set of production tests but since the manufacturing process is not the same, some electrical characteristics differ. This application note aims to outline the differences between the two devices and the data sheets.
Appnote
2008-12-07
AVR526: Migrating from ATtiny24/44 to ATtiny24A/44A
The ATtiny24A/44A is a functionally identical, drop-in replacement for the ATtiny24/44. All devices are subject to the same qualification process and same set of production tests, but as the manufacturing process is not the same some electrical characteristics differ.
Appnote
2009-08-23
AVR527: Migrating from ATmega164P/324P/644P to ATmega164PA/324PA/644PA
The ATmega164PA/324PA/644PA is a functionally identical, drop-in replacement for the ATmega164P/324P/644P. All devices are subject to the same qualification process and same set of production tests, but as the manufacturing process is not the same some electrical characteristics differ.
Appnote
2009-01-09
AVR528: Migrating from ATmega48/88 and ATmega48P/88P to ATmega48PA/88PA
The ATmega48PA/88PA is a functionally identical, drop-in replacement for the ATmega48P/88P. All devices are subject to the same qualification process and same set of production tests, but as the manufacturing process is not the same some electrical characteristics differ.
Appnote
2009-03-12
AVR524: Migrating from ATmega64 to ATmega64A
The ATmega64A is a functionally identical, drop-in replacement for the ATmega64. All devices are subject to the same qualification process and same set of production tests, but as the manufacturing process is not the same some electrical characteristics differ.
Appnote
2009-10-09
AVR531: Migrating from ATtiny261/461/861 to ATtiny261A/461A/861A
The ATtiny261A/461A/861A is a functionally identical, drop-in replacement for the ATtiny261/461/861. All devices are subject to the same qualification process and same set of production tests, but as the manufacturing process is not the same some electrical characteristics differ.
Appnote
2009-12-18
AVR533: Migrating from ATtiny2313 to ATtiny2313A
The ATtiny2313A is a functionally identical, drop-in replacement for the
ATtiny2313. All devices are subject to the same qualification process and same set
of production tests, but as the manufacturing process is not the same some
electrical characteristics differ.
Appnote
2009-12-08
AVR535: Migrating from ATtiny26 to ATtiny261A/461A/861A
This application note is a guide to assist users of ATtiny26 in converting existing designs to ATtiny261A. The document will also assist ATtiny26 users to migrate to the ATtiny461A and ATtiny861A devices, which are members of the same family as the ATtiny261A, offering larger memories.


UP
4. AVR Wireless
PDF
SW
Updated
Title and description
Appnote
Software
2008-07-01
AVR2002: Raven Radio Evaluation Software
The Radio Evaluation System Software (RES) supports Range/Packet Error Rate (PER), Radio Frequency signal (RF) and Direct Current (DC) characterization testing for the ATAVRRZRAVEN kit.
Appnote
Software
2007-07-30
AVR2001: AT86RF230 Software Programmer's Guide
This application note contains the software programmer-s guide for the AT86RF230 radio transceiver.
Appnote
Software
2008-04-24
AVR2004: LC-Balun for AT86RF230
In some cases the used balun on the ATAVR-RZ502 Radio Boards must be replaced by concentrated elements. Therefore the functionality must be given by the use of capacitors and inductors only. This application note shows how to transform the differential AT86RF230 RF signal into a single-ended 50 ohm antenna without using the original balun.
Appnote
2007-08-01
AVR2005: Design Considerations for the AT86RF230
This application note describes the design and layout of the so-called ?Radio Extender Board¦ (REB) that are provided with the ATAVRRZ502.
Appnote
Software
2007-08-13
AVR2006: Design and characterization of the Radio Controller Board's 2.4GHz PCB Antenna
This application note describes the PCB antenna used on the Radio Controller Board as a part of the ATAVRRZ200. This kit is designed for the evaluation of the Atmel- AT86RF230 2.45 GHz radio transceiver.
Appnote
Software
2007-09-03
AVR2007: IEEE802.15.4 MAC power consumptions for AT86RF230 and ATmega1281
This Application Note describes two ways of estimating the current consumption of the AT86RF230 radio and the ATmega1281 microcontroller as a transceiver system for the IEEE802.15.4? standard.
Appnote
Software
2008-05-27
AVR2009: AT86RF230 v Software Programming Model
The AT86RF230 Software Programming Model (SWPM) shall provide a reference for developers utilizing the radio transceiver AT86RF230 as effective as possible.
Appnote
2008-04-24
AVR2014: AT86RF230 Receiver sensitivity measurements
The Atmel AT86RF230 radio transceiver has a specified receiver sensitivity of -101 dBm. The following document shall provide the information that is required for measuring this value with available Hard- and Software.
Appnote
Software
2008-03-26
AVR2015: AVR2015: RZRAVEN Quick Start Guide
This application note describes how to get started with the RZRAVEN kit. The RZRAVEN kit is built around three main components; the hardware itself, the firmware running on the RZUSBSTICK and AVRRAVENs, and the AVR Wireless Services PC suite.
Appnote
Software
2008-03-18
AVR2016: AVR2016: RZRAVEN Hardware User's Guide
The RZRAVEN is a development kit for the AT86RF230 radio transceiver and the AVR microcontroller. It serves as a versatile and professional platform for developing and debugging a wide range of RF applications; spanning from: simple point-to-point communication through full blown sensor networks with numerous nodes running complex communication stacks.
Appnote
Software
2008-05-26
AVR2017: AVR2017: RZRAVEN Firmware
This application note contains the source code and project files for the applications running on the RZRAVEN kit.

To download the software file a limited software license agreement must be accepted. Click here to download from the Atmel web site.
Appnote
Software
2008-05-08
AVR2022: AT86RF231 v Software Programming Model
The AT86RF231 Software Programming Model (SWPM) shall provide a reference for developers utilizing the radio transceiver AT86RF231 as effective as possible.
Appnote
2008-07-21
AVR2021: AT86RF231 Antenna Diversity
This application note describes the usage, design, and layout of the AT86RF231 Antenna Diversity. The information provided is intended as a helping hand for hardware designers to make use of the AT86RF231 Antenna Diversity capabilities.
Appnote
2008-08-22
AVR2023: AT86RF231 PCB reference design for antenna diversity
The AT86RF231 diversity board demonstrates the capabilities of the 802.15.4 compliant 2.4 GHz radio transceiver AT86RF231. With the high performance ATmega1281V AVR microcontroller it serves as a full function network node that is capable of hosting a MAC implementation driven by two AAA batteries for more than one year. Two ceramic chip antennas increase the link budget in a typical indoor scenario with multipath fading effects.
Appnote
2010-02-24
AVR2052: ATAVRRZRAVEN - BitCloud Quick Start Guide
This document is intended for engineers and software developers evaluating BitCloud with ATAVRRZRAVEN kit.
Appnote
2009-09-10
AVR2027: AES Security Module
This document briefly reviews IEEE 802.15.4 /ZigBee- cryptography and shows how the AT86RF231-s and AT86RF212-s security modules simplify the implementation of these features.
Appnote
Software
2009-08-23
AVR2028: AT86RF212 v Software Programming Model
The AT86RF212 Software Programming Model (SWPM) shall provide a reference for developers utilizing the radio transceiver AT86RF212 as effective as possible.


UP
5. AVR XMEGA
PDF
SW
Updated
Title and description
Appnote
2009-04-03
AVR1000: Getting Started Writing C-code for XMEGA
Short development times and high quality requirements on electronic products has made high-level programming languages a requirement. The choice of programming language alone does not ensure high readability and reusability; good coding style does. Therefore the XMEGA™ peripherals, header files and drivers are designed with this in mind.
Appnote
Software
2008-02-25
AVR1001: Getting Started With the XMEGA Event System
The XMEGA? event system is a set of features that allows peripherals to interact without intervention from the CPU. Several peripheral modules can generate events, often on the same conditions as interrupt requests.
Appnote
Software
2009-11-02
AVR1003: Using the XMEGA Clock System
The XMEGA? Clock System is a set of highly flexible modules that provides a large portfolio of internal and external clock sources. An internal high-frequency PLL and a flexible prescaler block provide a vast amount of possible clock source configurations, both for the CPU and peripherals.
Appnote
2009-11-19
AVR1005: Getting started with XMEGA
The AVR® product portfolio has been expanded with the XMEGA™ family. Many ask if this is a new architecture and are uncertain how their experience with megaAVR® transfers to AVR XMEGA. This document briefly introduces the similarities and differences between the two AVR families, and provides an overview of the available tool chain.
Appnote
Software
2009-10-09
AVR1008: Writing  EEPROM and Flash in ATxmega256/128/64A3 revision B and ATxmega256A3B revision B
This document describes a workaround for the errata 7 that is present on revision B of XMEGA™ A3 family and the revision B of the ATxmega256A3B. Please refer to the datasheet for details about the errata.
Appnote
Software
2009-11-19
AVR1010: Minimizing the power consumption of XMEGA devices
This application note describes what must be done to achieve the lowest possible power consumption for XMEGA devices. Example code is also supplied, which compiles with both GCC and IAR Embedded Workbench®.
Appnote
2009-12-09
AVR1012: XMEGA A Schematic Checklist
This application note describes a common checklist which should be used when
starting and reviewing the schematics for a XMEGA A design.
Appnote
Software
2010-02-17
AVR1300: Using the XMEGA ADC
This application note describes the basic functionality of the XMEGA ADC with code examples to get up and running quickly. A driver interface written in C is included as well.
Appnote
Software
2008-04-16
AVR1301: Using the XMEGA DAC
This application note describes the basic functionality of the XMEGA DAC with code examples to get up and running quickly. A driver interface written in C is included as well.
Appnote
Software
2008-04-14
AVR1302: Using the XMEGA Analog Comparator
This application note describes the basic functionality of the XMEGA AC with code examples to get up and running quickly. A driver interface written in C is included as well.
Appnote
Software
2008-07-31
AVR1303: Use and configuration of IR communication module
This application note describes the basic functionality of the IRCOM module in the AVR® XMEGA™ with code examples to get up and running quickly. A driver interface written in C is included as well.
Appnote
Software
2009-07-22
AVR1304: Using the XMEGA DMA Controller
This application note describes the basic functionality of the XMEGA DMAC with code examples to get up and running quickly. A driver interface written in C is included as well.
Appnote
Software
2008-02-25
AVR1305: XMEGA Interrupts and the Programmable Multi-level Interrupt Controller
The XMEGA? Interrupt mechanisms and the Programmable Multi-level Interrupt Controller (PMIC) are described in this application note. The application note also offers a C code example that shows how the PMIC can be accessed.
Appnote
Software
2008-02-25
AVR1306: Using the XMEGA Timer/Counter
The XMEGA? Timer/Counter modules are true 16-bit Timer/Counters with Input Capture and Pulse Width Modulation (PWM) functionality. This application note gives an introduction on how to use the XMEGA Timer/Counter modules for timing, Input Capture and PWM.
Appnote
Software
2008-02-25
AVR1307: Using the XMEGA USART
This application note describes how to set up and use the USART in asynchronous mode in the XMEGA?. C code drivers and examples are included for both polled and interrupt controlled USART applications.
Appnote
Software
2009-07-22
AVR1308: Using the XMEGA TWI
This application note describes how to set up and use the TWI module in the XMEGA. C code drivers and examples are included for both master and slave applications.
Appnote
Software
2009-11-02
AVR1309: Using the XMEGA SPI
This application note describes how to set up and use the SPI module in the AVR- XMEGA. Both interrupt controlled and polled C code drivers and examples are included for master and slave applications.
Appnote
Software
2009-04-16
AVR1310: Using the XMEGA Watchdog Timer
The XMEGA? AVR- family offers a very robust internal watchdog: Ordinary integrated Watchdog Timers often use the CPU clock as clock source, while the XMEGA Watchdog Timer-s clock source is independent from the CPU clock. This means that failure of the main clock would not affect the Watchdog Timer operation.
Appnote
Software
2010-02-17
AVR1311: Using the XMEGA Timer/Counter Extensionsr
Some Timer/Counters on the XMEGA? have extension modules that are useful for applications such as motor and power control applications. This document gives an introduction to the extension modules available and how to use them.
Appnote
Software
2008-02-25
AVR1312: Using the XMEGA External Bus Interface
This application note describes the basic functionality of the XMEGA EBI with code examples to get up and running quickly. A driver interface written in C is included as well.
Appnote
Software
2008-02-25
AVR1313: Using the XMEGA IO Pins and External Interrupts
This application note gives an introduction to the usage of the highly configurable XMEGA? I/O pins and external interrupts.
Appnote
Software
2008-02-25
AVR1314: Using the XMEGA Real Time Counter
This application note covers the use of the 16-bit Real Time Counter (RTC) in the XMEGA?.
Appnote
Software
2008-04-23
AVR1315: Using the XMEGA EEPROM
This application note describes the basic functionality of the XMEGA? EEPROM with code examples to get up and running quickly. A driver interface written in C is included as well.
Appnote
Software
2008-11-27
AVR1316: XMEGA Self-programming
This application note contains descriptions of the basic functionality of the XMEGA? Self-programming feature and code examples to get up and running quickly. A driver interface written in assembly with a C interface is included as well.
Appnote
Software
2008-04-23
AVR1317: Using the XMEGA built-in DES accelerator
The XMEGA™ family has an instruction set extension that is performing DES iterations. This application note describes the basic functionality of the XMEGA DES instructions with code examples to get up and running quickly. A driver interface written in C and Assembler is included as well.
Appnote
Software
2008-04-23
AVR1318: Using the XMEGA built-in AES accelerator
This application note describes the basic functionality of the XMEGA™ AES with code examples to get up and running quickly. A driver interface written in C is included as well.
Appnote
Software
2008-07-30
AVR1600: Using the XMEGA Quadrature Decoder
This application note describes the basic functionality of the XMEGA QDECs with code example.
Appnote
Software
2010-02-24
AVR1605: XMEGA? Boot Loader Quick Start Guide
This Application Note describes how to use a boot loader application with one of the
XMEGA family devices (i.e. ATxmega128A1) and how an AVR with the Store
Program Memory (SPM) instruction can be configured for Self-programming.
Appnote
Software
2009-12-09
AVR1606: XMEGA Internal RC Oscillator Calibration
This application note describes a fast and accurate method to calibrate the internal RC oscillator. It offers an easily adaptable calibration firmware source code, which can be used with any XMEGA with internal tunable RC oscillator and JTAG interface. This firmware allows device calibration using the AVR- tools JTAGICE mkII and AVRONE.
Appnote
2008-02-25
AVR1900: Getting started with ATxmega128A1 on STK600
This document contains information about how to get started with the ATxmega128A1 on STK-600.
Appnote
Software
2010-01-26
AVR1907: Xplain Hardware User's Guide
The Xplain evaluation kit is a hardware platform to evaluate the ATxmega128A1. The kit offers a larger range of features that enables the XMEGA? user to get started using the XMEGA's peripherals right away and to get an understanding of how to integrate the XMEGA in their own design.


UP
6. Battery Management AVR
PDF
SW
Updated
Title and description
Appnote
Software
2008-10-17
AVR351: Runtime calibration and compensation of RC oscillators
Due to frequency drift over temperature, the clock sources in AVR should be calibrated at operating temperature or runtime if system temperature changes over time, to achieve the best possible accuracy. Several of the new battery-monitoring devices have a very accurate coulomb counting ADC, and thus need a precise time reference to achieve the best possible results.
Appnote
Software
2008-10-17
AVR352: Using the Coulomb Counting ADC
This application note describes how to use the CC-ADC to get maximum accuracy and lowest possible current consumption.
Appnote
Software
2008-10-17
AVR353: Voltage Reference Calibration and Voltage ADC Usage
Some of the new Atmel AVR- Smart Battery devices contain a very accurate low power bandgap voltage reference which when calibrated correctly has less than 90ppm/¦C drift from v10¦C to +70¦C and absolute accuracy of typically +/-1mV. This is the reference used for the internal Voltage ADC and Coulomb Counting ADC.
Appnote
Software
2008-10-17
AVR354: Using the Deep Under-Voltage Recovery Mode (DUVR)
Charging Li-ion battery cells from a deeply discharged condition and at the same time keep full control of the charging sequence, is a challenge in many applications.
Appnote
Software
2008-10-30
AVR455: ATAVRSB201 User's guide
The ATAVRSB201-1/SB201-2 kits are evaluation and development kits for the new Atmel AVR- smart battery device ATmega16HVA. This device is made for battery packs with 1 series or 2 series lithium ion and lithium polymer cells, and feature autonomous battery protection as well as very accurate voltage, current and temperature monitoring capabilities.
Appnote
Software
2008-12-07
AVR456: Firmware User's Guide for SB201-1 & SB201-2
This document describes an example implementation of a smart battery for the Atmel- SB201-1 and SB201-2 reference designs. The implementation demonstrates how to use the ATmega8HVA/16HVA AVR- to gain optimal safety and accuracy for a Lithium-Ion rechargeable battery-pack. All code is freely available to allow for easy evaluation and further development.

To download the software file a limited software license agreement must be accepted. Click here to download from the Atmel web site.
Appnote
Software
2008-10-24
AVR459: SB200 Hardware User's Guide
The SB200 is a development platform for SB20x smart battery reference designs, which offers an easy way to start evaluation and hence development of smart battery applications using Atmel- AVR- microcontrollers.
Appnote
Software
2008-11-07
AVR491: Quick start guide for SB200
This document gives an introduction to the use of the SB200. It explains how the SB200 hardware and PC software is used and how it can be used to demonstrate and evaluate the SB201 features and performance.