Ralph Doncaster writes:
Since the release of V-USB, dozens of projects have been made that allow an AVR to communicate over USB. USB data signals are supposed to be in the range of 2.8 to 3.6V, so there are two recommended ways to have an AVR output the correct voltage. One is to supply the AVR with 3.3V power, and the other is to use 5V power but clip the USB data signal using zener diodes. Most implementations of V-USB, like USBasp, use the zener diodes. I’ll explain why using a 3.3V supply should be the preferred method.
USB interfacing for AVR microcontrollers - [Link]
Raj writes with this technique for installing open source drivers on Windows.
I came across a surprisingly simple approach to installing USBasp and USBtiny drivers for all versions of Windows — XP, 7, 8, 8.1, whether 32-bit or 64-bit, all inclusive! As you may know, installing open-source drivers such as USBasp and USBtiny have been a great pain on some of the recent Windows OS, due to the enforcement of signed drivers. The typical solution involves rebooting Windows into a mode that disables driver signature enforcement. This can be a huge source of frustration.
While searching for ‘fully signed USBasp driver’, I came across this tool called Zadig, which can be used to install libusb drivers on all versions of Windows, and it’s digitally signed. Since USBasp and USBtiny are both based on libusb, it worked really well — I was able to install both drivers on Windows XP, 7 (32-bit and 64-bit), 8, and 8.1 instantly, without messing with driver signature enforcement at all. I was mostly surprised such a great solution wasn’t documented more widely online.
How-to install open source USBasp and USBtiny drivers on Windows - [Link]
I finally got round playing with my AVRASP v2.0 boards. The ones Sleepwalker3 mentioned. Thanks mate!
I bought three USBASP v2.0 on ebay for under £1.50 each. They each came with a short cable (5×2 sockets at each end). However, they do not come with the JP2 header soldered on. Solder it or you won’t be able to re-flash the on-board ATmega8 chip. JP3 on the other hand has been deprecated. It may still have some use in your own projects. You decide!
Then download some software (this is for Windows): To use the USBASP programmer with the Arduino IDE, you will need to download the driver, latest firmware and WinAVR-20100110-install.
Using a USBASP v2.0 as a cheap ATmega8 Arduino platform - [Link]
We wrote this whole page to try to make buyers of USBasp programmer clones aware of what’s possibly out there for sale and the conclusion we came to about the units we bought, after quite some investigative work IT SIMPLY DOES NOT REALLY WORK !!!
We tried to read the flash content, and the blue led flashes, but that’s about it … it does not work
USBasp Experiences – [Link]
Since this is a well working low budget AVR ISP progammer (by Thomas Fischl), I offer a compact single-sided THT-SMD combined layout. The circuit is identical to the official programmer, so the original firmware can be used with this board. This programmer is supported by avrdude. One of the main features is that the low speed USB protocol stack is realized directly with the used AVR controller, which makes this programmer a low budget one, about 5EUR material costs. Notice however that this programmer cannot be used with 3V3 systems without an additional level shifter.
Alternative board for USBasp AVR ISP programmer - [Link]
USBasp is a USB in-circuit programmer for Atmel AVR controllers. It simply consists of an ATMega48 and ATMega88 an ATMega8 and a couple of passive components. The programmer uses a firmware-only USB driver, no special USB controller is needed.
- Works under multiple platforms. Linux, Mac OS X and Windows are tested.
- No special controllers or smd components are needed.
- Programming speed is up to 5kBytes/sec.
- SCK option to support targets with low clock speed (< 1,5MHz).
USBasp – USB programmer for Atmel AVR controllers - [Link]
Here’s an article I wrote about reusing a cheap ($6) USBasp programmer for another project by flashing new code on to it. It’s a decent alternative to a more expensive USB dev board if you have a simple project that doesn’t require any pins or you can make do with the four SPI pins. The article discusses how to download new code using an external programmer or USBaspLoader. It also explains how to make it work with the Arduino IDE. At the end are a couple of evil demo programs showing how to use it as a USB HID keyboard.
Reflashing a betemcu USBasp Programmer - [Link]
Optoisolated USBASP – excellent AVR microcontrollers programmer. It can program avr’s supplied from 1.8V to 6V, and with difference of potentials beetwin programmer and avr, at 2.5kV. I used very fast optocouplers on lines MOSI, MISO, and SCK – the 6N317 (up to 10mbits) and one standard PC817 optocoupler on RST line. You must connect supply and gnd from your avr to programmer…
2,5KV optoisolated USBASP, 1.8V-6V – [Link]
This is my board layout for USBasp programmer. On that programmer homepage is a lot of designs, different MCU types and package sizes of processors. But nothing that I would like. I wanted really small size but with the same features. I used the original schematics from Fischl and created new layout with some SMD parts.
Small USB AVR programmer using USBasp – [Link]