The ATTINY84A is a low-power 8-bit microcontroller from Atmel's AVR family, designed for compact and efficient embedded applications. With its 14-pin configuration, 8KB of flash memory, and versatile peripherals, the ATTINY84A is ideal for projects requiring a small footprint and low power consumption. It supports a wide range of functionalities, including timers, analog-to-digital conversion (ADC), and pulse-width modulation (PWM).
Parameter | Value |
---|---|
Manufacturer | Atmel |
Part Number | ATTINY84A-SSFR |
Architecture | AVR 8-bit |
Flash Memory | 8KB |
SRAM | 512 bytes |
EEPROM | 512 bytes |
Operating Voltage | 1.8V to 5.5V |
Maximum Clock Speed | 20 MHz |
I/O Pins | 6 (configurable as digital or analog) |
ADC Resolution | 10-bit |
Timers | 2 (8-bit and 16-bit) |
PWM Channels | 4 |
Communication Interfaces | SPI, I²C, and USART |
Package Type | SOIC-14 |
The ATTINY84A has 14 pins, each with specific functions. Below is the pinout description:
Pin Number | Pin Name | Description |
---|---|---|
1 | VCC | Power supply (1.8V to 5.5V) |
2 | PB0 | Digital I/O, ADC input, PWM output |
3 | PB1 | Digital I/O, ADC input, PWM output |
4 | PB3 | Digital I/O, ADC input, PWM output |
5 | PB2 | Digital I/O, ADC input, PWM output |
6 | PA7 | Digital I/O, ADC input |
7 | PA6 | Digital I/O, ADC input |
8 | PA5 | Digital I/O, ADC input |
9 | PA4 | Digital I/O, ADC input |
10 | PA3 | Digital I/O, ADC input |
11 | PA2 | Digital I/O, ADC input |
12 | PA1 | Digital I/O, ADC input |
13 | PA0 | Digital I/O, ADC input |
14 | GND | Ground |
Below is an example of programming the ATTINY84A using an Arduino UNO as an ISP:
// Blink an LED connected to PB0 (Pin 2 on ATTINY84A)
// Define the LED pin
#define LED_PIN 0 // PB0 corresponds to digital pin 0 on ATTINY84A
void setup() {
pinMode(LED_PIN, OUTPUT); // Set PB0 as an output pin
}
void loop() {
digitalWrite(LED_PIN, HIGH); // Turn the LED on
delay(500); // Wait for 500 milliseconds
digitalWrite(LED_PIN, LOW); // Turn the LED off
delay(500); // Wait for 500 milliseconds
}
To upload the code:
The ATTINY84A is not responding to programming commands.
The microcontroller is not running the uploaded code.
Analog readings are unstable.
PWM output is not working as expected.
Can the ATTINY84A run at 3.3V?
What is the maximum clock speed of the ATTINY84A?
How many PWM channels are available?
Can I use the ATTINY84A for I²C communication?
This concludes the documentation for the ATTINY84A. For further details, refer to the official datasheet provided by Atmel.