Using Arduino as ISP

 
My cheat sheet for using an Arduino Uno as an ISP for programing Amtel’s ATtiny45

*******************************************************
updated 27 July 2016
High Lo Tech website has updated information for 1.6.4
Board Manager
Paste the following URL into the field:
https://raw.githubusercontent.com/damellis/attiny/ide1.6.xboardsmanager/package_damellis_attiny_index.json
*******************************************************
HOW TO USE ARDUINO UNO TO PROGRAM ATTINY45

Download Arduino 1.0.1 from Arduino (scroll to ‘previous IDE versions’)
Install in Applications Folder
Download ATtiny hardware folder from damellis github page
Open page > click on ZIP button > open downloads folder > open ‘attiny master’ folder
Install ‘attiny’ folder on your computer in Documents > Arduino > hardware

If installing on PC please use Arduino for Dummies guide on needed drivers and installation folders. (added 17 April 2014)

 

STEP ONE – Connect Uno to Computer and Upload Arduino as ISP
Connect Arduino Uno to computer with standard USB A-B cable
Open Arduino 1.0.1
Tools > Board > Uno
Tools > Serial Port > Select Port
File > Examples> Arduino as ISP (ArduinoISP window opens)
Verify
Upload (no errors msg)

STEP TWO – Connect Uno to ATtiny 45

Breadboard neg rail to Uno GND
Breadboard pos rail to Uno+5V
ATtiny Pin 2 to Uno 13
ATtiny Pin 1 to Uno 12
ATtiny Pin 0 to Uno 11
ATtiny Reset to Uno 10

On UNO insert a 10 uF capacitor between reset and ground (stripe goes to ground)

 

 

detail of +5, GND and capacitor connections on Uno

Arduino Uno as ISP for ATtiny45 connections

 

detail of pins 10 -13 on Uno

Arduino Uno as ISP for ATtiny45 connections

 

birdseye view on the Arduino Uno connected to the ATtiny45 on a breadboard

Arduino Uno connected to Breadboard used for Programing ATtiny45

 

Position the ATtiny so that the indentation by the Reset Pin is in the correct orientation allowing the breadboard positive power rail to connect to ATtiny Pin VCC (+) and the breadboard negative power rail to connect to ATtiny Pin GND (-)

Arduino Uno connected to Breadboard used for Programing ATtiny45

 

STEP THREE – Load Bootloader on each ATtiny
do this once for each ATtiny

Tools > Board > ATtiny 45 (internal 8 MHz clock)
Tools > Serial Port > Select Port

Tools > Programmer > Arduino as ISP
Tools > Burn Bootloader
Error Message: (ignore)
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny45
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny45

 

STEP FOUR – Test system with Blink program and a LED on your breadboard

I test an ATtiny45 with the blink code to verify that the connections correct.

File > Examples > Basic > Blink (blink window opens)
change pin 13 to pin 0 in the Arduino Code (highlighted in yellow)
Verify
Upload
Error Message: (ignore)
Binary sketch size: 830 bytes (of a 4,096 byte maximum)
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny45
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny45

Test for Blink by

connecting positive lead of LED to ATtiny45 Pin 0 with a white jumper wire.
connecting negative lead of LED to negative power rail with a resistor.

Birdseye view of breadboard with LED, resistor, ATtiny45 and power connections

Arduino Uno connected to Breadboard used for Programing ATtiny45

 

Detail of connections for testing Blink.

Negative lead of LED is far left and connects to breadboard negative power rail with a resistor
Positive lead of LED connects to ATtiny Pin 0 with white jumper wire

Arduino Uno as ISP for ATtiny45 connections

 

Arduino Uno connected to Breadboard used for Programing ATtiny45 Blink Test

 

STEP FIVE

Disconnect positive lead of LED from ATtiny Pin 0

Upload your program

I leave a breadboard set up for quick programing of ATtinys so the LED is always at the ready to test Blink

Arduino Uno connected to Breadboard used for Programing ATtiny45

 

REFERENCES

High Low Lab MIT Media Lab ATtiny with Arduino 0022

High Low Lab MIT Media Lab ATtiny with Arduino 1.0

High Low Lab MIT Media Lab ATtiny and Arduino ISP

MAKE video ATtiny with Arduino ISP
my 7 February 2013 post on ATtiny45