A note on the AVRasp versions of the programmer. The programmers with USB A male attached to the board tend to be be AVRasp boards, which totally work with Blinks, but in my case, required a bit of work first (and unfortunately, required having another programmer on hand).
The Dev branch of the Blinks SDK now supports the AVRasp (thanks @bigjosh)!
The one that I ordered on Amazon for $7.99 did not support the lower speed upload that we are using for Blinks and threw this error message when used (the actual issue is the warning, the error is a direct result of the warning in this case):
avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
...
Programmer Type : usbasp
Description : USBasp, http://www.fischl.de/usbasp/
avrdude: set SCK frequency to 187500 Hz
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: AVR device initialized and ready to accept instructions
An error occurred while uploading the sketch
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x010307
avrdude: Expected signature for ATmega168PB is 1E 94 15
Double check chip, or use -F to override this check.
avrdude done. Thank you.
and the solution for this is to flash the AVRasp with updated firmware like the following tutorial here. Worked like a charm for me, I needed to simply jump the single connection you can see in my photo available to jump and it worked. The funny thing is that I used my Blinks Dev Kit included USBtiny to perform the firmware update, but that’s a cool feeling in itself.
While we find it easier to support everyone on similar hardware, we don’t discourage using alternative means and this is a great alternative for those looking to practice hardware hackery.