USBasp programmer

USBASP programmer

The homepage of the programmer: There can be download the its circuit, firmware with sources and driver. There are many different implementations of USBasp, but since PCB dimensions were not suitable for my case, I has made my version of the PCB.

Instead of jumpers JP1 and JP3 I have used switches that are placed on the front panel. The first is used to supply the programmable chip, the second - to turn on the "slow" mode (for example in the case of internal RC oscillator). As a connector X2 I have used DB9 "mother".

Few words about the zener-diodes: according to the specification for the USB bus the voltage on the lines D- and D+ should not exceed 3.6V. And in the original circuit used 3.6V zeners D1 and D2. However, I measured the voltage on D- and D+ and in my case it was ~3.9V. So I used here 3.3V zeners.

Assembled PCB looks like this:


assembled device in case it looks like this:

Assembled device

The device work immediately on first startup, I have no problems with the installation of the drivers. I've seen some complaints on the forums, that these devices do not work with laptops, but I haven't had any problems with HP Pavilion and Asus EEE laptops.

To work with the programmer in linux do not need to install any drivers. However, you need to set access rights to the usb device, otherwise avrdude (or any other software) will work only if you start it as root-user. To do this, create a file (as root) /etc/udev/rules.d/60-objdev.rules with the following contents:

SUBSYSTEM!="usb_device", ACTION!="add", GOTO="objdev_rules_end"
# USBasp
SYSFS{idVendor}=="16c0", SYSFS{idProduct}=="05dc", GROUP="users", MODE="666"

After that, restart the udev by command (as root user too)

/etc/init.d/udev restart


/etc/init.d/boot.udev restart

depending on the name of the udev-initialization file in your system.

You can download my variant of PCB for Eagle on links bellow.

DownloadCircuit and PCB, Eagle
DownloadPCB in PDF

No votes yet