AVR-Doper is an STK500 compatible In System Programmer (ISP) and High Voltage Serial Programmer (HVSP). It comes with a built-in USB to Serial adaptor to connect to modern host computers which often don’t have a serial interface. The project implements a low speed USB device in firmware only. No USB capable controller or converter is used. The device is very useful gadget for hobbyists who want to get started with AVRs, especially with a total cost in the range of 10 USD.
“The firmware implementation of a low speed USB device is an exercise in assembler optimization. Since most AVR instructions are executed in one clock cycle, it is possible to implement NRZI coding and bit-stuffing plus administrative tasks in eight clock cycles per bit. With a firmware implementation, interfacing to USB is easier and cheaper than interfacing to RS232 since no high voltage level conversion is needed,” said Christian Starkjohann, the project designer.
The AVR’s pulse width modulator and one ADC channel are used to implement a step-up DC converter in firmware. This approach saves the cost and board space of a separate DC converter control circuit. The entire design is based on free development tools, The GNU C-compiler and avr-libc. Only the low level USB data pump is assembler, everything else is written in “C”.
- HVSP allows using RESET pin for I/O, which is especially beneficial on 8 and 14 pin devices such as the ATTiny25/25/85 or ATTiny24/44/84.
- Simple hardware which can be built on a single sided PCB. No special USB chips are needed.
- Compatible to Atmel’s STK500 with built-in USB to Serial converter.
- Adjustable ISP clock allows flashing of devices clocked at very low rate, e.g. 32 kHz.
- ISP clock can be lowered with a jumper (if the programmer software does not support setting the ISP clock).
- Second USB to Serial converter for processing debug output from the target.
- HVSP connector compatible to HVProg, another STK500 compatible programmer (www.der-hammer.info/hvprog/index_en.htm). Socket adaptors can therefore be shared among the two projects.
- Open Source (including firmware and schematics).
- Uses USB bus power supply, no external power supply required.
For more detail: STK500 Compatible ISP using AVR microcontroller