I am interested in playing with microcontrollers, so I got a copy of AVR Programming, bought a USBtinyISP from Amazon, and ordered some stuff from Mouser. Then I followed along until it was time to make an LED blink, and then:
% avrdude -p m328p -c usbtiny avrdude: Error: Could not find USBtiny device (0x1781/0xc9f)
that was strange, because:
% system_profiler SPUSBDataType | grep -A8 USBtiny USBtiny: Product ID: 0x0c9f Vendor ID: 0x1781 Version: 1.04 Speed: Up to 1.5 Mb/sec Location ID: 0x14200000 / 18 Current Available (mA): 500 Extra Operating Current (mA): 0
It worked fine on my Linux machine, though. For funsies, I ordered a two-pack of USBasp (more on that here) and saw the same behavior. The problem turned out to be that my OSX laptop only has USB3, where the front-panel USB connections on my Linux server are USB2. Putting a USB2 hub between the programmer and the USB3 ports would work, too, but it’s 2019 so I’m not sitting on a pile of old hubs.
So, if you only have USB3 connections (which is the case at least on my late 2013 Macbook Pro), you can’t directly use either a USBtiny or USBasp. You’ll need to use USB2, either directly or by forcing a downgrade with a hub.