Attiny85 Programming + Arduino
Contents
Description
The Attiny85 is an AVR Microcontroller created by Atmel. It is has many of the capabilities of the Arduino UNO but in a much smaller form factor. The device is useful if all the pinouts of an Arduino are overkill. However the device does not have a bootloader like the Arduino and so must be programmed through serial communication. There are two ways of doing this, both of which are covered in the document. The first is to use an Arduino UNO as serial programmer to the chip and the second is to but the AVR programmer specifically designed for this purpose. With a serial connection established the chip can be programmed using an Attiny85 library developed for the Arduino platform.
Library Installation
This section describes the manner in which to install the Attiny85 library for the Arduino IDE.
- install the Arudino IDE version 1.6 or greater
- Open the application and click the Tab Arrduino
- under Arduino click Preferences and put the following URL in Board Manager URL's
- click OK and create a new sketch
- under the Tab tools there should now appear options for Board, Processor, and Clock
- Select the following options
- Board: ATtiny
- Processor: ATtiny85
- Clock 8MHz (internal)
Serial Communication Setup
Arudino UNO Setup
- obtain the use of an Arduino UNO
- in the Tools tab of the Arduino IDE select Programmer and choose the ArduinoISP option (ISP stands for In System programmer)
- create the circuit shown the picture below
- using the previously installed library you should now be able to program the Attiny85 by simply uploading your code to the UNO
AVR Programmer SetUp
If there are extensive issues with compiling code using an UNO we reccomend using the AVR prgrammer here. The AVR programmer is reliable and provides pinouts so that the chip can be tested while in the socket of the device.
- select the tools Tab and from Programmer select the USBTinyISP
- place chip into the holder of the AVR Programmer
- you can now compile and upload code to the Attiny85 using the AVR Programmer