USBasp drivers for 64 bit Windows 7

The most cost-effective way to program an ATmega/ATtiny MCU that’s not embedded in a development board such as the Arduino is to buy yourself a USB in-system programmer (ISP). There are dozens available on ebay for just a few pounds, and that’s where I got mine.

Unfortunately when it arrived I discovered that there were no ‘official’ drivers for 64-bit editions of Windows such as Windows 7 x64 which I use.

A quick look around the net yielded some hope with blogs and forum posts all offering up possible fixes ranging from unofficial drivers to hacks that disabled checking the digital signature on the USB driver – signed drivers are now a mandatory requirement for the 64 bit editions of Windows. None of these worked. I even resorted to compiling an x64 version of avrdude to see if that would help. No go.

Finally I stumbled across a Windows port of the libusb driver used by avrdude to communicate with USB programmers. The package came with instructions on how to create the .INF file required by the Windows device manager.

This worked and so I’ve packaged up everything you need to get going with the USBasp on Windows 7 x64. You can download the package from my downloads page.

How to install it

  1. Plug in your USBasp device (I’m sure you’ve already done this if you’ve googled this page!). It will fail to install the drivers. We don’t care. If you have already hacked around and attempted to install drivers then remove them by right-clicking on the USBasp icon in the device manager and selecting ‘uninstall’. Let it delete the driver files when it prompts you and then remove and re-insert the device.
  2. Extract the downloaded files from the zip to somewhere on your hard disk.
  3. Open up the device manager. The USBasp device should have a yellow exclamation mark on it. Right click on it to install the drivers. Navigate to the USBasp folder that you extracted from the archive. Windows should automatically install the driver.

Troubleshooting

I’ve included a few free utilities in the ‘utils’ folder to help you diagnose problems. If you still can’t get avrdude to recognise the USBasp device then follow these steps.

  1. Run usbview.exe. It will display all the USB hubs and devices in your computer. Look through this carefully for the USBasp device. If it’s not there then it’s possible you have a faulty ISP.
  2. Run testlibusb-win.exe. This one is the key. The window needs to show details of the USBasp device. If it doesn’t then something has gone wrong with the driver installation. avrdude uses libusb to find the device so if this test program can’t see it then neither can avrdude.


testlibusb-win.exe running successfully

Final notes

For some reason on my system if I remove the ISP from the hub built in to my computer motherboard and exposed through the front panel of the case and insert it into the hub built in to my monitor then the libusb driver disappears and I have re-install it. Weird.

I hope this page helps

  • Chris John

    This looks sensible stuff. My UsbIsp unfortunately is unprogrammed courtesy of HobbyKing who promise to send me one that works. I'll be getting another and using your software. I'm experienced in hardware and software, but last worked in 1990 and so a bit out of date.

  • Poppy Ann

    i tried your program and at first i thought it was going to work but partway through it threw up an error saying "An attempt was made to load a program with an incorrect format"
    any ideas what it could be?

    regards Poppy Ann