====== ATtiny85 ======
The ATTiny85 is an Atmel AVR board that is a small in form. It is like the little brother to that [[https://www.microchip.com/wwwproducts/en/ATmega328P|ATmega32p]] that is found in the Arduino boards. It has all the same kind of functions but with fewer GPIO pins.
* Official product page: [[https://www.microchip.com/wwwproducts/en/ATtiny85]]
===== Wiring/Pinout =====
SparkFun has a nice pinout diagram: https://learn.sparkfun.com/tutorials/tiny-avr-programmer-hookup-guide/attiny85-use-hints
SparkFun also has a nice one-page PDF reference guide for ATtiny85: [[https://cdn.sparkfun.com/assets/2/8/b/a/a/Tiny_QuickRef_v2_2.pdf]]
The `o` represents the circle indentation in the board.
Align the `o` to the top-left where pin 1 is.
Reset 1 -o==- 8 5V
A3/D3 2 - - 7 D2/A1 (SCK)
A2/D4 3 - - 6 D1 (PWM, MISO)
GND 4 -===- 5 D0 (PWM, MOSI, AREF)
===== Programming =====
Since the ATtiny85 has no USB plug for serial over USB, you can use an Arduino UNO as an inline serial programmer (ISP) to flash the ATtiny85 with a sketch.
* Nice YouTube video by Mitch Davis on programming Attiny85 [[https://www.youtube.com/watch?v=N591sLGYWnM]]
Wire up the Arduino UNO to the ATtiny85 over GPIO pins.
Also add a 10uF capacitor between RESET and GND in the Uno (anode to ground) to prevent the upload causing the board to reboot.
Uno:ATtiny85
=======:========
5V:Gcc
GND:GND
Pin 13:Pin 7 (SCK)
Pin 12:Pin 6 (MISO)
Pin 11:Pin 5 (MOSI)
Pin 10:RESET
The MISO, MOSI, and SCK pings are used for SPI communication.
In the Arduino IDE, set the target board as the ATtiny85 1MHz speed. And select for the Programmer: Arduino as ISP. If you need to add the board, add this URL to your board manager: [[https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json]]