ATtiny, also known as TinyAVR, is a subfamily of the popular 8-bit AVR microcontrollers, which typically has fewer features, fewer I/O pins, and less memory than other AVR series chips. The first members of this family were released in 1999 by Atmel (later acquired by Microchip Technology in 2016).

Features ATtiny microcontrollers specifically exclude various common features, such as: USB peripheral, DMA controller, crypto engine, or an external memory bus.

The following table summarizes common features of the ATtiny microcontrollers, for easy comparison. This table is not meant to be an unabridged feature list.

Device (family)8-bit AVR microcontrollers; Microchip.com Maxclock(MHz) Flash(KiB) SRAM(bytes) EEPROM(bytes) USART (UART) I²C() SPI Timers 16/12/8(bits) ADC pins GPIO pins IC Packages GCC arch ID PgmDbg Refs ATtiny11, ATtiny11L 6, 2 1 0 / 0 / 1 5 avr1 HVSP ATtiny12, ATtiny12L, ATtiny12V 8, 1.2 1 64 0 / 0 / 1 5 avr1 ISP, HVSP ATtiny15L 1.6 1 64 0 / 0 / 2 4 6 avr1 ISP, HVSP ATtiny28L, ATtiny28V 4, 1.2 2 0 / 0 / 1 11 avr1 HVPP ATtiny22, ATtiny22L 8, 4 2 128 128 0 / 0 / 1 5 avr2 ISP, HVSP ATtiny26, ATtiny26L 16, 8 2 128 128 * * * 0 / 0 / 2 11 16 avr2 ISP, HVPP ATtiny13, ATtiny13V, ATtiny13A 20, 10 1 64 64 0 / 0 / 1 4 6 avr25 ISP, dW, HVSP ATtiny24, ATtiny24V, ATtiny24A, ATtiny44, ATtiny44V, ATtiny44A, ATtiny84, ATtiny84V, ATtiny84A 20, 10 2, 4, 8 128, 256, 512 128, 256, 512 * * * 1 / 0 / 1 8 12 avr25 ISP, dW, HVSP ATtiny25, ATtiny25V, ATtiny45, ATtiny45V, ATtiny85, ATtiny85V 20, 10 2, 4, 8 128, 256, 512 128, 256, 512 * * * 0 / 0 / 2timer0 can use clocks up to the core clock, timer1 can use clocks up to 64MHz 4 6 avr25 ISP, dW, HVSP ATtiny43UUltra-low voltage model with integrated boost converter that can be powered with only 0.7 volts. 8 4 256 64 * * * 0 / 0 / 2 4 16 avr25 ISP, dW, HVPP ATtiny48, ATtiny88 12 4, 8 256, 512 64 1 / 0 / 1 6 24 avr25 ISP, dW, HVPP 1 / 0 / 1828 ATtiny87, ATtiny167 16 8, 16 512 512 1 / 0 / 1 11 16 avr25, avr35 ISP, dW, HVPP ATtiny261, ATtiny261A, ATtiny461, ATtiny461A, ATtiny861, ATtiny861A 20 2, 4, 8 128, 256, 512 128, 256, 512 * * * 1 / 0 / 1timer/counter1 is a 10-bit counter that can use clocks to 64MHz. 11 16 avr25 ISP, dW, HVPP ATtiny441, ATtiny841 16 4, 8 256, 512 256, 512 2 / 0 / 1 12 12 avr25 ISP, dW, HVSP ATtiny828 20 8 512 256 1 / 0 / 1 28 28 avr25 ISP, dW, HVPP ATtiny1634 12 16 1024 256 1 / 0 / 1 12 18 avr35 ISP, dW, HVPP ATtiny2313, ATtiny2313V, ATtiny2313A, ATtiny4313 20 2, 4 128, 256 128, 256 1 / 0 / 1 18 avr25 ISP, dW, HVPP ATtiny4, ATtiny5, ATtiny9, ATtiny10 12 0.5 / 1 32 1 / 0 / 0 4ADC only on ATtiny5/10, and channels are 8 bits instead of 10 4 avrtiny TPI ATtiny20 12 2 128 1 / 0 / 1 8 12 avrtiny TPI ATtiny40 12 4 256 1 / 0 / 1 12 18 avrtiny TPI ATtiny102(F) 12 1 32 1 / 0 / 0 5 6 avrtiny TPI ATtiny104(F) 12 1 32 1 / 0 / 0 9 12 avrtiny TPI ATtiny202, ATtiny402(0-series) 20 2, 4 128, 256 64, 128 2 / 0 / 0/ RTT 6 6 avrxmega3 UPDI ATtiny204, ATtiny404, ATtiny804, ATtiny1604(0-series) 20 2, 4, 8, 16 128, 256, 512, 1024 64, 128, 256 2 / 0 / 0/ RTT 10 12 avrxmega3 UPDI ATtiny406, ATtiny806, ATtiny1606(0-series) 20 4, 8, 16 256, 512, 1024 128, 256 2 / 0 / 0/ RTT 12 18 avrxmega3 UPDI ATtiny807, ATtiny1607(0-series) 20 8, 16 512, 1024 128, 256 2 / 0 / 0/ RTT 12 22 avrxmega3 UPDI ATtiny212, ATtiny412(1-series) 20 2, 4 128, 256 64, 128 2 / 1 / 0/ RTT 6 6 avrxmega3 UPDI ATtiny214, ATtiny414, ATtiny814, ATtiny1614(1-series) 20 2, 4, 8, 16 128, 256, 512, 2048 64, 128, 256 2 / 1 / 0/ RTT 10 12 avrxmega3 UPDI ATtiny416, ATtiny816, ATtiny1616, ATtiny3216(1-series) 20 4, 8, 16, 32 256, 512, 2048 128, 256 2or3 / 1 / 0/ RTT 12 18 avrxmega3 UPDI ATtiny417, ATtiny817, ATtiny1617, ATtiny3217(1-series) 20 4, 8, 16, 32 256, 512, 2048 128, 256 2 / 1 / 0/ RTT 12 22 avrxmega3 UPDI ATtiny424, ATtiny824, ATtiny1624, ATtiny3224(2-series) 20 4, 8, 16, 32 512, 1024, 2048, 3072 128, 128, 256, 256 3 / 0 / 0/ RTT 9 12 avrxmega3 UPDI ATtiny426, ATtiny826, ATtiny1626, ATtiny3226(2-series) 20 4, 8, 16, 32 512, 1024, 2048, 3072 128, 128, 256, 256 3 / 0 / 0/ RTT 15 18 avrxmega3 UPDI ATtiny1626; Microchip. ATtiny427, ATtiny827, ATtiny1627, ATtiny3227(2-series) 20 4, 8, 16, 32 512, 1024, 2048, 3072 128, 128, 256, 256 3 / 0 / 0/ RTT 15 22 avrxmega3 UPDI ATtiny1627; Microchip. Device (family) Max clock(MHz) Flash(KiB) SRAM(bytes) EEPROM(bytes) USART (UART) I²C() SPI Timers 16/12/8/R(bits) ADC pins GPIO pins IC Packages GCC arch ID PgmDbg Refs

Notes A watchdog timer (WDT, or simply a watchdog), sometimes called a computer operating properly timer (COP timer), is an electronic or software timer that is used to detect and recover from computer malfunctions. Watchdog timers are widely used in computers to facilitate automatic correction of temporary hardware faults, and to prevent errant or malevolent software from disrupting system operation.

During normal operation, the computer regularly restarts the watchdog timer to prevent it from elapsing, or timing out. If, due to a hardware fault or program error, the computer fails to restart the watchdog, the timer will elapse and generate a timeout signal. The timeout signal is used to initiate corrective actions. The corrective actions typically include placing the computer and associated hardware in a safe state and invoking a computer reboot.

Microcontrollers often include an integrated, on-chip watchdog. In other computers the watchdog may reside in a nearby chip that connects directly to the CPU, or it may be located on an external expansion card in the computer's chassis. Package column - the number after the dash is the number of pins on the package. DIP packages in this table are row-to-row. SOwww means SOIC package with a case width of 'www' in thousandth of an inch. Though some package types are known by more than one name, a common name was chosen to make it easier to compare packages. UART/I²C/SPI columns - means a dedicated peripheral, * means a multi-feature peripheral that is chosen by setting configuration bits. Most USART peripherals support a minimum choice between UART or SPI, where as some might support additional choices, such as LIN, IrDA, RS-485. Timers column - more recent families have wider timers and may allow chaining two 16-bit timers to do 32-bit capture. RTT is a 16-bit Real Time Timer that is driven by a 32.768KHz clock, though Microchip calls it RTC for Real Time Counter (easily confused to mean Real Time Clock). ADC pins column - the total number of analog channels that are accessible via pins that multiplex into the ADC input. Most parts have one ADC, a few have two ADC. Pgm/Dbg column - flash programming and debugging protocols: HVPP means High Voltage Parallel Programming 12V protocol, HVSP means High Voltage Serial Programming 12V protocol, ISP means In-System Programmable protocol, uses SPI to program the internal flash. TPI is Tiny Programming Interface. dW means debugWIRE protocol. UPDI means Unified Program and Debug Interface protocol (newest).

Abbreviations TWI: Many of Atmels microcontrollers contain built-in support for interfacing to a two-wire bus, called Two-Wire Interface. This is essentially the same thing as the I²C interface by Philips, but that term is avoided in Atmel's documentation due to trademark issues. USI: Universal Serial Interface (not to be confused with USB). The USI is a multi-purpose hardware communication module. With appropriate software support, it can be used to implement an SPI, I²C or UART interface. USART peripherals have more features than USI peripherals.

Timeline

The following table lists each ATtiny microcontroller by the first release date of each datasheet.

Year Device (family) 1999 ATtiny11, ATtiny11L, ATtiny12, ATtiny12L, ATtiny12V, ATtiny22, ATtiny22L 2002 ATtiny15L, ATtiny26, ATtiny26L, ATtiny28L, ATtiny28V 2003 ATtiny13, ATtiny13V, ATtiny2313, ATtiny2313V, ATtiny4313 2005 ATtiny24, ATtiny24V, ATtiny25, ATtiny25V, ATtiny44, ATtiny44V, ATtiny45, ATtiny45V, ATtiny84, ATtiny84V, ATtiny85, ATtiny85V 2006 ATtiny261, ATtiny461, ATtiny861 2008 ATtiny13A, ATtiny24A, ATtiny44A, ATtiny48, ATtiny84A, ATtiny88 2009 ATtiny4, ATtiny5, ATtiny9, ATtiny10, ATtiny43U, ATtiny261A, ATtiny461A, ATtiny861A, ATtiny2313A 2010 ATtiny20, ATtiny40, ATtiny87, ATtiny167 2011 ATtiny1634 2012 ATtiny441, ATtiny841, ATtiny828 2016 ATtiny102(F), ATtiny104(F), ATtiny417, ATtiny817 2017 ATtiny212, ATtiny412, ATtiny214, ATtiny414, ATtiny814, ATtiny416, ATtiny816 2018 ATtiny202, ATtiny402, ATtiny204, ATtiny404, ATtiny804, ATtiny1604, ATtiny406, ATtiny806, ATtiny1606, ATtiny807, ATtiny1607, ATtiny1614, ATtiny1616, ATtiny3216, ATtiny1617, ATtiny3217 2020 ATtiny1624, ATtiny1626, ATtiny16272021ATtiny424, ATtiny824, ATtiny426, ATtiny826, ATtiny427, ATtiny827

Development boards The following are ATtiny development boards sold by Microchip Technology: ATtiny104 Xplained Nano ATtiny416 Xplained Nano ATtiny817 AVR Parrot ATtiny817 Xplained MiniATtiny817 Xplained Mini board; Microchip. ATtiny817 Xplained Pro ATtiny3217 Xplained Pro

See also

AVR microcontrollers Atmel AVR instruction set In-system programming Arduino

Notes

References

Further reading ATtiny tinyAVR Microcontroller Projects for the Evil Genius; 1st Ed; Dhananjay Gadre, Nehul Malhotra; McGraw-Hill/TAB; 272 pages; 2011; .

AVR AVR Programming: Learning to Write Software for Hardware; 1st Ed; Elliot Williams; Maker Media; 474 pages; 2014; Some Assembly Required: Assembly Language Programming with the AVR Microcontroller; 1st Ed; Timothy Margush; CRC Press; 643 pages; 2011; AVR Microcontroller and Embedded Systems: Using Assembly and C; 1st Ed; Muhammad Ali Mazidi, Sarmad Naimi, Sepehr Naimi; Pearson; 792 pages; 2010; .

External links

Microchip 8-bit AVR MCU product webpage - Microchip Microchip 8-bit AVR MCU product selector (PDF) - Microchip Atmel tinyAVR fast and code efficient flyer (PDF) - Microchip All tinyAVR parts in a spreadsheet - EDN Magazine, September 8, 2014. ATtiny44/84 and ATtiny45/85 Pinout Diagrams