MCUdude / usbisp

USBasp firmware working with a clone "USB ISP Version 2.0" (marked "MX-USBISP-V4.00" on the PCB)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

USBasp on a clone

This is a fork of the original USBasp firmware (the file from 2011-05-28) tweaked to work with clone "USB ISP Version 2.0" devices (marked "MX-USBISP-V4.00" on the PCB).

What is USB ISP?

This is a very cheap programmer for AVR-based microcontrollers available from many Chinese suppliers. Hardware-wise it appears to be very similar to USBasp, but out of the box it works only with a Windows GUI utility from the manufacturer and does not work with avrdude.

Here is how it looks:

USBISP Assembled

With the aluminium shell removed:

USBISP PCB Front

There is a "MX-USBISP-V4.00" label on the back of the PCB, see the photo below. If you have "V3.00" device, then better check this post instead.

Quick Start

  1. Remove the aluminium shell and put the device into the "self-programming" mode by connecting two pads on the back of the PCB marked with "UP". A sharp tweezer may also be used is the holes aren't covered with solder.

    USBISP PCB Back

  2. Connect your programmer to the header of USB ISP referring to the pinout on the case of the device. As for now only USBasp, USBtinyISP and AVRISPMKII is supported without modifying the makefile.

  3. Upload the prebuilt firmware in the firmware folder by running the following commands:

  • cd into the frimware folder
  • Set the correct fuses by running $ make fuses ISP=usbasp
    • Change the ISP parameter to select usbtiny or avrispmkii
  • Load the pre-compiled hex file by running $ make flash ISP=usbasp MCU=atmega88
    • If the programmer uses ATmega88p instead, simply use MCU=atmega88p
  1. Disable self-programming jumper.

Now connect the USB ISP to your computer. You should see the LED turning red for a bit and then turning blue. A USBasp HID device should appear in your USB tree. (Go to System Information > USB on a Mac.) Note that the device won't appear as a serial port, this is normal.

Now you can check if avrdude can talk to it:

 avrdude -c usbasp -P usb -p m328p

If you don't have anything connected to the programmer, then you'll see it complaining:

$ avrdude -c usbasp  -P usb -p m328p

avrdude: error: program enable: target doesn't answer. 1 
avrdude: initialization failed, rc=-1

But you should not get any USB-related errors.

Now connect it to a device to be programmed and read the flash first. If it works, then try writing something.

Building from Sources

If you have avr-gcc toolchain installed, then navigate to firmware and run:

./makeall

About

USBasp firmware working with a clone "USB ISP Version 2.0" (marked "MX-USBISP-V4.00" on the PCB)


Languages

Language:Assembly 41.1%Language:C 40.6%Language:PHP 10.1%Language:HTML 6.3%Language:Makefile 1.1%Language:C++ 0.6%Language:Shell 0.1%