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).[1]
Features
editATtiny 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)[2] | Max clock (MHz) |
Flash (KiB) |
SRAM (bytes) |
EEPROM (bytes) |
USART (UART) | I²C (TWI) |
SPI | Timers 16/12/8 (bits) |
ADC pins | GPIO pins | IC Packages | GCC arch ID [3] | Pgm Dbg |
Refs |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ATtiny11, ATtiny11L | 6, 2 | 1 | No | No | No | No | No | 0 / 0 / 1 | No | 5 | DIP-8N, SO200-8 | avr1 | HVSP | [4] |
ATtiny12, ATtiny12L, ATtiny12V | 8, 1.2 | 1 | No | 64 | No | No | No | 0 / 0 / 1 | No | 5 | DIP-8N, SO200-8 | avr1 | ISP, HVSP | [4] |
ATtiny15L | 1.6 | 1 | No | 64 | No | No | No | 0 / 0 / 2 | 4 | 6 | DIP-8N, SO200-8 | avr1 | ISP, HVSP | [5] |
ATtiny28L, ATtiny28V | 4, 1.2 | 2 | No | No | No | No | No | 0 / 0 / 1 | No | 11 | DIP-28N, TQFP-32, QFN-32 | avr1 | HVPP | [6] |
ATtiny22, ATtiny22L | 8, 4 | 2 | 128 | 128 | No | No | No | 0 / 0 / 1 | No | 5 | DIP-8N, SO200-8 | avr2 | ISP, HVSP | [7] |
ATtiny26, ATtiny26L | 16, 8 | 2 | 128 | 128 | USI* | master, slave* | master, slave* | 0 / 0 / 2 | 11 | 16 | DIP-20N, SO300-20, QFN-32 | avr2 | ISP, HVPP | [8] |
ATtiny13, ATtiny13V, ATtiny13A | 20, 10 | 1 | 64 | 64 | No | No | No | 0 / 0 / 1 | 4 | 6 | DIP-8N, SO150-8, SO209-8, VQFN-10, WQFN-20 | avr25 | ISP, dW, HVSP | [9] [10] [11] |
ATtiny24, ATtiny24V, ATtiny24A, ATtiny44, ATtiny44V, ATtiny44A, ATtiny84, ATtiny84V, ATtiny84A | 20, 10 | 2, 4, 8 | 128, 256, 512 | 128, 256, 512 | USI* | master, slave* | master, slave* | 1 / 0 / 1 | 8 | 12 | DIP-14N, SO150-14, QFN-20, VQFN-20, UFBGA-15 | avr25 | ISP, dW, HVSP | [12] [13] [14] [15] [16] [17] |
ATtiny25, ATtiny25V, ATtiny45, ATtiny45V, ATtiny85, ATtiny85V | 20, 10 | 2, 4, 8 | 128, 256, 512 | 128, 256, 512 | USI* | master, slave* | master, slave* | 0 / 0 / 2[a] | 4 | 6 | DIP-8N, SO208-8, TSSOP-8, QFN-20 | avr25 | ISP, dW, HVSP | [18] [19] [20] |
ATtiny43U[b] | 8 | 4 | 256 | 64 | USI* | master, slave* | master, slave* | 0 / 0 / 2 | 4 | 16 | SO300-20, QFN-20 | avr25 | ISP, dW, HVPP | [21] |
ATtiny48, ATtiny88 | 12 | 4, 8 | 256, 512 | 64 | No | master, slave | master, slave | 1 / 0 / 1 | 6 | 24 | DIP-28N, QFN-28 | avr25 | ISP, dW, HVPP | [22] [23] |
No | master, slave | master, slave | 1 / 0 / 1 | 8 | 28 | TQFP-32, QFN-32, UFBGA-32 | ||||||||
ATtiny87, ATtiny167 | 16 | 8, 16 | 512 | 512 | USI*, UART* | No | master, slave | 1 / 0 / 1 | 11 | 16 | SO300-20, TSSOP-20, VQFN-32 | avr25, avr35 | ISP, dW, HVPP | [24] [25] |
ATtiny261, ATtiny261A, ATtiny461, ATtiny461A, ATtiny861, ATtiny861A | 20 | 2, 4, 8 | 128, 256, 512 | 128, 256, 512 | USI* | master, slave* | master, slave* | 1 / 0 / 1[c] | 11 | 16 | DIP-20N, SO300-20, TSSOP-20, QFN-32 | avr25 | ISP, dW, HVPP | [26] [27] [28] [29] [30] |
ATtiny441, ATtiny841 | 16 | 4, 8 | 256, 512 | 256, 512 | 2 USART* | slave | master, slave | 2 / 0 / 1 | 12 | 12 | SO150-14, QFN-20, VQFN-20 | avr25 | ISP, dW, HVSP | [31] [32] |
ATtiny828 | 20 | 8 | 512 | 256 | USART* | slave | master, slave | 1 / 0 / 1 | 28 | 28 | TQFP-32, QFN-32 | avr25 | ISP, dW, HVPP | [33] |
ATtiny1634 | 12 | 16 | 1024 | 256 | USI*, 2 USART* | slave | master* | 1 / 0 / 1 | 12 | 18 | SO300-20, QFN-20 | avr35 | ISP, dW, HVPP | [34] |
ATtiny2313, ATtiny2313V, ATtiny2313A, ATtiny4313 | 20 | 2, 4 | 128, 256 | 128, 256 | USI*, USART* | master, slave* | master, slave* | 1 / 0 / 1 | No | 18 | DIP-20N, SO300-20, VQFN-20 | avr25 | ISP, dW, HVPP | [35] [36] [37] [38] |
ATtiny4, ATtiny5, ATtiny9, ATtiny10 | 12 | 0.5 / 1 | 32 | No | No | No | No | 1 / 0 / 0 | 4 [d] | 4 | SOT23-6, UDFN-8 | avrtiny | TPI | [39] [40] [41] [42] |
ATtiny20 | 12 | 2 | 128 | No | No | slave | master, slave | 1 / 0 / 1 | 8 | 12 | SO150-14, TSSOP-14, VQFN-20, UFBGA-15, WLCSP-12 | avrtiny | TPI | [43] |
ATtiny40 | 12 | 4 | 256 | No | No | slave | master, slave | 1 / 0 / 1 | 12 | 18 | SO300-20, TSSOP-20, VQFN-20 | avrtiny | TPI | [44] |
ATtiny102(F) | 12 | 1 | 32 | No | USART* | No | master* | 1 / 0 / 0 | 5 | 6 | SO150-8, UDFN-8 | avrtiny | TPI | [45] |
ATtiny104(F) | 12 | 1 | 32 | No | USART* | No | master* | 1 / 0 / 0 | 9 | 12 | SO150-14 | avrtiny | TPI | [46] |
ATtiny202, ATtiny402 (0-series) |
20 | 2, 4 | 128, 256 | 64, 128 | USART* | master, slave | master, slave | 2 / 0 / 0 / RTT |
6 | 6 | SO150-8 | avrxmega3 | UPDI | [47] [48] |
ATtiny204, ATtiny404, ATtiny804, ATtiny1604 (0-series) |
20 | 2, 4, 8, 16 | 128, 256, 512, 1024 | 64, 128, 256 | USART* | master, slave | master, slave | 2 / 0 / 0 / RTT |
10 | 12 | SO150-14 | avrxmega3 | UPDI | [49] [50] [51] [52] |
ATtiny406, ATtiny806, ATtiny1606 (0-series) |
20 | 4, 8, 16 | 256, 512, 1024 | 128, 256 | USART* | master, slave | master, slave | 2 / 0 / 0 / RTT |
12 | 18 | SO300-20, VQFN-20 | avrxmega3 | UPDI | [53] [54] [55] |
ATtiny807, ATtiny1607 (0-series) |
20 | 8, 16 | 512, 1024 | 128, 256 | USART* | master, slave | master, slave | 2 / 0 / 0 / RTT |
12 | 22 | VQFN-24 | avrxmega3 | UPDI | [56] [57] |
ATtiny212, ATtiny412 (1-series) |
20 | 2, 4 | 128, 256 | 64, 128 | USART* | master, slave | master, slave | 2 / 1 / 0 / RTT |
6 | 6 | SO150-8 | avrxmega3 | UPDI | [58] [59] |
ATtiny214, ATtiny414, ATtiny814, ATtiny1614 (1-series) |
20 | 2, 4, 8, 16 | 128, 256, 512, 2048 | 64, 128, 256 | USART* | master, slave | master, slave | 2 / 1 / 0 / RTT |
10 | 12 | SO150-14 | avrxmega3 | UPDI | [60] [61] [62] [63] |
ATtiny416, ATtiny816, ATtiny1616, ATtiny3216 (1-series) |
20 | 4, 8, 16, 32 | 256, 512, 2048 | 128, 256 | USART* | master, slave | master, slave | 2or3 / 1 / 0 / RTT |
12 | 18 | SO300-20, QFN-20, VQFN-20 | avrxmega3 | UPDI | [64][65][66][67] |
ATtiny417, ATtiny817, ATtiny1617, ATtiny3217 (1-series) |
20 | 4, 8, 16, 32 | 256, 512, 2048 | 128, 256 | USART* | master, slave | master, slave | 2 / 1 / 0 / RTT |
12 | 22 | VQFN-24, QFN-24 | avrxmega3 | UPDI | [68][69][70][71] |
ATtiny424, ATtiny824, ATtiny1624, ATtiny3224 (2-series) |
20 | 4, 8, 16, 32 | 512, 1024, 2048, 3072 | 128, 128, 256, 256 | 2 USART* | yes | yes | 3 / 0 / 0 / RTT |
9 | 12 | SO-14, TSSOP-14 | avrxmega3 | UPDI | [72][73] |
ATtiny426, ATtiny826, ATtiny1626, ATtiny3226 (2-series) |
20 | 4, 8, 16, 32 | 512, 1024, 2048, 3072 | 128, 128, 256, 256 | 2 USART* | yes | yes | 3 / 0 / 0 / RTT |
15 | 18 | SO-20, SSTOP-20, VQFN-20 | avrxmega3 | UPDI | [74][75] |
ATtiny427, ATtiny827, ATtiny1627, ATtiny3227 (2-series) |
20 | 4, 8, 16, 32 | 512, 1024, 2048, 3072 | 128, 128, 256, 256 | 2 USART* | yes | yes | 3 / 0 / 0 / RTT |
15 | 22 | VQFN-24 | avrxmega3 | UPDI | [76][77] |
Device (family) | Max clock (MHz) |
Flash (KiB) |
SRAM (bytes) |
EEPROM (bytes) |
USART (UART) | I²C (TWI) |
SPI | Timers 16/12/8/R (bits) |
ADC pins | GPIO pins | IC Packages | GCC arch ID | Pgm Dbg |
Refs |
- Notes
- ^ timer0 can use clocks up to the core clock, timer1 can use clocks up to 64MHz
- ^ Ultra-low voltage model with integrated boost converter that can be powered with only 0.7 volts.
- ^ timer/counter1 is a 10-bit counter that can use clocks to 64MHz.
- ^ ADC only on ATtiny5/10, and channels are 8 bits instead of 10
- Package column - the number after the dash is the number of pins on the package. DIP packages in this table are 0.3 inches (7.62 mm) 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 - green cell means a dedicated peripheral, * yellow cell 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).[78]
- 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,[79] I²C[80][81] or UART[82] interface. USART peripherals have more features than USI peripherals.
Timeline
editThe 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, ATtiny1627 |
2021 | ATtiny424, ATtiny824, ATtiny426, ATtiny826, ATtiny427, ATtiny827 |
Development boards
editThe following are ATtiny development boards sold by Microchip Technology:
See also
editReferences
edit- ^ "Atmel Product Guide September 1999" (PDF). Atmel. September 1999. Archived (PDF) from the original on October 6, 2018. Retrieved October 6, 2018.
- ^ 8-bit AVR microcontrollers; Microchip.com
- ^ AVR compiler options; gcc.gnu.org
- ^ a b "ATtiny11/ATtiny12 datasheet" (PDF). Microchip Technology. Retrieved July 9, 2018.
- ^ "ATtiny15L datasheet" (PDF). Microchip Technology. Retrieved July 9, 2018.
- ^ "ATtiny28 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny22 datasheet" (PDF). Microchip Technology. Retrieved July 16, 2018.
- ^ "ATtiny26 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny13 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny13A webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "AppNote AVR520 - Migrating from ATtiny13 to ATtiny13A" (PDF). Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny24 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny44 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny84 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny24A webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny44A webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny84A webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny25 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny45 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny85 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny43U webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny48 webpage". Microchip Technology. Retrieved July 9, 2018.
- ^ "ATtiny88 webpage". Microchip Technology. Retrieved July 9, 2018.
- ^ "ATtiny87 webpage". Microchip Technology. Retrieved July 9, 2018.
- ^ "ATtiny167 webpage". Microchip Technology. Retrieved July 9, 2018.
- ^ "ATtiny261A webpage". Microchip Technology. Retrieved July 9, 2018.
- ^ "ATtiny461 webpage". Microchip Technology. Retrieved July 9, 2018.
- ^ "ATtiny461A webpage". Microchip Technology. Retrieved July 9, 2018.
- ^ "ATtiny861 webpage". Microchip Technology. Retrieved July 9, 2018.
- ^ "ATtiny861A webpage". Microchip Technology. Retrieved July 9, 2018.
- ^ "ATtiny441 webpage". Microchip Technology. Retrieved July 9, 2018.
- ^ "ATtiny841 webpage". Microchip Technology. Retrieved July 9, 2018.
- ^ "ATtiny828 webpage". Microchip Technology. Retrieved July 9, 2018.
- ^ "ATtiny1634 webpage". Microchip Technology. Retrieved July 9, 2018.
- ^ "ATtiny2313 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny2313A webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny4313 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "AppNote AVR533 - Migrating from ATtiny2313 to ATtiny2313A" (PDF). Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny4 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny5 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny9 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny10 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny20 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny40 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny102 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny104 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny202 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny402 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny204 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny404 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny804 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny1604 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny406 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny806 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny1606 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny807 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny1607 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny212 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny412 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny214 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny414 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny814 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny1614 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny416 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny816 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny1616 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny3216 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny417 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny817 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny1617 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ "ATtiny3217 webpage". Microchip Technology. Retrieved July 7, 2018.
- ^ ATtiny1624; Microchip.
- ^ "ATTINY3224 - 8-bit Microcontrollers". www.microchip.com. Retrieved 2021-06-21.
- ^ ATtiny1626; Microchip.
- ^ "ATTINY3226 - 8-bit Microcontrollers". www.microchip.com. Retrieved 2021-06-21.
- ^ ATtiny1627; Microchip.
- ^ "ATTINY3227 - 8-bit Microcontrollers". www.microchip.com. Retrieved 2021-06-21.
- ^ Atmel Studio Release Notes; Microchip.com
- ^ "AVR319: Using the USI module for SPI communication" (PDF). Atmel. 2004. Retrieved 10 June 2014.
- ^ "Atmel AVR310: Using the USI Module as a I2C Master" (PDF). Atmel. 2013. Retrieved 10 June 2014.
- ^ "AVR312: Using the USI module as a I2C slave" (PDF). Atmel. 2005. Retrieved 10 June 2014.
- ^ "AVR307: Half Duplex UART Using the USI Module" (PDF). Atmel. 2003. Retrieved 10 June 2014.
- ^ ATtiny104 Xplained Nano board; Microchip.
- ^ ATtiny416 Xplained Nano board; Microchip.
- ^ ATtiny817 AVR Parrot board; Microchip.
- ^ ATtiny817 Xplained Mini board; Microchip.
- ^ ATtiny817 Xplained Pro board; Microchip.
- ^ ATtiny3217 Xplained Pro board; Microchip.
Further reading
edit- ATtiny
- tinyAVR Microcontroller Projects for the Evil Genius; 1st Ed; Dhananjay Gadre, Nehul Malhotra; McGraw-Hill/TAB; 272 pages; 2011; ISBN 978-0071744546.
- AVR
- AVR Programming: Learning to Write Software for Hardware; 1st Ed; Elliot Williams; Maker Media; 474 pages; 2014; ISBN 978-1449355784
- Some Assembly Required: Assembly Language Programming with the AVR Microcontroller; 1st Ed; Timothy Margush; CRC Press; 643 pages; 2011; ISBN 978-1439820643
- AVR Microcontroller and Embedded Systems: Using Assembly and C; 1st Ed; Muhammad Ali Mazidi, Sarmad Naimi, Sepehr Naimi; Pearson; 792 pages; 2010; ISBN 978-0138003319.
External links
edit- 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