Evertool using ATmega16 microcontroller
Evertool is an AVRISP/STK500-protocol and JTAGICE compatible Programmer/JTAG debugger.
- ISP Programmer compatible with Atmel AVRISP, directly accessable with AVRStudio and avrdude
- JTAG debugger compatible with Atmel JTAGICE, directly accessable with AVRStudio and AVaRice
- Evertool supports all AVR devices Atmel supports with their AVRISP and JTAGICE.
- Easy update of the programmer for new target AVRs via RS232/serial port
- Rescue clock generaration to recover from wrong fuse-bit-settings
- Simple hardware, standard parts
The ATMEL AVRISP In-System Programmer is a small device to program ATMEL AVR microcontrollers. The original ATMEL AVRISP device is described here. To avoid misunderstandings: ATMEL’s AVRISP is a “small STK500”. Evertool which emulates an AVRISP is not a “bit-bang-programmer” or an AVR910-type-programmer. Evertool “talks” STK500-protocol on the RS232-port since the STK500-firmware ATMEL delivers with the AVRStudio is used. From the programming interface the AVRISP is compatible with the Atmel STK500 in low-voltage serial programming mode.
The ATMEL JTAGICE is a device to program and debug ATMEL AVR microcontrollers with JTAG-Interface (ATmega16, ATmega32, ATmega64, ATmega128…) The ATMEL JTAGICE is described here.
This is a rebuild of both devices on a single board. The main advantage of such a programmer is the compatibility with the ATMEL AVRstudio since it uses the original ATMEL firmware code supplied with AVRStudio on an ATmega16 (JTAG) and ATmega8535 (ISP). So the front-end software (AVRStudio) and programmer firmware are supported by the makers of the target-controllers and new devices should be supported as soon as a new AVRStudio gets released with the new firmware-files for STK500/AVRISP or JTAGICE. With the AVRStudio AVRISP/STK500-plug-in programming of flash, eeprom, fuse- and lockbits is an easy task. The JTAG part of Evertool is compatible with AVRstudio’s JTAGICE plug-in. And yes, it is possible “to jtag” the AVR Butterfly with Evertool.
Before you start you may concider this:
- The original ATMEL AVRISP device is cheap (prices May 2004: ca. 40 EUR incl. Tax at www.reichelt.de, ca. 26 EUR+TAX at de.digi-key.com). So if you don’t need the JTAG-part this universal programmer may not be worth the effort.
- The presented device has no ESD-protection IC or level-shifters on board. Refer to the schematic of the original ATMEL AVRISP device. (Sorry, the schematic of the Atmel JTAGICE is not available here.) But since the AVR IO-pins have a rather good internal protection this should not be a problem.
- You need a programmer to build this programmer. A simple STK200-type dongle will do. Refer to the lancos.com PonyProg page which describes a simple programming interface. The dongle is only needed for 10 minutes so you may borrow one from a friend. Another AVRISP, an AVR910-type programmer or a STK500 will do too, of cause. The programmer is just needed to program the special Evertool bootloader into the ATmega16 once. Updating of Evertool to new firmware(s) is done with the Evertool-bootloader – no additional progammer needed.
- If you are just interested in the JTAG-part: Rainer Radow made a board based on the Evertool JTAG-section. This board only emulates the JTAGICE. More information on “Evertool-Light” further down on this page.
- If you are just interested in the AVRISP-part (although the original by ATMEL is cheap): see the ispRE page.
Evertool has some extra functions:
- Rescue mode, so AVR controllers where the clock fuse bits have been set incorrectly can be reseted and reprogrammed
- Power-supply to the target AVR-controller-board either from a regulated source or from the onboard voltage regulator (3,3V and 5V).
- Reset Button for target AVR (connected to the AVRISP-part)
- 29. Jun. 2004 – updated schematic, picture gallery.
- 30. Jun. 2004 – added “Evertool-light”
- 16. Sept. 2004 – added remark about “L”-type AVRs
- 20. Sept. 2004 – updated schematic (power-supply), Hardware Version 0.9
- 14. Jan. 2005 – updated Evertool schematic (JTAG VTG voltage-Divider). Thanks to Martin Kohout for spotting this.
- 28. Jan. 2005 – Remark about ATmega8535 chip-erase problem with bootloader version 0.2 in section “Software”.
- 11. Feb. 2005 – Updated Bootloader binary (version 0.7)
- 7. Mar. 2005 – Remark about avrdude and STK500/AVRISP Firmware 2 in section “operation”
- 19. Apr. 2005 – moved Pull-up from PD4 to PD6. Thanks to Björn B.
- 17. Dec. 2005 – A current-limiting resistor (around 200 Ohm) should be placed between the Target-Reset-Button and GND (Schematic will be updated soon). Thanks to Dirk Büttner
- 24. Jan. 2006 – Information about how to program the AVR fuses with Ponyprog. Provided by Jeff Havens. Thank you, Jeff.
- 2. Feb. 2006 – Added Step-by-Step guide for softare-installation on Evertool-LIGHT
- 8. Sept. 2006 – Evertool-based device with USB by Florian Schenk
- The schematic is as free as ATMEL made their schematics freely available.
- The layout is copyrighted. Free for non-commercial use. For commercial use please contact me by e-mail.
- The bootloader is also copyrighted. Free for non-commercial use. For commercial use please contact me by e-mail.
- It’s also free to build yourself an Evertool for your work and just use the tool for programming/debugging.
Here commercial use is meant as: building and/or selling devices with the Evertool PCB-Layout with or without a preinstalled Evertool-Bootloader or selling the Evertool-Bootloader itself without hardware (as binary, source-code or programmed in a controller). Or just simply: If you earn money with my work, you owe me a part of your profit.
For more detail: Evertool using ATmega16 microcontroller
Leave a Comment
You must be logged in to post a comment.