This is how to hack an Evil Mad Scientists Lab Arduino ISP Shield so that you can use the Arduino environment to program some nifty little microcontrollers.

The Arduino is a great little development environment for creating electronic projects http://www.arduino.cc/ but there are times when you just want the minimum possible pieces, and don't want the expense, or size, of a full Arduino plus breadboard/prototyping shield.

That's when you want to use a dinky microcontroller.

Fortunately AtMel (who make the AtMega inside the Arduino) also make a bunch of little ones called AtTiny. These range from 6 pin to 28 pin chips, and use almost the same instruction set as the big guys - they are part of the same AVR family.

My chip of choice for these kinds of projects is the ATtiny85

It has 8K of program memory, comes in a PDIP 8 pin package and has 5 (or 6) I/O pins. It also has 512 bytes of static RAM, and 512 bytes of EEPROM. It can run on two AA batteries (3 Volts, some version will go as low a 1.8V), and doesn't use much power.

For the technically inclined see http://www.atmel.com/dyn/resources/prod_documents/2586S.pdf for a summary of its capabilities.

Step 1: Things you will need

Arduino http://arduino.cc/en/Main/Hardware

- for this instructable an older Arduino is better than the latest.  The UNO has a problem, soon to be resolved, which prevents it from working as an ISP.    I use a Diecimila with an older atMega168 - this is a good use of an older device.

- if you don't already have one, I can recommend Adafruit http://www.adafruit.com/ as a supplier

Arduino ISP Shield http://evilmadscience.com/productsmenu/tinykitlist/253

- this image is from EMSL website
- build the ISP kit, and make sure it works.
- you most likely will want the jumper connection set to


- also load the Arduino ISP example sketch  Files -> Examples -> ArduinoISP and upload it into your Arduino.

Software follow the instructions here: http://hlt.media.mit.edu/wiki/pmwiki.php?n=Main.ArduinoATtiny4585

- this is a really nice page with good information about how you can wire up your own breadboard to achieve the same thing.
- in particular you will need to install the AtTiny45_85 support files http://hlt.media.mit.edu/wiki/uploads/Main/attiny45_85.zip


- AtTiny45 or AtTiny85 chips to program - they are available from Mouser, DigiKey and many other places.


- connecting wire - I used bits of wire wrap because it is small and neat; but any insulated wire, you can solder, will do!

thank you for finally replying. I was wondering about this, but had moved on to build8ng my own perfboard shield for my 85s
Doesn't routing those 3 wires on the right side take away the 328 program capability? I would think you wouldn't want to bridge those connections back into the chip.
Sorry for the delay - the atMega168/368 still work fine. The extra pins wired for the atTiny85 are not used when programming the bigger chips. Of course the wires are still there, the 168/328 just ignore them.
<p>does it still work for the atmega328/168/8 microcontroller??</p>
<p>It works fine for the 128/168 also. The signals on the extra pins are simply ignored when programming.</p>
This is so much simpler than what I came up with: <a href="http://www.flickr.com/photos/heyvikram/sets/72157635589697575/with/9740290024/" rel="nofollow">http://www.flickr.com/photos/heyvikram/sets/72157635589697575/with/9740290024/</a><br> Wish I had googled it first... :-)

About This Instructable


59 favorites


More by rleyland: Hacking an Arduino ISP Shield for AtTiny45 / AtTiny85
Add instructable to: