Mcu 0088-AVR-programmer

From wikipost
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

The finished result of this project is to create an AVR-compatible In-Circuit Serial Programmer using an ATtiny85 as the controller. The board will interface using the open-source USB protocol and is able to program a range of AVR compatible microcontrollers with it. The cost is around $16 for which you can easily purchase a fully assembled and tested device, but I just found it so neat to be able to create my own programmer.

The schematic, code and drivers listed on this page are mostly all works of others so I will not take credit for that. I merely have this page here to show you how it's done and what the end result looks like.


  • source code
  • binary (.HEX)

Firmware version 1.3 File:Littlewire v13.zip

Firmware version 1.1 File:Combined.zip


  • program the programmer

I used a pololu programmer to program this project onto a new ATtiny85 microcontroller.

These are the commands to flash the hex file into the chip:

(I copied the contents of a little batch file)

set PROJECT=littlewire_v13
set PORT=\\.\USBSER000
set GCC_DEVICE=attiny85
set PGM_DEVICE=t85
set PGM_PROTO=avrispv2

echo erase chip
avrdude -c %PGM_PROTO% -P %PORT% -p %PGM_DEVICE% -e

echo write program to chip
avrdude -c %PGM_PROTO% -P %PORT% -p  %PGM_DEVICE% -U flash:w:%PROJECT%.hex -U lfuse:w:0xe1:m -U hfuse:w:0x5d:m -U efuse:w:0xfe:m


  • Final result


  • usage instructions

Before I created my own programmer I was using the (also very simple) programmer from Pololu. In order to program avr's with this programmer I used the following avrdude command line:

Pololu programmer avrdude command to program an ATtiny85

set PORT=\\.\USBSER000
set PGM_PROTO=avrispv2
avrdude -F -c %PGM_PROTO% -P %PORT% -p t85 -U flash:w:myproject.hex -D

With the new programmer I have to change things slightly, just tell avrdude we're using a different programmer:

set PORT=\\.\USBSER000
set PGM_PROTO=usbtiny
avrdude -F -c %PGM_PROTO% -P %PORT% -p t85 -U flash:w:myproject.hex -D



  • drivers for windows

File:LittleWire driver.zip

NOTE: the drivers for Linux are already supported in recent Linux kernels.


  • source design from LittleWire

http://littlewire.cc/