Normaly I would use a cheap chineese clone, but I had an official Arduino Uno available, The process should be the same no matter which you use.
Now given that an Chineese clone of the Uno is about £3 you may wonder why you would want to use a £1.20 ATtiny85? While the ATtiny85 has a very limited amount of resources available, it is perfect for embedding into tiny projects where there are no requirments for the additional pins, ram, etc.
Configuring Arduino Uno as a ISP (In-System Programming)
To program the ATtiny85 we need to first set Arduino Uno in ISP mode. Connect your Arduino Uno to the PC. Open Arduino IDE and open the ArduinoISP example file (
File > Examples > ArduinoISP) and upload it.
Adding ATtiny85 Support to Arduino IDE
By default the Arduino IDE doesn’t support ATtiny85,
- we need to add the ATtiny boards to Arduino IDE.
Open File -> Preferencesand in the Additional Boards Manager URLs give this url https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json.
- After this is done open
Tools > Board > Board Manager
- After opening Board Manager scroll down the list where it says
attiny by Davis A. Mellis. Click on that and install it.
- After installing now you would be able to see a new entry in the Board menu.
Connecting ATtiny85 with Arduino Uno
Now with all the above things ready we will start programming the attiny85. Connect the arduino uno to attiny85 using breadboard as below.
Arduino Uno – ATtiny85
- 5V – Vcc
- Gnd – Gnd
- Pin 13 – Pin 2
- Pin 12 – Pin 1
- Pin 11 – Pin 0
- Pin 10 – Reset
Uploading program to ATtiny85
- Now back to Arduino IDE. Select ATtiny25/45/85 under
Tools > Board.
- Then select ATtiny85 under
Tools > Processor.
- And select 8 MHz (internal) under
Tools > Clock.
- Then make sure Arduino as ISP is selected under
Tools > Programmer
- You will need to Burn the Bootloader.
Tools > Burn Bootloader
Now you will be able to upload any files you want 🙂
I have pluged a little Neopixle ring into ATiny85 Pin 2 / Arduino IDE Pin 3 and flashed the
strandtest code from the Adafruit NeoPixle Library: