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
- 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
OVERRIDE AUTORESET - YES PLEASE
- 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!