Using the Arduino Uno to program ATTINY84-20PU

program ATTINY84 20PU

Using the Arduino Uno to program ATTINY84-20PU (Newark item # 68T3783). This Instructable shows how to use the Arduino platform to work with physically smaller processors, such as the ATtiny84 (84/44/24), ATtiny85 (85/45/25), and ATtiny2313. This example is specifically for the ATtiny84-20PU processor (Newark item # 68T3783) but can be adapted for the others boards by selecting the appropriate board from the Arduino software (i.e., Arduino IDE) and modifying the pinouts as required.

program ATTINY84 20PU

Step 1: Configure the Arduino IDE Software

1) Ensure the Arduino IDE is NOT running.

2) Create new folder named “tiny” in your Arduino “hardware” folder
C:\Projects\Arduino\hardware\tiny

3) Download the Arduino-Tiny archive (ZIP-file)
http://code.google.com/p/arduino-tiny/downloads/detail?name=arduino-tiny-0100-0016.zip

4) Copy and paste the contents of the ZIP-file into the “tiny” folder.

5) Create a new file named “boards.txt” in the tiny directory.
C:\Projects\Arduino\hardware\tiny\boards.txt

6) Open the “boards.txt” file and the “Prospective Boards.txt” file using a text editor.

7) Copy board entries of interest from “Prospective Boards.txt” to “boards.txt”. I simply copied the entire contents from “Prospective Boards.txt” to “boards.txt”.

8) Save and close “boards.txt”.  Close “Prospective Boards.txt” (see picture for how the contents should look).

Step 2: Program the Arduino to Use as an In-System Programmer (ISP)

9 ) Open the Arduino IDE.

10) Select your Arduino board. I have the Arduino UNO  but replaced the processor with a pre-programmed Atmega328P chip from Adafruit, which requires that I select “Arduino Duemilanove with ATmega328.”

At this point, you should see additional “boards” listed, such as all of the ATtiny boards that as in your “Boards.txt”. Do not select the ATtiny chip at this point. Select your Arduino board so that you can tell the Arduino that you want to use it as an In-System Programmer (ISP).

11) Select AVR ISP programmer by selecting [Tools] [Programmer] AVR ISP.

12) Upload the ArduinoISP sketch to your Arduino by selecting [File] [Examples] ArduinoISP.

program ATTINY84 20PU circuit

Step 3: Create Blink Sketch for the Attiny84

13) Open  sketch to be programmed onto Attiny84. This example uses the Blink sketch from the Arduino software.
[File] [Examples] [01.Basics] [Blink]

14) Edit the sketch so the LED pins correspond to the ATtiny84. That is, change “int led = 13;” to “int led = 0;

Step 4: Configure the Arduino to Use As an ISP

15) Select ATtiny84 @ 1 MHz (internal oscillator; BOD disabled) by selecting
[Tools] [Boards] Attiny84 @ 1 Mhz (internal oscillator; BOD disabled)

(Note: Do not select a chip for use with an external oscillator unless you have one; it you do so, the chip will not work again until you have connected it to an external oscillator).

Your Arduino is now configured to be used as an ISP.

Read more: Using the Arduino Uno to program ATTINY84-20PU

Leave a Comment

Your email address will not be published. Required fields are marked *