

The Adafruit ATtinyx16 Breakout (Manufacturer Part ID: 5690) is a compact and versatile breakout board designed for the ATtinyx16 microcontroller series. This breakout board simplifies prototyping and integration by providing easy access to all the microcontroller's pins, along with power and ground connections. Its small form factor makes it ideal for embedded applications where space is a constraint.








The Adafruit ATtinyx16 Breakout is built around the ATtinyx16 microcontroller, which is part of the AVR family. Below are the key technical details:
| Parameter | Value |
|---|---|
| Microcontroller | ATtinyx16 (ATtiny416/816/1616) |
| Operating Voltage | 1.8V to 5.5V |
| Flash Memory | 16 KB |
| SRAM | 2 KB |
| EEPROM | 256 Bytes |
| Clock Speed | Up to 20 MHz |
| GPIO Pins | 18 |
| ADC Channels | 12-bit ADC, up to 10 channels |
| Communication Interfaces | I2C, SPI, UART |
| PWM Channels | Up to 6 |
The breakout board provides access to all the pins of the ATtinyx16 microcontroller. Below is the pinout description:
| Pin Name | Pin Number | Description |
|---|---|---|
| VCC | 1 | Power supply (1.8V to 5.5V) |
| GND | 2 | Ground |
| PA0-PA7 | 3-10 | General-purpose I/O pins |
| PB0-PB7 | 11-18 | General-purpose I/O pins |
| PC0-PC2 | 19-21 | General-purpose I/O pins |
| RESET | 22 | Reset pin |
| UPDI | 23 | Unified Program and Debug Interface |
| XTAL1 | 24 | External clock input |
| XTAL2 | 25 | External clock output |
The ATtinyx16 can be programmed using the Arduino IDE with the appropriate core installed. Below is an example of blinking an LED connected to pin PA0:
// Example: Blink an LED connected to PA0 on the ATtinyx16
// Define the pin number for the LED
#define LED_PIN 0 // PA0 corresponds to digital pin 0 in Arduino IDE
void setup() {
pinMode(LED_PIN, OUTPUT); // Set PA0 as an output pin
}
void loop() {
digitalWrite(LED_PIN, HIGH); // Turn the LED on
delay(1000); // Wait for 1 second
digitalWrite(LED_PIN, LOW); // Turn the LED off
delay(1000); // Wait for 1 second
}
Note: To program the ATtinyx16 using the Arduino IDE, install the "megaTinyCore" library and select the appropriate board and programmer settings.
Microcontroller Not Responding
Unable to Program the Microcontroller
Peripheral Devices Not Working
Unstable Operation
Q: Can I use the ATtinyx16 with a 3.3V power supply?
A: Yes, the ATtinyx16 operates within a voltage range of 1.8V to 5.5V, so 3.3V is within the acceptable range.
Q: How do I reset the microcontroller?
A: Connect the RESET pin to ground momentarily to reset the microcontroller.
Q: Can I use the UPDI pin as a GPIO?
A: Yes, the UPDI pin can be configured as a GPIO pin, but it is recommended to reserve it for programming and debugging purposes.
Q: Is an external crystal required?
A: No, the ATtinyx16 has an internal oscillator. However, you can use an external crystal for higher precision if needed.