Jaycar usbASP Programmer Documentation
Connecting to UNO
The usbASP (XC4627) programmer can connect to most AVR type devices, not just the uno. You will have to seek out the correct connection diagram, usually found in the datasheet for your AVR device.
While the usbASP programmer has the traditional 10-pin connector for older Atmel devices, you can use the (XC4613) adapter to make it fit more easily onto newer 6pin devices such as the UNO. It is easy to remember the orientation by matching up the reset pin to the XC4613 adaptor, as indicated to the right.
Included download files
In the supplied zip file (found on the download page for XC4627) you will find this PDF, along with the software you need, plus a few shortcuts and a batch file to make things easier to manage.Otherwise, if you don’t have the included zip, the software you need is “avrdude” and the open-source USB driver “libusb” which can be installed via ZADIG.
Set up drivers for usbASP with ZADIG
Firstly, you must overwrite the drivers that are installed by windows when you first plug in the XC4627. You should only have to do this once.
Plug your usbASP programmer into the computer and open up the ZADIG software (either through shortcut, or found in the setup folder). In the program that shows up, tick Options > Show all devices
And change the main dropdown box to be USBasp. You then want to change the what the driver becomes by scrolling through the options until you reach libusb win32Hit “Install driver” – if it is already installed, it will read as “Reinstall driver” as shown:
Once the current driver (left hand side) is libusb0, you can then go ahead with using usbASP with avrdude
Using AVRDUDE (GUI Version)
Thanks to a user named zkemble, they have provided a GitHub repository of a gui which can make it easier to manage.
Run the AVRDUDE GUI shortcut in the folder, or if that doesn’t work, install properly in the setup folder.
If you don’t have the correct libraries, windows should install it for you:
Then you’ll be greeted with a screen that has many options, the one you to manage for USBASP is:Then select your hex file in the Flash portion, set to “write.” Then in the top right you will want to change your MCU to the correct part number, the UNO is usually ATMEGA328p but you’ll have to check and change for each device. Once you’ve set the values, press the bold Program! button to write the hex file.
Using AVRDUDE (CMD Version)
While the GUI is a faceplate to the commandline program of avrdude. Run the
AVRDUDE CMD.bat
file to bring up the command prompt version, which will also set up avrdude for you. An example command is given in the header, but you can run your own command.
use “cd” (change directory) to the location that you have your file, and use avrdude to program it, for example (For a file on your desktop)
cd C:\Users\username\Desktop
avrdude –p m328p –c usbASP –P usb –U flash:w:filename.hex:a |
Where –p denotes the part, -c denotes the programmer (usbASP) and –P is the port.
For more information about parameters and changes, read the manual with avrdude or run “avrdude -?“
Basic errors
Could not find USB device with vid
This is a problem relating to the usbASP drivers. Did you use ZADIG to install the libusb driver? Is the usbASP plugged in?
Expected Signature (Reads 100% but cancels program early)
This is related to not setting the correct part number (-p switch) – You can see here that I have connected an UNO (“probably m328p”) but I have selected atmega16u2 (“Expected signature for ATmega16u2 is …”). Check the correct part has been specified
Error on avrdude.conf or otherwise
This is an error relating to avrdude config file, being a different version to the avrdude program. Use the avrdude.exe AND avrdude.conf located in the GUI folder. If you install and use avrdude from a different location, be sure to triple check that version of the config. (Our latest version, in this zip file, is version 6.3).
Australia
www.jaycar.com.au[email protected]1800 022 888
New Zealand
www.jaycar.co.nz [email protected]0800 452 922
References
Jaycar Electronics New Zealand | Components, connectors, switches, power, and more
📧[email protected]
📧[email protected]
Jaycar Electronics | Components, connectors, switches, power, and more
ISP Programmer for Arduino and AVR | Jaycar Electronics
GitHub – zkemble/AVRDUDESS: A GUI for AVRDUDE
AVR ISP 10pin to 6pin Adaptor for Arduino | Jaycar Electronics
[xyz-ips snippet=”download-snippet”]