Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
AVR microcontrollers
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Development tools and evaluation kits == [[File:Atmel_STK_500_DSC00557_wp.jpg|right|thumb|Atmel STK500 development board]] Official Atmel AVR development tools and evaluation kits contain a number of starter kits and debugging tools with support for most AVR devices: === STK600 starter kit === The STK600 starter kit and development system is an update to the STK500.<ref>{{cite web|url=http://qaswww.atmel.com/tools/stk600.aspx?tab=related|title=STK600|work=Atmel|url-status=dead|archive-url=https://archive.today/20130215131336/http://qaswww.atmel.com/tools/stk600.aspx?tab=related|archive-date=15 February 2013|access-date=13 January 2013}}</ref> The STK600 uses a base board, a signal routing board, and a target board. The base board is similar to the STK500, in that it provides a power supply, clock, in-system programming, an RS-232 port and a CAN (Controller Area Network, an automotive standard) port via DE9 connectors, and stake pins for all of the GPIO signals from the target device. The target boards have [[Zero insertion force|ZIF]] sockets for [[Dual in-line package|DIP]], [[Small-outline integrated circuit|SOIC]], [[Quad Flat No leads package|QFN]], or [[Quad Flat Package|QFP]] packages, depending on the board. The signal routing board sits between the base board and the target board, and routes the signals to the proper pin on the device board. There are many different signal routing boards that could be used with a single target board, depending on what device is in the ZIF socket. The STK600 allows in-system programming from the PC via USB, leaving the RS-232 port available for the target microcontroller. A 4 [[pin header]] on the STK600 labeled 'RS-232 spare' can connect any TTL level USART port on the chip to an onboard MAX232 chip to translate the signals to RS-232 levels. The RS-232 signals are connected to the RX, TX, CTS, and RTS pins on the DB-9 connector. === STK500 starter kit === The STK500 starter kit and development system features ISP and high voltage programming (HVP) for all AVR devices, either directly or through extension boards. The board is fitted with DIP sockets for all AVRs available in DIP packages. STK500 Expansion Modules: Several expansion modules are available for the STK500 board: * STK501 β Adds support for microcontrollers in 64-pin TQFP packages. * STK502 β Adds support for LCD AVRs in 64-pin TQFP packages. * STK503 β Adds support for microcontrollers in 100-pin TQFP packages. * STK504 β Adds support for LCD AVRs in 100-pin TQFP packages. * STK505 β Adds support for 14 and 20-pin AVRs. * STK520 β Adds support for 14 and 20, and 32-pin microcontrollers from the AT90PWM and ATmega family. * STK524 β Adds support for the ATmega32M1/C1 32-pin CAN/LIN/Motor Control family. * STK525 β Adds support for the AT90USB microcontrollers in 64-pin TQFP packages. * STK526 β Adds support for the AT90USB microcontrollers in 32-pin TQFP packages. === STK200 starter kit === The STK200 starter kit and development system has a [[Dual in-line package|DIP]] socket that can host an AVR chip in a 40, 20, or 8-pin package. The board has a 4 MHz clock source, 8 [[light-emitting diode]] (LED)s, 8 input buttons, an [[RS-232]] port, a socket for a 32 KB [[Static random-access memory|SRAM]] and numerous general I/O. The chip can be programmed with a dongle connected to the parallel port. {| class="wikitable" |+Supported microcontrollers (according to the manual) !Chip ![[Flash memory|Flash size]] ![[EEPROM]] ![[Static random-access memory|SRAM]] !Frequency<br />[MHz] ![[Chip carrier|Package]] |- align="right" | align="left" |AT90S1200 |1 KB |64 B |0 B |12 |PDIP-20 |- align="right" | align="left" |AT90S2313 |2 KB |128 B |128 B |10 |PDIP-20 |- align="right" | align="left" |AT90S/LS2323 |2 KB |128 B |128 B |10 |PDIP-8 |- align="right" | align="left" |AT90S/LS2343 |2 KB |128 B |128 B |10 |PDIP-8 |- align="right" | align="left" |AT90S4414 |4 KB |256 B |256 B |8 |PDIP-40 |- align="right" | align="left" |AT90S/LS4434 |4 KB |256 B |256 B |8 |PDIP-40 |- align="right" | align="left" |AT90S8515 |8 KB |512 B |512 B |8 |PDIP-40 |- align="right" | align="left" |AT90S/LS8535 |8 KB |512 B |512 B |8 |PDIP-40 |} === Atmel-ICE === The Atmel ICE is the currently supported inexpensive tool to program and debug all AVR devices (unlike the AVRISP/AVRISP mkII, Dragon, etc. discussed below). It connects to and receives power from a PC via USB, and supports [[JTAG]], [[Pentaho Data Integration|PDI]], [[aWire]], [[debugWIRE]], [[Serial Peripheral Interface|SPI]], [[JTAG#Similar interface standards|SWD]], [[Tiny Programming Interface|TPI]], and UPDI (the Microchip Unified Program and Debug Interface) interfaces. The ICE can program and debug all AVRs via the JTAG interface, and program with additional interfaces as supported on each device: * 8-bit AVR XMEGA devices via the PDI 2-wire interface * 8-bit megaAVR and tinyAVR devices via SPI for all with OCD (on-chip debugger) support * 8-bit tinyAVR microcontrollers with TPI support * 32-bit SAM Arm Cortex-M based microcontrollers via SWD Target operating voltage ranges of 1.62V to 5.5V are supported as well as the following clock ranges: * Supports JTAG & PDI clock frequencies from 32 kHz to 7.5 MHz * Supports aWire baud rates from 7.5 kbit/s to 7 Mbit/s * Supports debugWIRE baud rates from 4 kbit/s to 0.5 Mbit/s * Supports SPI clock frequencies from 8 kHz to 5 MHz * Supports SWD clock frequencies from 32 kHz to 2 MHz The ICE is supported by the Microchip Studio IDE, as well as a command line interface (atprogram). The Atmel-ICE supports a limited implementation of the Data Gateway Interface (DGI) when debugging and programming features are not in use. The Data Gateway Interface is an interface for streaming data from a target device to the connected computer. This is meant as a useful adjunct to the unit to allow for demonstration of application features and as an aid in application level debugging. === AVRISP and AVRISP mkII === [[File:AVRISP_mkII.jpg|right|thumb|AVRISP mkII]] The AVRISP and AVRISP mkII are inexpensive tools allowing all AVRs to be programmed via [[In-circuit serial programming|ICSP]]. The AVRISP connects to a PC via a serial port and draws power from the target system. The AVRISP allows using either of the "standard" ICSP pinouts, either the 10-pin or 6-pin connector. The AVRISP mkII connects to a PC via USB and draws power from USB. [[Light-emitting diode|LEDs]] visible through the translucent case indicate the state of target power. As the AVRISP mkII lacks driver/buffer ICs,<ref>{{Cite web|url=https://www.takeitapart.com/guide/96|title=AVRISP mkII Disassembled|url-status=dead|archive-url=https://web.archive.org/web/20141108061205/https://www.takeitapart.com/guide/96|archive-date=2014-11-08|access-date=2014-11-08}}</ref> it can have trouble programming target boards with multiple loads on its SPI lines. In such occurrences, a programmer capable of sourcing greater current is required. Alternatively, the AVRISP mkII can still be used if low-value (~150 ohm) load-limiting resistors can be placed on the SPI lines before each peripheral device. Both the AVRISP and the AVRISP mkII are now discontinued, with product pages removed from the Microchip website. As of July 2019 the AVRISP mkII is still in stock at a number of distributors. There are also a number of 3rd party clones available. === AVR Dragon === [[File:AvrDragon.png|thumb|AVR Dragon with [[In-System Programming|ISP programming cable]] and attached, blue/greenish [[Zero insertion force|ZIF Socket]] ]] The Atmel Dragon is an inexpensive tool which connects to a PC via USB. The Dragon can program all AVRs via JTAG, HVP, PDI,<ref>{{cite web|url=http://www.atmel.com/dyn/resources/prod_documents/doc8169.pdf |archive-url=https://web.archive.org/web/20091007220729/http://www.atmel.com/dyn/resources/prod_documents/doc8169.pdf |archive-date=2009-10-07 |url-status=live|title=AVR1005: Getting started with XMEGA, page 7|publisher=Atmel|access-date=7 November 2011}}</ref> or ICSP. The Dragon also allows debugging of all AVRs via JTAG, PDI, or debugWire; a previous limitation to devices with 32 KB or less program memory has been removed in AVR Studio 4.18.<ref>{{cite web|url=http://www.atmel.com/dyn/resources/prod_documents/releasenotes_avrstudio418.txt|title=AVR Studio v4.18 Release Notes|access-date=2012-09-19}}</ref> The Dragon has a small prototype area which can accommodate an 8, 28, or 40-pin AVR, including connections to power and programming pins. There is no area for any additional circuitry, although this can be provided by a third-party product called the "Dragon Rider".<ref>{{cite web|url=http://www.ecrostech.com/AtmelAvr/DragonRider/|title=ECROS Technology - Dragon Rider|date=2008-03-02|publisher=Ecrostech.com|access-date=2012-09-19}}</ref> === JTAGICE === The [[JTAG]] In Circuit Emulator (JTAGICE) debugging tool supports on-chip debugging (OCD) of AVRs with a JTAG interface. The original JTAGICE (sometimes retroactively referred to as JTAGICE mkI) uses an RS-232 interface to a PC and can only program AVRs with a JTAG interface. The JTAGICE mkI is no longer in production, however it has been replaced by the JTAGICE mkII. === JTAGICE mkII === The JTAGICE mkII debugging tool supports on-chip debugging (OCD) of AVRs with SPI, JTAG, PDI, and debugWIRE interfaces. The debugWire interface enables debugging using only one pin (the Reset pin), allowing debugging of applications running on low pin-count microcontrollers. The JTAGICE mkII connects using USB, but there is an alternate connection via a serial port, which requires using a separate power supply. In addition to JTAG, the mkII supports ISP programming (using 6-pin or 10-pin adapters). Both the USB and serial links use a variant of the STK500 protocol. === JTAGICE3 === The JTAGICE3 updates the mkII with more advanced debugging capabilities and faster programming. It connects via USB and supports the JTAG, aWire, SPI, and PDI interfaces.<ref>[http://www.atmel.com/tools/JTAGICE3.aspx JTAGICE3 Product Page]</ref> The kit includes several adapters for use with most interface pinouts. === AVR ONE! === The AVR ONE! is a professional development tool for all Atmel 8-bit and 32-bit AVR devices with On-Chip Debug capability. It supports SPI, JTAG, PDI, and aWire programming modes and debugging using debugWIRE, JTAG, PDI, and aWire interfaces.<ref>[http://www.atmel.com/tools/AVRONE_.aspx AVR ONE! Product Page]</ref> === Butterfly demonstration board === [[File:ATmega169-MLF.jpg|thumb|Atmel ATmega169 in 64-pad [[MicroLeadFrame|MLF]] package on the back of an Atmel AVR Butterfly board]] {{Main|AVR Butterfly}} The very popular AVR Butterfly demonstration board is a self-contained, battery-powered computer running the Atmel AVR ATmega169V microcontroller. It was built to show off the AVR family, especially a then new built-in LCD interface. The board includes the LCD screen, joystick, speaker, serial port, real time clock (RTC), flash memory chip, and both temperature and voltage sensors. Earlier versions of the AVR Butterfly also contained a CdS [[photoresistor]]; it is not present on Butterfly boards produced after June 2006 to allow [[RoHS]] compliance.<ref>[http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3146 AVR Butterfly]</ref> The small board has a shirt pin on its back so it can be worn as a name badge. The AVR Butterfly comes preloaded with software to demonstrate the capabilities of the microcontroller. Factory firmware can scroll your name, display the sensor readings, and show the time. The AVR Butterfly also has a piezoelectric transducer that can be used to reproduce sounds and music. The AVR Butterfly demonstrates LCD driving by running a 14-segment, six alpha-numeric character display. However, the LCD interface consumes many of the I/O pins. The Butterfly's ATmega169 CPU is capable of speeds up to 8 MHz, but it is factory set by software to 2 MHz to preserve the button battery life. A pre-installed bootloader program allows the board to be re-programmed via a standard RS-232 serial plug with new programs that users can write with the free Atmel IDE tools. === AT90USBKey === This small board, about half the size of a business card, is priced at slightly more than an AVR Butterfly. It includes an AT90USB1287 with [[USB On-The-Go]] (OTG) support, 16 MB of [[DataFlash]], LEDs, a small joystick, and a temperature sensor. The board includes software, which lets it act as a [[USB mass storage device class|USB mass storage device]] (its documentation is shipped on the DataFlash), a USB joystick, and more. To support the USB host capability, it must be operated from a battery, but when running as a USB peripheral, it only needs the power provided over USB. Only the JTAG port uses conventional 2.54 mm pinout. All the other AVR I/O ports require more compact 1.27 mm headers. The AVR Dragon can both program and debug since the 32 KB limitation was removed in AVR Studio 4.18, and the JTAGICE mkII is capable of both programming and debugging the processor. The processor can also be programmed through USB from a Windows or Linux host, using the USB "Device Firmware Update" protocols. Atmel ships proprietary (source code included but distribution restricted) example programs and a USB protocol stack with the device. [[LUFA]]<ref>{{cite web|url=http://www.fourwalledcubicle.com/LUFA.php|title=LUFA (Formerly MyUSB)|publisher=Four Walled Cubicle|access-date=2012-09-19}}</ref> is a third-party [[free software]] ([[MIT license]]) USB protocol stack for the USBKey and other 8-bit USB AVRs. === Raven wireless kit === The RAVEN kit supports wireless development using Atmel's [[IEEE 802.15.4]] chipsets, for [[Zigbee]] and other wireless stacks. It resembles a pair of wireless more-powerful Butterfly cards, plus a wireless USBKey; and costing about that much (under $US100). All these boards support JTAG-based development. The kit includes two AVR Raven boards, each with a 2.4 GHz transceiver supporting IEEE 802.15.4 (and a freely licensed Zigbee stack). The radios are driven with ATmega1284p processors, which are supported by a custom [[segmented LCD]] driven by an ATmega3290p processor. Raven peripherals resemble the Butterfly: piezo speaker, DataFlash (bigger), external EEPROM, sensors, 32 kHz crystal for [[Real-time clock|RTC]], and so on. These are intended for use in developing remote sensor nodes, to control relays, or whatever is needed. The USB stick uses an AT90USB1287 for connections to a USB host and to the 2.4 GHz wireless links. These are intended to monitor and control the remote nodes, relying on host power rather than local batteries. === Third-party programmers === A wide variety of third-party programming and debugging tools are available for the AVR. These devices use various interfaces, including RS-232, PC parallel port, and USB.<ref>See [http://www.avrfreaks.net/ avrffreaks.net] for a comprehensive list.</ref> <!-- note that the link to AVR Freaks is also in the external links section below. I haven't "added a link" to this article, per se -->
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)