Using Elementz USBASP to program 8051 Microcontroller

This post is intended to enable users to program 8051 microcontrollers including Atmel’s AT89S51 and AT89S52 using the modified USBASP for 8051 microcontrollers.

IMG_0013 copy

Supported 8051 microcontrollers

  • AT89S51
  • AT89S52

As in the case of AVR microcontrollers, the 8051 microcontrollers such as 89S51/52 can also be programmed using the Avrdude compatible USBASP programming by tweaking the AvrDude configuration settings.

The 8051 compatible AVR bundle can be downloaded from here.

Edit the bat file to include the hex file required for programming. An example bat file is also included in the download bundle.

Note: Normal USBASP programmers are not able to program the 8051 architecture ICs. Modification of firmware in USBASP is required for achieving the task. So please buy the USBASP programmer labelled 8051 compatible for programming 8051 ICs.

The driver installation procedure for the 8051 programmers is the same as that of USBASP for AVR. The same driver file can be used for the driver installation. The drivers can be installed from here. (windows driver –

AVRDudeGUI(not normal one – It’s tweaked for 8051 compatibility) which can be downloaded from here can also be used for programming 8051 ICs.

Simply select the device as AT89S51, browse the hex file for writing and press Execute button. The selected file will be burnt to the 8051 microcontroller connected to the USBASP port.

Look into the below screenshots for correct configuration.

Note: Do not use write, read fuse bits settings since the 8051 microcontrollers doesn’t have any fuse settings. Otherwise, an unknown error will be shown in the console output.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s