Overview
The ATtiny84 is a compact, low-power 8-bit microcontroller from Microchip's AVR family, offering a versatile balance of features for embedded applications where space and efficiency are essential.
Specifications
- CPU: 8-bit AVR RISC architecture
- Clock Speed: Up to 20 MHz
- Flash Memory: 8 KB
- SRAM: 512 bytes
- EEPROM: 512 bytes
- I/O Pins: 12 GPIO pins
- ADC: 10-bit ADC with 8 channels
- Communication Interfaces: USART, SPI, I2C
- Operating Voltage: 1.8V to 5.5V
Key Features
The ATtiny84 microcontroller includes a wide range of features suitable for embedded development:
- Low-power operation with multiple sleep modes for energy efficiency
- PWM support for LED dimming and motor control
- 10-bit ADC for accurate analog sensor readings
- Flexible communication via USART, SPI, and I2C
- Compact DIP-14 or SOIC-14 packages, ideal for space-constrained designs
- Arduino IDE compatibility for quick prototyping and development
Applications
The ATtiny84’s combination of features makes it ideal for a variety of low-power and space-efficient applications, such as:
- Remote Sensors: Environmental or motion sensing
- Battery-Powered Devices: Energy-efficient electronics
- Wearable Technology: Fitness trackers or health monitors
- Home Automation: Smart lighting or basic IoT control systems
- DIY Projects: Robotics, LED effects, and hobbyist electronics
Pinout Details
The ATtiny84 features a well-structured pinout, making it highly versatile for various designs. Below is an overview of its pin functionality:
Pin | Function |
---|---|
1 (PA0) | ADC/USART/General Purpose I/O |
2 (PA1) | ADC/USART/General Purpose I/O |
3 (PA2) | ADC/SPI/General Purpose I/O |
4 (PA3) | ADC/SPI/General Purpose I/O |
5 (PA4) | ADC/I2C/General Purpose I/O |
6 (PA5) | ADC/I2C/General Purpose I/O |
7 (PA6) | ADC/General Purpose I/O |
8 (PA7) | ADC/General Purpose I/O |
9 (PB0) | General Purpose I/O |
10 (PB1) | PWM/General Purpose I/O |
11 (PB2) | PWM/General Purpose I/O |
12 (PB3) | Reset/General Purpose I/O |
13 (GND) | Ground |
14 (VCC) | Power Supply |
Programming
The ATtiny84 can be programmed using several methods, depending on your project needs:
- Arduino IDE: Install the necessary board libraries to program the ATtiny84 directly using an Arduino board as an ISP programmer.
- ISP Programming: Use tools like USBasp or AVRISP to program it directly via In-System Programming.
Popular development platforms include:
- Arduino IDE for quick prototyping
- Microchip Studio for advanced AVR development
Workflow
- Connect the ATtiny84 to a programmer (e.g., USBasp or Arduino as ISP).
- Write your code in Arduino IDE or Microchip Studio.
- Upload the compiled firmware to the microcontroller.