USB Flash Programmer for Atmel AT89C2051 controllers

Update: Sun 18 Sep 2022 10:35:39 PM CEST

Home / TECHNOLOGY / Electronics

I developed an USB programmer for Atmel AT89C2051/4051 controller as part of my lab project in the summer of 2005. As I think the project could also be interesting for other students or engineers I put all things together on this page. You find schematics, board layout files, firmware source code of the main controller (AT89C5131), a simple Windows application and further documentation on this page. Please note that some documents are still only available in the German language.

USB Programmer to flash Atmel AT89C2051/4051 microcontrollers

Requirements and features:

  • This project aimed to create an USB programmer for Atmel microcontrollers AT89C2051/4051. The device should be able to program the flash memory of small C2051 and C4051 devices. There should also be a verify mechanism to make sure the written data was correct.
  • The USB programmer comes with two Windows applications to start and control the upload of new programs: A graphical version (GUI application) and a simple console application for automatic flashing to be called directly from inside an editor or IDE development tool.
  • The Atmel AT89C5131 controller is the heart of the USB programmer. It contains a micro-program to control the entire USB communication and flashing process.
  • The circuit has low power consumption and does not require an additional power supply, it just used the 5V of the USB host.
  • Both Intel hex files and binary images (RAW files) are supported.


The images below illustrate the circuit, configuration and show the resulting programmer:

USB Programmer casing USB Programmer circuit board Connectors of USB programmer Top view Top view of PCB PCB design Case top view Circuit diagram from PSpice




The numbering of the components in the assembly diagram (Figure 4-4) does not match the wiring diagram (Figure 4-2) in the documentation above 'usb_programmer_doku.pdf'.
But a fixed version from H. Gresch (thank you!) is available. The update can be downloaded using the links below:

Please note that Microchip acquired Atmel in 2016. So the Atmel micro controllers can now be obtained from Microchip.

Useful links:


Do you have any suggestions or feedback about this USB programmer? Feel free to write any comments...

Comments 4

Aleks (2017-02-06)
Please lay out the driver for win7
Andi (2017-02-08)
Sorry, there is no driver for Windows 7 or later available. I was using Windows XP when developing the USB programmer...
Frits (2021-03-25)
Hello Andy,

Can you please provide a gerber file of the PCB?
I would love to build your programmer but I am not a pcb designer.
With the gerber file I can let the pcb build for me.
Andi (2021-04-01)
Sorry, I do not have any other files, nor a gerber file. Maybe you can find a Software to convert the .lay file to another format?


Write new comment: