Post

USBasp - AVR programmer

USBasp - AVR programmer

USBasp - Open source AVR programmer

Construction

Programmer options

       To tinker with any microcontroller, first step is to transfer/program the software to the microcontroller. There are different ways of doing this, listed as below options.

  1. Silicon manufacturer programmers/debuggers:
  2. Bootloaders - Special program that reside’s inside microcontroller and handles the programming! I wont be considering bootloaders as of now, this is a task best to be done in future ;)
  3. Manufacturer demo boards with built in debuggers - ATMEGA328P-XMINI
  4. Other(Open source) programmers

And the winner is! …… USBasp

       The theme of this blog is DIY, so let’s build our own copy of the open source AVR programmer from Thomas Fischl USBasp.

Schematics and features

       Below schematic of USBasp programmer is based on original USBasp, However i made few changes to the schematic as described here

  • Level translator based on 74125 QUAD buffers.
  • Addition of a I2C EEPROM for future standalone operation mode i am planning.
  • Addition of a new JP2 jumper to trigger standalone operation.
  • Addition of a Jumper JP4 to power the programmer from target board instead of USB connection(Planned to be used in standalone mode to power the programmer)

       Modified schematic of USBasp described in this blog can be seen below. USBasp_sch If you need a high resolution pdf copy of this schematic, Its available right here USBasp_sch.pdf

Build images

       Below you can find build images of programmer i built using only ‘through-hole’ components! I have omitted EEPROM and jumper to trigger standalone operation in the 1st version of the programmer constructed for simplicity :)

USBasp_build1

USBasp_build2

Software

       You can find the software to be flashed into our shiny new USBasp on Fischl’s website.

Closing notes

       !!!Happy tinkering!!! :D

This post is licensed under CC BY 4.0 by the author.