Programming ATtiny85 using Arduino Nano as ISP

> Coding, hacking, computer graphics, game dev, and such...
User avatar
fips
Site Admin
Posts: 170
Joined: Wed Nov 12, 2008 9:49 pm
Location: Prague
Contact:

Programming ATtiny85 using Arduino Nano as ISP

Post by fips »

I've recently needed to reprogram my trusty little time-lapse camera trigger, which is based on the ATtiny85 microcontroller and found out that the tutorial I followed last time isn't quite complete. So I've decided to create a step-by-step guide on how to program ATtiny85 using an Arduino Nano and the Arduino IDE, mostly as a handy future reference.

Step 1 - Build the circuit:

The image blow shows the wiring. Our goal is to program the ATtiny85 to blink the green LED. Note that the red LED is for diagnostics only, it's so-called heartbeat that indicates whether Arduino has been correctly set up as a programmer, we will talk about that later...

Image

Step 2 - Introduce ATtiny boards to the Arduino IDE:

First, download attiny-master.zip, then copy the attiny directory from:
attiny-master.zip/attiny-master/attiny/*

into the Arduino IDE installation directory:
<arduino_ide>/hardware/attiny/*

After restarting Arduino IDE, you should see new boards ready to use:
Image

Step 3 - Setup the Arduino Nano as a programmer:

From the main menu select: File / Examples / ArduinoISP
Image

Then upload the sketch. After that, the red LED (heartbeat) should start winking.

Step 4 - Upload a program into the ATtiny85:

Now open a sketch that you are going to upload into the ATtiny85. In our case we are using a modified Blink example that uses Pin 4 (which is actually Pin 3 of the ATtiny85 package).

Then select: Tools / Programmer / Arduino as ISP
Image

also select: Tools / Board / ATtiny85 (internal 1 MHz clock)
Image

Now upload the sketch, the green LED should start blinking...