Modification to the original USBasp firmware, allowing to debug AVRs using UART.

Similar projects worth following
When I first saw USBasp programmer, I wondered why it has 10 pins in the connector, even though it uses only six during programming, According to official schematics, two of them (often labeled as unused or ground), are actuallyy connected to Tx and Rx of ATmega on board. There was no support for UART so far, so I thought maybe it's time to do it myself :).
There have been a lot of problems and gotchas during this project, and I learned a lot about USB protocol - it's really time-sensitive, by the way!
See GitHub page of the project for a several page long discussion of the project development. Here, I'll just write that I managed to make USBasp send and receive at around 12kB/s, which corresponds to constant UART stream at 120000baud. That is usually much more than needed for debugging purposes, so I'd say mission succeeded :)

GitHub page:

Sources of new firmware and computer utility for communication.

Zip Archive - 166.02 kB - 06/20/2016 at 23:18



Photo of slight modification I had to make - resistor on Tx line turned out to make signal too weak, so I added another.

JPEG Image - 438.46 kB - 06/20/2016 at 23:18


  • 1 × USBasp
  • 1 × 2 goldpins
  • 1 × jumper Electronic Components / Misc. Electronic Components
  • 1 × 200Ohm SMD resistor

View all instructions

Enjoy this project?



emre wrote 04/01/2021 at 11:11 point

nice. thanks.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates