Need help identifying this programmer.

Hello all,

I've been fighting with my programmer all morning, and im not getting anywhere, so im hoping you guys could lend me a hand again. I have what I ASSUME (I bought it at least a decade ago), is a USBasp programmer, that I want to use to program my arduino pro mini 3.3v board. Only windows 10 and/or IDE aren't having any of it.

So maybe my old brain messed something up and this ISNT a USBasp? So heres a picture of both sides;

So is this a generic USBasp programmer? Any way of identifying? I haven't been able to find one online with stick figures on it. :-\ I've installed several different drivers, and it pops up when I plug it in, but IDE always gives me an error;'

avrdude: Warning: cannot query product for device: Input/output error
avrdude: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp'
avrdude: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp'

If I can't get this old [expletive deleted] to work, I hope I can use an arduino Mega to load something into a mini 3.3v, because local stores are out and I dont wanna wait 2 months on china.. :cry:

It looks like it could be a USBasp. It's a matter of the firmware on the microcontroller as much as it is the hardware.

Sokonomi:
it pops up when I plug it in

What does it pop up as?

pert:
What does it pop up as?

Initially it popped up as an unknown USB device, but after installing some USBasp drivers it now actually displays as "USBasp" under the 'Universal Serial Bus Devices' branch in the device manager. Whether or not this is correct is another matter. Ive checked deviceID and it matches. IDE is just not seeing it.

Stupid question maybe, but am I supposed to have avrdude installed separately or something?

Heres the whole error message with verbose turned on;

Arduino: 1.8.12 (Windows 10), Board: "Arduino Pro or Pro Mini, ATmega328P (3.3V, 8 MHz)"

Sketch uses 924 bytes (3%) of program storage space. Maximum is 30720 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -cusbasp -Pusb -Uflash:w:C:\Users\xxxx\AppData\Local\Temp\arduino_build_64470/Blink.ino.hex:i 

avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : usb
         Using Programmer              : usbasp
avrdude: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp'

avrdude done.  Thank you.

the selected serial port 
 does not exist or your board is not connected

Sokonomi:
it now actually displays as "USBasp" under the 'Universal Serial Bus Devices' branch in the device manager.

Please do this:

  • Open Windows Device Manager.
  • Double click on the "USBasp" item in the device tree.
  • In the dialog that opens, click the "Details" tab.
  • From the "Property" dropdown menu, select "Hardware Ids".
  • Right click on the "Values" field.
  • Click "Select all".
  • Right click on the "Values" field.
  • Click "Copy".
  • In a reply here, paste the copied text.

This will tell us which VID/PID pair your USBasp is using. I'm pretty sure I know how to fix your problem, but I'd like to know more about what is currently happening before instructing you to make any changes.

Sokonomi:
Stupid question maybe, but am I supposed to have avrdude installed separately or something?

I don't think that will help (though I have had a different, easily fixed, issue with USBasp that was specific to Arduino's version of avrdude). avrdude comes bundled with the Arduino IDE. This is a special version of avrdude that has some modifications made by Arduino (the official avrdude is not very actively maintained these days), so you are best off using Arduino's avrdude when doing things in the Arduino world.

pert:
This will tell us which VID/PID pair your USBasp is using.

Ive checked those, and im not 100% sure but I think its exactly what avrdude is asking about;

USB\VID_16C0&PID_05DC&REV_0100
USB\VID_16C0&PID_05DC

Its got two, the second one should be a match I think.
What does not match is the vendor, could that be the problem?

Sokonomi:
What does not match is the vendor, could that be the problem?

Where do you look to see what the vendor is?

Well avrdude calls for vendor='www.fischl.de', but I'm guessing it means Manufacturer.
Mine is registering as 'Van Ooijen Technische Informatica'

My perfectly working USBasp shows the same thing under the "Manufacturer" property option.

My recommendation is to switch to using the libusbK driver. You can do that easily with Zadig:

  • Download Zadig: http://zadig.akeo.ie/. Note that Zadig is recommended on the official USBasp page: USBasp - USB programmer for Atmel AVR controllers - fischl.de.
  • Plug in your USBasp
  • Start Zadig
  • From the dropdown menu, select USBasp. If it doesn't show up on the menu, then select Options > List all devices and check again.
  • Click the up or down arrows next to the Driver selection box on the right side until you see libusbK.
  • Click the "Replace Driver" button.
  • After it finishes you can close Zadig.

I've already tried that, unfortunately without success.