====== 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]]