The ATtiny85 is a compact yet powerful 8-bit AVR microcontroller that has become a favorite among hobbyists, makers, and even professionals working on space-constrained embedded projects. Its small footprint, low power consumption, and affordable price make it ideal for DIY electronics, wearables, and custom Arduino-compatible builds.
Whether you’re just getting started with AVR microcontrollers or you’re transitioning from the Arduino Uno to something more compact, this guide walks you through everything you need to know about the ATtiny85—from its features to programming it with popular tools like the Arduino IDE and AVRDude.
Table of Contents
What is the ATtiny85?
The ATtiny85 is part of Atmel’s (now Microchip’s) ATtiny family of microcontrollers. It features an 8-bit AVR core, 8 KB of flash memory, and a minimalist pinout—just 8 pins total!
Key Features:
- 8-bit AVR RISC architecture
- 8 KB Flash memory
- 512 Bytes SRAM
- 512 Bytes EEPROM
- Up to 20 MHz with external clock
- 6 I/O pins (including ADC and PWM support)
- SPI, I2C (TWI), and UART via software
- Low-power sleep modes
Despite its small size, the ATtiny85 microcontroller supports a wide range of applications—from controlling LEDs to building custom USB devices.
ATtiny85 vs ATtiny45
The ATtiny45 is a close sibling to the ATtiny85. Both share the same pinout and peripherals, but differ in memory sizes:
Feature | ATtiny85 | ATtiny45 |
---|---|---|
Flash | 8 KB | 4 KB |
SRAM | 512 B | 256 B |
EEPROM | 512 B | 256 B |
If you’re planning a small-scale project or prototyping, the ATtiny45 is a cost-effective option. For anything more complex, the ATtiny85 is the better choice.
ATtiny85 Pinout
Here’s a quick overview of the pin configuration:
_______
VCC | 1 8 | GND
PB3 | 2 7 | PB2 (SCK / ADC1)
PB4 | 3 6 | PB1 (MISO / PWM)
PB0 | 4 5 | PB5 (RESET / SCL)
---------
- Pins PB0–PB5 can be configured for ADC, PWM, SPI, or I2C depending on your application.
ATtiny85 Programming Options
You have several ways to program the ATtiny85, each with its own benefits.
1. Programming ATtiny85 with Arduino (attiny85 arduino)
One of the most popular ways to program the ATtiny85 is through the Arduino IDE. Using an Arduino Uno as an ISP (In-System Programmer), you can upload sketches just like any other Arduino board.
Steps:
- Install the ATtiny85 board package via Arduino Boards Manager.
- Connect the Arduino Uno to the ATtiny85 via ISP wiring.
- Burn the bootloader and upload your sketch!
This method makes attiny85 programming accessible even for beginners already familiar with the Arduino ecosystem.
2. Using USBasp or Atmel/Microchip Programmer
If you want more control or need to program multiple devices, a dedicated programmer like the USBasp or Atmel-ICE is ideal.
Tools Needed:
- USBasp or Atmel-ICE
- AVRDude or Microchip Studio
- 6-pin ISP header or breadboard setup
This approach is often used by more experienced hobbyists or professionals developing AVR-based systems.
3. High Voltage Programming (Optional)
If you’ve disabled the reset pin (to use it as an I/O pin), you’ll need high voltage programming to recover your ATtiny85. This is more advanced and usually requires a special HV programmer or shield.
Popular ATtiny85 Projects
Here are a few ideas to spark inspiration:
- Tiny temperature sensor with OLED display
- USB rubber ducky (keyboard emulator)
- Mini audio tone generator
- Battery-powered LED light show
- Simple capacitive touch button
Alternatives: Exploring Other ATtiny Microcontrollers
The ATtiny85 is just one option in the ATtiny microcontroller family. Other options include:
- ATtiny13 – Minimalist with just 1 KB flash
- ATtiny45 – A smaller sibling to ATtiny85
- ATtiny84 – More pins and memory, ideal for slightly bigger projects
If you’re planning future-proof projects, check out the newer ATtiny0/1-series devices, which use the UPDI interface and offer more modern features.
Conclusion
The ATtiny85 proves that big things really do come in small packages. Whether you’re flashing your first Arduino sketch or building a professional-grade embedded application, this microcontroller delivers impressive functionality in an 8-pin DIP package.
Its compatibility with Arduino, open-source programming tools, and low power requirements make it a must-have for any electronics enthusiast or embedded engineer.