When choosing between the ATtiny13 vs ATtiny85 for your next minimal microcontroller project, the decision comes down to memory, peripherals, and cost. Both chips belong to Atmel’s popular AVR ATtiny family and share an 8-bit architecture — but they serve quite different use cases. Whether you’re building a tiny LED controller, a sensor node, or a space-constrained embedded gadget, picking the right chip from the start saves you debugging headaches later. This guide breaks down every key difference so you can choose confidently.
Table of Contents
- Overview: The ATtiny Family
- Side-by-Side Specifications
- Memory: Flash, RAM, and EEPROM
- Peripherals and I/O Pins
- Power Consumption
- Programming and Toolchain
- Best Use Cases for Each
- Frequently Asked Questions
Overview: The ATtiny Family
The ATtiny series from Microchip (formerly Atmel) fills the space below the ATmega chips — think Arduino Uno’s ATmega328P — for applications where code complexity is low but board space and power budgets are tight. The ATtiny13 and ATtiny85 are two of the most popular members of this family among hobbyists and embedded engineers in India and worldwide.
Both run on the AVR instruction set, accept ISP (In-System Programming) via a standard 6-pin header, and are available in DIP-8 packages that fit standard breadboards. That’s where the similarities start to diverge. The ATtiny13 was designed around extreme simplicity; the ATtiny85 was designed to be a capable mini-MCU. Understanding that philosophy shapes everything that follows.
Side-by-Side Specifications
Let’s cut straight to the numbers. Here is a direct comparison of the two chips across every major specification:
| Feature | ATtiny13 / 13A | ATtiny85 |
|---|---|---|
| Architecture | 8-bit AVR | 8-bit AVR |
| Flash Memory | 1 KB | 8 KB |
| SRAM | 64 bytes | 512 bytes |
| EEPROM | 64 bytes | 512 bytes |
| Max Clock Speed | 20 MHz (ext) / 9.6 MHz (int) | 20 MHz (ext) / 8 MHz (int) |
| I/O Pins | 6 | 6 |
| ADC Channels | 4 (10-bit) | 4 (10-bit) |
| PWM Channels | 2 | 4 |
| Timers | 1 x 8-bit | 1 x 8-bit + 1 x 8-bit (Timer1 extended) |
| USI (I2C/SPI) | No | Yes |
| Voltage Range | 1.8 – 5.5 V | 1.8 – 5.5 V |
| Package | DIP-8, SOIC-8, MLF-20 | DIP-8, SOIC-8, MLF-20 |
| Typical Price (India) | Rs. 25-45 | Rs. 60-120 |
The biggest differences jump out immediately: 8x more Flash, 8x more SRAM, 8x more EEPROM, and a Universal Serial Interface (USI) on the ATtiny85. Those differences are enormous in practice.
Memory: Flash, RAM, and EEPROM
The ATtiny13 has just 1 KB of Flash. That’s roughly 500-600 AVR instructions. With the Arduino framework overhead (even with ATTinyCore), you lose a significant chunk just to startup code and millis(). A blink sketch compiled for ATtiny13 with ATTinyCore takes about 180-220 bytes, leaving you 800+ bytes for actual logic — which is enough for many LED animations, simple state machines, and basic sensor reads, but nothing more.
The ATtiny85’s 8 KB of Flash is eight times the ATtiny13’s. It comfortably fits libraries like SoftwareSerial, Adafruit NeoPixel, or TinyWireM. You can implement a complete I2C sensor reader, UART debug output, and control logic all in a single sketch without playing byte-counting games.
The SRAM gap is even more brutal: 64 bytes versus 512 bytes. On the ATtiny13, every local variable, stack frame, and global buffer competes for 64 bytes. String literals must go in PROGMEM. Even a 32-byte buffer eats half your RAM. On the ATtiny85, 512 bytes is still tight compared to an ATmega328P (2 KB), but you can hold sensor readings, state variables, and small lookup tables comfortably.
EEPROM follows the same 8x ratio (64 B vs 512 B). Both are adequate for storing calibration constants or device addresses, but the ATtiny85 gives you room for a small log or configuration table.
Peripherals and I/O Pins
Both chips share a DIP-8 package with 8 physical pins — two for power (VCC, GND) and six as I/O. The functional capabilities of those six pins differ greatly.
ATtiny13 Peripherals
- Timer0 (8-bit): Supports 2 PWM outputs on OC0A and OC0B
- ADC: 4 channels, 10-bit resolution
- Analog Comparator: Yes
- Watchdog Timer: Yes
- No USI — no hardware I2C or SPI support
- No hardware UART (only bit-bang options)
ATtiny85 Peripherals
- Timer0 (8-bit): Standard PWM
- Timer1 (8-bit, extended): Four PWM outputs, can use as high-speed PLL-based PWM (up to 64 MHz clock domain for PWM)
- ADC: 4 channels, 10-bit resolution
- USI: Universal Serial Interface — hardware support for I2C (TWI) and SPI modes
- Analog Comparator: Yes
- Watchdog Timer: Yes
The USI on the ATtiny85 is a game changer. You can talk to SPI displays, I2C sensors, and other peripherals using hardware assistance rather than purely bit-banging. The TinyWireM library (I2C master) and USISPITransfer (SPI) abstractions are mature and well-documented. The ATtiny13 forces you to bit-bang everything, which consumes precious Flash space and CPU cycles.
The ATtiny85’s Timer1 PLL mode is another unique feature: it can use an internal PLL to drive PWM at frequencies far beyond what Timer0 supports, making it suitable for motor control applications and audio generation tasks where high-frequency PWM matters.
Power Consumption
Both chips excel at low-power operation — that’s a core ATtiny selling point. But there are nuances.
At 1.8 V and 1 MHz internal clock, both chips draw roughly 0.2-0.3 mA active and can drop to sub-1 uA in power-down sleep mode. The ATtiny13A (the A revision) improves on the original ATtiny13 with better sleep mode characteristics.
The ATtiny13 has a slight theoretical edge in power because it has fewer peripherals to power down. In practice, the difference is negligible when proper sleep modes are used on both chips. The dominant power draw in real systems is the external circuitry (LEDs, sensors, radios), not the MCU itself.
Both chips support the same sleep modes:
- Idle — CPU stopped, peripherals active
- ADC Noise Reduction — for quiet ADC reads
- Power-down — deepest sleep, wake only via interrupt or watchdog
- Standby (ATtiny85 only with external crystal)
For battery-powered projects running on a coin cell or two AA batteries, either chip works beautifully. The ATtiny85 is the better choice if you need I2C sensors since bit-banging I2C on the ATtiny13 wastes both Flash and power.
Programming and Toolchain
Both chips are programmed via ISP (In-System Programming) using the MOSI, MISO, SCK, RESET, VCC, and GND lines. The easiest way to program them as a hobbyist is to use an Arduino as ISP (the classic ArduinoISP sketch) or a dedicated USBasp programmer.
ATtiny13 Toolchain
- Use ATTinyCore by Spence Konde in Arduino IDE (boards manager URL: http://drazzy.com/package_drazzy.com_index.json)
- Clock options: 9.6 MHz internal, 4.8 MHz internal, 128 kHz watchdog
- No Arduino bootloader — pure ISP only
- millis() disabled by default to save Flash; use delay() or timer interrupts manually
ATtiny85 Toolchain
- Also uses ATTinyCore or Digispark ATtiny85 board package (if using Digispark hardware)
- Supports a Micronucleus USB bootloader (Digispark variant) — allows direct USB programming without ISP
- Clock options: 1/8/16 MHz internal, external crystal
- millis() works reliably; standard Arduino functions available
The ATtiny85’s larger Flash means you can use the standard Arduino libraries with minimal modification. The ATtiny13 often requires writing pure AVR-C or carefully optimized Arduino code. Tools like avrdude, avr-gcc, and avr-libc support both chips natively on Linux, macOS, and Windows.
Best Use Cases for Each
Choose ATtiny13 When:
- Extreme cost sensitivity — every rupee matters and you need thousands of units
- Your entire firmware fits in ~800 bytes (LED chaser, simple button debounce, IR remote decoder)
- You have no need for I2C/SPI peripherals
- You are comfortable writing assembly or bare-metal C
- You want to challenge yourself to optimize code to its absolute limit
Choose ATtiny85 When:
- You want to use Arduino IDE libraries without heavy modification
- Your project includes I2C sensors (BMP280, SSD1306 OLED, etc.) or SPI displays
- You need 4 PWM channels (RGB LED control, motor speed)
- You want the Digispark USB bootloader for easy reprogramming
- You are prototyping and want flexibility to add features later
- Project involves NeoPixel strips (the Adafruit NeoPixel library fits in 8 KB)
Real-World ATtiny13 Projects
- Candle flicker LED effect (random PWM, ~150 bytes)
- IR remote receiver for a single button (TSOP1738 + 3 state pins)
- Watchdog-based timed relay (deep sleep, wake on timer, toggle pin)
- Simple capacitive touch button (QTouch-like approach in assembly)
Real-World ATtiny85 Projects
- USB HID keyboard or mouse (using V-USB software USB library)
- I2C slave sensor hub for Arduino Uno
- NeoPixel controller with animations
- Digispark-based USB rubber duck or keystroke injector (for authorized testing)
- Low-power weather node with BME280 and RFM69 radio
Frequently Asked Questions
Can I use the ATtiny13 with Arduino IDE?
Yes, with the ATTinyCore board package installed in Arduino IDE. However, many standard Arduino functions like Serial and Wire are not available due to memory constraints. You must use simplified versions or write your own bit-banging routines.
Does the ATtiny85 support USB communication?
Not natively in hardware. However, the Digispark board uses the ATtiny85 with a USB bootloader (Micronucleus) and the V-USB software stack, enabling USB HID device emulation. This works reliably for keyboards, mice, and MIDI devices.
How do I program an ATtiny without a dedicated programmer?
Upload the ArduinoISP sketch to any Arduino Uno or Nano, wire the ATtiny for ISP (MOSI to pin 11, MISO to pin 12, SCK to pin 13, RESET to pin 10), and select Arduino as ISP as the programmer in the Arduino IDE. Use Burn Bootloader to set fuses, then Upload Using Programmer for your sketch.
Is the ATtiny13 faster than the ATtiny85?
At default internal clock settings, the ATtiny13A runs at 9.6 MHz while the ATtiny85 defaults to 8 MHz. However, both can be clocked to 20 MHz with an external crystal. Raw processing power is essentially identical at the same clock speed since both use the same AVR core.
Can ATtiny85 run at 3.3V for battery projects?
Yes. Both chips are rated for 1.8 V to 5.5 V operation. At 3.3 V with an 8 MHz internal oscillator, the ATtiny85 operates well within spec. For 3 V coin cell projects, 8 MHz is stable and typical active current is under 2 mA — comfortably powered from a CR2032.
Conclusion: Which One Should You Buy?
For most hobbyist projects, the ATtiny85 is the smarter choice. The extra cost (typically Rs. 30-80 more) buys you 8x the memory, a hardware USI interface, 4 PWM channels, and full Arduino IDE compatibility. You will spend far less time fighting the toolchain and far more time building cool things.
Choose the ATtiny13 only if you have already designed and optimized your code, confirmed it fits in 1 KB of Flash and 64 bytes of RAM, and you are producing enough units that the cost difference matters. It is a specialist tool, not a general-purpose starting point.
Ready to get building? Explore our full range of Arduino and Microcontroller boards at Zbotic.in — from ATtiny-compatible programmers to full Arduino Uno kits for your next embedded project.
Add comment