You can do AVR programming using USB-TTL adapters. This relies on bit-banging, i.e. emulating the programming protocol by using the serial control lines as general purpose IO.
But this has a few caveats:
- USB-TTL adapters limit the speed of control line changes. So the programming will be very slow, taking several minutes.
- You need to have the RTS, DTR and CTS lines available on the USB-TTL adapter. Many of the cheap adapters do not have these signals available on pins, though you could solder to the chip directly.
If those two are in order, go ahead and install avrdude, take one of the serial port bitbang (
serbb driver) example files and configure it with information on which serial adapter pins you've connected to the AVR chip. Then give
-i 1000 or similar delay value to
avrdude to slow it down enough to work over the USB interface.
There is a blog post about doing it with PL2303 based adapter, but the technique should work on other USB-TTL adapters also.