The author of this programmer is the German Thomas Fichl, a page of its development with diagrams, files of printed circuit boards and drivers.
Once it was decided to assemble a miniature programmer, I redraw the circuit for the Atmega8 microcontroller in the TQFP32 package (the pinout of the microcontroller differs from the pinout in the DIP package):
umper J1 is used if it is necessary to flash the microcontroller with a clock frequency below 1.5 MHz. By the way, this jumper can be completely eliminated by placing the 25th leg of the MK on the ground. Then the programmer will always work at a lower frequency. I personally noted for myself that programming at a reduced speed for a fraction of a second longer, and so now I don’t pull the jumper, but always sew it.
Zener D1 and D2 are used to coordinate the levels between the programmer and the USB bus, they will work without them, but not on all computers.
The blue LED indicates that the circuit is ready for programming, red lights up during programming. Contacts for programming are displayed on the IDC-06 connector, the pinout conforms to the ATMEL standard for a 6-pin ISP connector:
Contacts are brought to this connector for powering programmable devices, here it is taken directly from the computer’s USB port, so you need to be careful not to allow short circuits. The same connector is also used for programming the control microcontroller; to do this, simply connect the Reset pins to the connector and to the microcontroller (see the red dotted line in the diagram). In the author’s scheme, this is done by a jumper, but I did not clutter up the board and removed it. For a single firmware, a simple wire jumper is enough. The board turned out to be two-sided, with dimensions of 45×18 mm.
A connector for programming and a jumper to reduce the speed of the programmer at the end of the device, it is very convenient
Khazama AVR Programmer
To work with the programmer, I chose the Khazama AVR Programmer. Wonderful program with a minimalist interface.
It works with all AVR running microcontrollers, allows you to flash flash and eeprom, view the contents of the memory, erase the chip, and also change the configuration of fusion bits. In general, it is quite a standard set. Setting up fyuzov by selecting the source of clocking from the drop-down list, thus, the probability to lock the crystal by mistake is sharply reduced. Fyyuza can be changed and the arrangement of daws in the lower field, while you can not arrange the daws on a non-existent configuration, and this is also a big plus in terms of security.
The Default button is intended for recording standard fusion configurations, such as which microcontrollers come from the factory (usually 1 MHz from the internal RC).
In general, for all the time using this programmer, he showed himself from the best side in terms of stability and speed of work. It works without any problems both on the old stationary PC and on the new laptop.
You can download the PCB file made with Sprint Layout at this link.