Skip to content

USB programmer for Atmel AVR controllers (based on USBasp) with extra features

License

Notifications You must be signed in to change notification settings

yellobyte/USB-Atmel-In-Circuit-Programmer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

USB Atmel in-circuit programmer for AVR controllers

This is yet another version of Thomas Fischl's USBasp device, an USB in-circuit programmer for Atmel AVR controllers.

The idea to put the USBasp into a nice little enclosure from Fischer Elektronik (Enclosure Model: FR 55 25 80 ME) I got from Ulrich Radig's website.

What I really missed were some buttons to quickly select/deselect the two very helpful features "Slow Programming Speed" and "Powering Target" if needed. Further I missed a small 6-pin box header with 1.27mm pitch for connections to small targets that don't have enough space on their PCB to fit a big 10-pin/6-pin box header with 2.54mm pitch (20.3mm x 8.9mm resp. 15.22mm x 8.9mm in size).

Therefore I integrated those little goodies and that's the result as shown below.

Front side with 2 Buttons and USB Socket:

github

Rear side with box headers (1.27mm/2.54mm pitch) and LEDs:

github

Flashing a target via small box header:

github

Some technical infos

The PCB is very similar to the one Ulrich Radig created for the same enclosure. As mentioned before, I additionally added 2 subminiature push buttons and a small Samtec 6-pin box header with 1.27mm pitch.

Wiring of both headers (6-pin & 10-pin) follow the standards for AVR in-system programming. If you are interested and want to dive into detail, have a look at paragraph "In-System Programming interface" here.

The software on the Atmega8 is original USBasp code from Thomas Fischl.

Button S2 is for powering the target. The 5V power supply to the target is fused with a 0.2A self recovering fuse. If the target needs more current it must be powered seperately.

github

Button S1 is for selecting a slow target programming speed. This is very helpful if one tries to flash new AVR controller chips for the very first time. Some AVR controllers, when delivered, use by default an internal clock generator running on a low frequency and therefore won't answer when addressed by an USBasp with normal programming speed, because it is simply too fast for them. That can be a real trap for AVR novices...

Jumper JP1 is only (temporarily) shorted when the Atmega8 in the programmer must be programmed itself. It should be open by default.

The little spring (shown in the lower left corner in the picture above) connects the USB socket shield properly with the aluminium enclosure. The enclosure itself (and therefore the USB cable shield) is only connected to GND of the circuitry via R7||C5 !

The 2 subminiature push buttons (Manufacturer "NKK Switches", Model "BB16AH-FA") and the little box header with 1.27mm pitch (Manufacturer Samtec, Model "SHF-103-01-L-D-TH") are normally available from Mouser/Farnell/etc.

PCB Files

You find the schematic, board pictures and the Gerber production files (rev 1.1) in folder PCB. I zipped all necessary Gerber files into file "USBasp Gerber Files Rev1.1.zip".

All you need is to send the zip file to a decent PCB manufacturer, pay and wait for the PCB(s) to arrive at your doorstep.

Remark:
The pictures in folder Doc still show board revision 1.0. Revision 1.1 is almost identical and contains only cosmetic changes.

About

USB programmer for Atmel AVR controllers (based on USBasp) with extra features

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published