USBasp firmware update

If you have a USBasp especially an older or Chinese version you may want to consider a USBasp firmware update. If you go to the website:

https://fischl.de/usbasp/

Here you can download the .hex code. There are also other firmwares available on other websites that you may want to consider. I have put a link later in this article where you can upload a firmware into the USBasp that makes it WCID compliment. That means it will just use the native Windows USB driver and you wont have to mess around disabling or loading other drivers or using Zadig or just hoping it will work.

Identify what type of USBasp you have

Before you upgrade the firmware you need to know what chip you have in your USBasp. It will probably be an ATMega88, ATMega48 or an ATMega8. You can see what’s printed on it with a magnifier. Mine was a ATMega8.

As you are a USBasp user you will more than likely know a bit about ISP. This is how we are going to upgrade the firmware on the USBasp by in circuit programming the ATMega. Unfortunately you are going to have to use another programmer to do it. Most people either use an Arduino or another USBasp. I decided to do it with another USBasp. The reasons being that I would then have a spare USBasp (never a bad thing to have a back up device – just in case). It’s also easier to wire up as you can just plug the two devices together with the lead you already use.

The first thing to do is to check to see if you have a device that is going to be easy to upgrade or not. In order to program the USBasp you need to short a link out. On the newer devices it is clearly marked as JP2 and is screen printed on the circuit board on the older ones you might have to link up two tracks by soldering which can be messy and cause major problems if you get it wrong so make sure its within your capabilities before you start if you’ve got an old on.

Solder in a DIL connector

Mine is a new version and although you can easily solder a wire link, once you’ve programmed the new firmware you have to cut or unsolder the link so I thought it would be a much neater and better way to actually solder the correct DIL pin connector in and use a proper jumper. Then you can slot in in place and remove it whenever you want if you need to upgrade the firmware in the future.

So get the device you are going to upgrade and short out JP2 either by soldering a link or with a jumper. Plug the two USBasp’s together using the two 10 way connects and the 10 way ribbon cable. Then set the programming USBasp to provide 5 V by setting the jumper next to JP2. On my device this is clearly marked 3.3V 5 V. Then plug it into the laptop you normally use for programming.

Programming the new firmware

Go to the website and download the correct firmware for your device. Then put it in drive C user your name.

I do this because every time I try to link the command to where the file is I get something like this message:

avrdude: can’t open input file usbasp.atmega8.2011-05-28.hex: No such file or directory

If you get an error message like this it usually means you’ve got the file you want to upload in the wrong place. I find it a lot easier to put the file in the place I know the command line is looking for so for me I put the file:

usb.atmega8.2011-05-28.hex

In drive C/Users/”your name”

Then with Winavr, using CMD I use the command:

avrdude -p atmega8 -c usbasp -U flash:w:usbasp.atmega8.2011-05-28.hex:i -F -P usbThis will then erase the .hex file in the mega8 and burn the new file.With the new firmware I now no longer get the message:Cannot set sck period. Need to update firmware version.Other messages you might get are:

avrdude: Device signature = 0x1e930b

avrdude: Expected signature for ATMEGA8 is 1E 93 07

This is if you have the wrong Mega, either in the USBasp or in the commecnd line program.

Once you have upgraded your USBasp firmware don’t forget to remove the jumper JP2.

Here is a link to the firmware to make your USBasp WCID compliment. You should then be able to wave goodbye to all those Windows driver problems:

https://github.com/dioannidis/usbasp

Final thoughts on a USBasp firmware update

It’s fairly quick and easy to do a USBasp firmware update. As long as you have another means to program it and follow the steps. Usbasp’s are available from Amazon for £7.  If you are a prime member you can get your order next day free delivery.