Atmel ATtiny11 programmer
Version 2 Notes

Photo of prototype boad

By Bill Westfield


The ATtiny11 is an 8-pin microcontroller from Atmel that has recently reached very attractive prices ($0.25) resulting in a group buy organized by Chetan Bhargava on the PICList of 600+ units.  One of the older AVR processors, the ATtiny11 requires 'High voltage serial programming', which most of the hobbyist programmers documented on the net do not support.

This design, developed by Arne Rossius, was found at
and seems to meet the requirements.  Software is also downloadable from that location.

A couple of PICList members set out to design PCBs for this design, and this is mine.  This PCB design is released to the public domain, but note that the original design is owned and copyrighted by Arne (as mentioned on his web page.)  The schematic was re-entered using Cadsoft's EAGLE layout tool, which was also used for the PCB design.  EAGLE has a freeware downloadable version suitable for printing and manipulating the schematic and board files (this design fit entirely within the constraints of the freeware license.)

Notes on the PCB design.

The PCB is laid out in a manner that is supposed to make it relatively easy to fabricate using the methods normally available to the hobbyist.  Traces are wide, design rules are relaxed, and the board is single sided.  A more compact design is certainly possible, but I tried to leave a lot of room around the programming socket to make it easier to get chips in and out, and didn't see much point in attempting the smallest board possible.  There are a lot of holes in this board.  Drilling them will not be fun :-(    You need not use the type of DB9 connector shown.  Purists may object to the multiple resistor orientations.  Tough!

Version 2 changes include:
Better component placement.  LEDs all together,  transistors lined up, same hole spacing for all resistors, etc.
Provision for "run mode" using center-off 12V switch, and connecting the unused tiny11 pin to an LED.
Use common american rather than common european transistors.
Further relax design rules: increase pad sizes, reroute DB9 trace AROUND connector rather than between pins.

Notes on part substitutions and assembly.

The prototype was run off on an LPKF PCB plotter, and assembled with a rather free hand with respect to part substitutions.  All the 1.2k resistors became 1k.    The 12k resistor became 10k.  The current limitting resistors for the LEDs got modified to better match my LEDs (the "12V on" got a 1k, the "active" got 470.)  The transistors became some house-marked supposedly 2n3904 equivalents.  A full-sized regulator was used, although it's not necessary.  It seems to work.

Any general purpose NPN switching transistor should work, but watch the transistor insertion in the PCB.  The BC550B's shown have what I'd call a CBE pinout, while the 2n3904s have an EBC pinout.  Other common transistors have an CEB pinout.  Whatever you end up using may or may not match the silkscreen shown.

Parts of the programmer are "optional" can can be omitted for simpler assembly (you can omit drilling the holes too.)  This is mostly the LEDs and associated driving circuitry.

Additional Notes on the prototype.

The prototype PCB is slightly different than the design published here.  It has 'polygons' for GND and VCC, which works better on an LPKF-style machine but perhaps not as well with something like toner transfer.  The hot-melt glue you see is what passes for "strain relief."  The switch is from Electronics Goldmine, a SPDT with center-off (hmm.  since sold out.  Grr.)

Notes on using the programmer and software.

The progammer needs a regulated 12V supply.  BEWARE cheap unregulated wall-wart supplies that may exceed 12V (by a great deal) when lightly loaded.  Similar comments apply to batteries; I was tempted to power this from a stack of Lithium coin cells, but a fresh such cell measures closer to 3.4V than 3V.  The prototype was run from a benchtop (CCCV) power supply.

On fast computers, you may need to click the "delay" option from the menu.   The prototype worked fine with W98se running on a 1GHz+ Athlon system, with or without the "delay" option.

A transition on VPP to 12V is necessary to properly enter programming mode on the tiny11 chip.  This means that all the programmer operations should start with 12V off.  Don't turn on 12V till the programming software tells you to.  The full programming sequence looks something like this:
1) 12V switch off
2) power shut off (unplugged, or turned off at the supply)
3) insert chip
4) Start programming SW
5) Click 'check signature'
6) 12V switch on
7) (should say "OK" of some sort.)  12V switch off.
8) set file and click 'program flash'
9) 12V switch on when requested.
9) (should give nice status reports, and say "OK" when done.)  12V switch off.
10) set fuses if required. (more 12V switching.)
11) power shut off (at supply)
12) remove chip
You can run the tiny11 on the programmer if the power supply is turned down to about 5V.  The processor will be supplied with (5 - Vregulator-drop), and the 12V switch will switch "reset" between 0 and 5V, which seems to allow the chip to run normally.  Or, the fuses can be set to disable the reset function.  PB3 (on pin 2) can be set to output by AVR software and tuggled to flash the "active" LED if the serial port is disconnected, permitting simple test programs to be run.  The following hex file (from Chetan Bhargava) will flash the active LED on the programmer board:


Contents of the file

tiny11-prog-v2.sch      Cadsoft Eagle schematic file
tiny11-prog-v2.brd      Cadsoft Eagle PCB layout file for V1
tiny11-prog-v2-brd.png graphic of board
tiny11-prog-v2-sch.png graphic of schematic
tiny11-prog-v2.jpg            Photo of the prototype
tiny11-prog-v2.pdf      In theory, this is just 1:1 image of the solder side of the board, and can be used to create a board without using eagle.
attiny11-prog-notes.html         This file.