USB Flash Programmer for Atmel AT89C2051 controllers

Last update: Tue 16 Aug 2016 04:39:55 PM CEST

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:




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:


Useful links:


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

Comments 3

????????? (Mon 06 Feb 2017 - 07:05:17 PM CET)
driver win7 ???????????????????????????????????????????????????????????????????????????????????????????????
Aleks (Mon 06 Feb 2017 - 07:09:29 PM CET)
Please lay out the driver for win7
Andi (Wed 08 Feb 2017 - 11:53:03 PM CET)
Sorry, there is no driver for Windows 7 or later available. I was using Windows XP when developing the USB programmer...


Write new comment


Captcha:  7jzpd