ATMEGA1284-PU - 8-bit AVR MCU 128KB Flash 20MHz PDIP-40 | Microchip
MPN: ATMEGA1284-PU β Active| Qty | Unit Price | Extended |
|---|---|---|
| 1 | $7.96 | $7.96 |
| 10 | $7.5 | $75.00 |
| 100 | $7.05 | $705.00 |
| 500 | $6.62 | $3,310.00 |
| 1,000 | $6.21 | $6,210.00 |
ATMEGA1284-PU Overview
An 8-bit AVR microcontroller is a complete computer-on-a-chip based on the AVR enhanced RISC architecture, in which most of the 133 powerful instructions execute in a single clock cycle. Combined with 32 general-purpose working registers, this architecture achieves CPU throughput approaching one million instructions per second (MIPS) per MHz, placing the ATmega family within the broader hierarchy of microcontrollers -> embedded processors -> integrated circuits, and making it a classic choice for through-hole, hobbyist, and industrial control designs.
Key features include 128KB of self-programmable Flash with read-while-write capability, 4KB of on-chip EEPROM, 16KB of SRAM (the largest SRAM of any standard ATmega in this family), 32 general-purpose I/O lines, and an operating voltage range of 2.5V to 5.5V across the speed grades, allowing operation from a 5V industrial bus or a 3.3V battery rail.
On-chip peripherals include an 8-channel 10-bit ADC, two 8-bit and one 16-bit timers with PWM, a real-time counter, two USARTs, SPI, two-wire interface (I2C), analog comparator, watchdog timer, and an internal calibrated RC oscillator. JTAG (Port C) provides on-chip debugging and boundary-scan, and ISP programming is supported through the SPI port.
Typical applications include stand-alone industrial controllers, embedded instrumentation, retro-computing and Arduino-compatible builds (fully supported by the MightyCore Arduino core), motor and LED control, and test equipment where the through-hole DIP-40 package simplifies prototyping, socketing, and field replacement.
Design consideration: for full 20 MHz operation, use the 5V (2.7V-5.5V) speed grade; the maximum safe frequency scales down at lower supply voltages. Place 100 nF decoupling capacitors directly across the VCC/GND pin pairs.
This page synthesizes distributor pricing, drop-in alternatives, pinout data, and practical design notes not found in the manufacturer datasheet.
Drop-in alternatives for ATMEGA1284-PU β same package, pin-to-pin compatible. Different-package parts requiring PCB rework are excluded.
Variants in this series
Same-series models that are drop-in compatible with ATMEGA1284-PU (same form factor and footprint) β differing in Package, Supply Voltage Range, ADC, EEPROM, Mounting Type.
Quick Comparison Tool β Select alternative parts for side-by-side comparison:
ATMEGA1284P-PU
β Drop-Inβ In Stock
$6.05 / Unit
View Datasheet βATMEGA1284P-MUR
β Drop-Inβ In Stock
Contact for price
View Datasheet βATMEGA1284-AUR
β Drop-Inβ In Stock
$4.61 / Unit
View Datasheet βATMEGA644P-PU
β Drop-In β οΈ εζ°εΎ ιͺθ―π Reference alternative (not in catalog)
ATMEGA644-PU
β Drop-In β οΈ εζ°εΎ ιͺθ―π Reference alternative (not in catalog)
ATMEGA324PA-PU
β Drop-Inπ Reference alternative (not in catalog)
ATMEGA32-PU
β Drop-In β οΈ εζ°εΎ ιͺθ―π Reference alternative (not in catalog)
ATMEGA1284-PU Maximum Ratings & Electrical Characteristics
| Core Architecture | AVR enhanced RISC, 8-bit |
| Flash Program Memory | 128KB (64K x 16) |
| SRAM | 16KB |
| EEPROM | 4KB |
| Maximum Clock Frequency | 20 MHz |
| Supply Voltage Range | 2.5V to 5.5V (speed-graded) |
| I/O Pins | 32 general purpose I/O lines |
| ADC | 8-channel, 10-bit |
| Timers | 2 x 8-bit, 1 x 16-bit |
| USART | 2 |
| Serial Interfaces | SPI, 2-Wire (I2C), USART |
| JTAG | Yes (Port C, on-chip debug and boundary-scan) |
| Instructions | 133 instructions, most single-cycle |
| Package | 40-PDIP |
| Mounting Type | Through Hole |
ATMEGA1284-PU Pin Configuration
| Pin 1 | VCC β Digital supply voltage |
| Pin 2 | PB0 (XCK0/T0) β Port B bit 0 / USART0 external clock / Timer0 external clock |
| Pin 3 | PB1 (T1) β Port B bit 1 / Timer1 external clock |
| Pin 4 | PB2 (AIN0/INT2) β Port B bit 2 / analog comparator positive input / external interrupt 2 |
| Pin 5 | PB3 (AIN1/OC0) β Port B bit 3 / analog comparator negative input / Timer0 output compare |
| Pin 6 | PB4 (SS) β Port B bit 4 / SPI slave select |
| Pin 7 | PB5 (MOSI) β Port B bit 5 / SPI master output, slave input |
| Pin 8 | PB6 (MISO) β Port B bit 6 / SPI master input, slave output |
| Pin 9 | PB7 (SCK) β Port B bit 7 / SPI serial clock |
| Pin 10 | GND β Digital ground |
| Pin 11 | VCC β Digital supply voltage |
| Pin 12 | PA0 (ADC0) β Port A bit 0 / ADC input channel 0 |
| Pin 13 | PA1 (ADC1) β Port A bit 1 / ADC input channel 1 |
| Pin 14 | PA2 (ADC2) β Port A bit 2 / ADC input channel 2 |
| Pin 15 | PA3 (ADC3) β Port A bit 3 / ADC input channel 3 |
| Pin 16 | PA4 (ADC4) β Port A bit 4 / ADC input channel 4 |
| Pin 17 | PA5 (ADC5) β Port A bit 5 / ADC input channel 5 |
| Pin 18 | PA6 (ADC6) β Port A bit 6 / ADC input channel 6 |
| Pin 19 | PA7 (ADC7) β Port A bit 7 / ADC input channel 7 |
| Pin 20 | PC7 (TCK) β Port C bit 7 / JTAG test clock |
| Pin 21 | PC6 (TMS) β Port C bit 6 / JTAG test mode select |
| Pin 22 | PC5 (TDI) β Port C bit 5 / JTAG test data input |
| Pin 23 | PC4 (TDO) β Port C bit 4 / JTAG test data output |
| Pin 24 | PC3 (TOSC2) β Port C bit 3 / Timer oscillator output 2 |
| Pin 25 | PC2 (TOSC1) β Port C bit 2 / Timer oscillator input 1 |
| Pin 26 | PC1 (SDA) β Port C bit 1 / 2-wire serial interface data |
| Pin 27 | PC0 (SCL) β Port C bit 0 / 2-wire serial interface clock |
| Pin 28 | PD7 (OC2) β Port D bit 7 / Timer2 output compare |
| Pin 29 | PD6 (ICP1) β Port D bit 6 / Timer1 input capture |
| Pin 30 | PD5 (OC1A) β Port D bit 5 / Timer1 output compare A |
| Pin 31 | PD4 (XCK1/OC1B) β Port D bit 4 / USART1 external clock / Timer1 output compare B |
| Pin 32 | PD3 (INT1/TXD1) β Port D bit 3 / external interrupt 1 / USART1 transmit |
| Pin 33 | PD2 (INT0/RXD1) β Port D bit 2 / external interrupt 0 / USART1 receive |
| Pin 34 | PD1 (TXD0) β Port D bit 1 / USART0 transmit |
| Pin 35 | PD0 (RXD0) β Port D bit 0 / USART0 receive |
| Pin 36 | XTAL2 β Inverting oscillator amplifier output |
| Pin 37 | XTAL1 β Inverting oscillator amplifier input / external clock input |
| Pin 38 | RESET β Reset input, active low |
| Pin 39 | AREF β ADC analog reference voltage |
| Pin 40 | AGND β Analog ground |
Typical Applications
ATMEGA1284-PU is suitable for 6 applications: Industrial Control and Automation, Arduino-Compatible Prototyping, Embedded Instrumentation and Data Logging, Motor and LED Control, Communication Gateways and Telemetry, Retro-Computing and Hobby Systems.
Industrial Control and Automation
The ATMEGA1284-PU fits industrial controllers that need generous code space and solid I/O at 5V logic levels. Its 128KB Flash accommodates state machines, communication stacks, and OTA-style field updates, while 16KB SRAM supports Modbus RTU buffers and PID arrays that overflow smaller ATmega324-class devices. The 2.5V-5.5V supply range accepts noisy 5V industrial rails, 32 GPIO lines drive relays and read sensors, and the 10-bit ADC measures analog setpoints. The socketable DIP-40 package simplifies in-field replacement of controller boards without soldering equipment.
Recommended
Arduino-Compatible Prototyping
The MightyCore Arduino core fully supports the ATmega1284 family, making the ATMEGA1284-PU a favorite for memory-hungry Arduino projects. Its 16KB SRAM is four times that of an ATmega328P, preventing heap fragmentation in sketches using Ethernet libraries, TFT frame buffers, or large lookup tables, and the 128KB Flash leaves ample room for libraries. The through-hole DIP-40 package plugs into prototyping boards and sockets, and a USBasp burns the Urboot bootloader via ISP. Most UNO-compatible libraries port with minimal changes.
Recommended
Embedded Instrumentation and Data Logging
For data loggers and bench instruments, the ATMEGA1284-PU combines an 8-channel 10-bit ADC with 4KB EEPROM for calibration constants and a real-time counter for time-stamping. The 16KB SRAM buffers sampling bursts before writing to SD or EEPROM, and the dual USARTs can simultaneously drive a display link and a PC/telemetry port. The 20 MHz clock at 5V delivers fast ADC sampling and PWM generation, while the socketable package allows easy upgrades or sensor-board rework during instrument development.
Recommended
Motor and LED Control
The ATMEGA1284-PU generates multiple independent PWM channels from its two 8-bit and one 16-bit timers, suiting DC motor drives, servo control, and multi-channel LED dimming. At 20 MHz and 5V, the 16-bit timer offers fine PWM resolution, and the port output buffers feature symmetrical sink/source drive for direct MOSFET gate coupling through drivers. The 10-bit ADC reads current shunts and potentiometers for closed-loop control, while the watchdog timer protects against firmware lockups in unattended motor applications.
Recommended
Communication Gateways and Telemetry
With two full USARTs plus SPI and the 2-wire interface, the ATMEGA1284-PU acts as a protocol bridge - for example RS-485 field bus to RS-232 debug port, or SPI radio module to UART telemetry. The large 16KB SRAM holds packet buffers and protocol stacks, and 128KB Flash stores multiple protocol firmware variants. JTAG on Port C enables on-chip debugging of communication state machines, reducing development time compared to printf-only workflows on smaller AVRs.
Recommended
Retro-Computing and Hobby Systems
The ATMEGA1284-PU is a mainstream choice for retro-computing interfaces, homebrew computers, and keyboard/mouse emulation because the 40-pin DIP matches legacy through-hole sockets and hand-soldering workflows. Its 128KB Flash emulates ROM contents and 16KB SRAM provides working memory for protocol emulation, while precise single-cycle instruction timing simplifies cycle-accurate bit-banging. Community cores (MightyCore) and abundant socket adapters make breadboarding straightforward for hobbyists and museum restoration projects alike.
Recommended
Recommended Products Summary
Engineering reference data for ATMEGA1284-PU β comparison, design guidance, and compliance information.
Selection Guide
Comparison with Alternatives
| Parameter | This Product | ATMEGA1284P-PU | ATMEGA644P-PU | ATMEGA644-PU | ATMEGA324PA-PU |
|---|---|---|---|---|---|
| Package | 40-PDIP | 40-PDIP - same | 40-PDIP - same | 40-PDIP - same | 40-PDIP - same |
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Flash Memory | 128KB | 128KB | 64KB | 64KB | 32KB |
| SRAM | 16KB | 16KB | 8KB | 4KB | 2KB |
| EEPROM | 4KB | 4KB | 4KB | 2KB | 2KB |
| Max Clock Frequency | 20 MHz | 20 MHz | 20 MHz | 20 MHz | 20 MHz |
| Supply Voltage Range | 2.5V to 5.5V | 1.8V to 5.5V (picoPower) | 1.8V to 5.5V (picoPower) | 2.5V to 5.5V | 1.8V to 5.5V (picoPower) |
| PicoPower / Low-Power Modes | No | Yes | Yes | No | Yes |
Key Differentiators
- Largest SRAM in the standard ATmega DIP family (vs ATMEGA324PA-PU)
- 128KB Flash doubles the largest 644 variant (vs ATMEGA644P-PU)
- Trade-off: no picoPower low-power modes (vs ATMEGA1284P-PU)
Design Notes
The DIP-40 package provides two VCC pins (1 and 11) and separate digital GND (pin 10) and analog AGND (pin 40). Decouple each VCC pin with a 100 nF ceramic capacitor placed as close as possible to the pin, plus a 10 uF bulk capacitor on the board. Tie AGND and GND together at a single star point near the ADC reference ground to prevent digital return currents from corrupting 10-bit ADC conversions. Estimated: at 5V and 20 MHz with a moderate load, MCU current is typically in the tens of mA per the datasheet electrical characteristics section.
For 20 MHz operation, use a parallel-resonant crystal with 18-22 pF load capacitors on XTAL1/XTAL2, routed short and direct with a ground guard. Keep the RESET trace short and add a 10 kOhm pull-up plus optional 100 nF to ground for noise immunity in electrically noisy industrial environments. Enable the internal Brown-Out Detector via fuses (e.g., BOD at 2.7V or 4.0V depending on supply) so the MCU does not execute corrupted code during supply sag.
Default fuse settings run the device from the internal ~1 MHz RC oscillator - code written for 20 MHz will run 20x slow until you program the CKSEL fuses for the external crystal. Also beware disabling RESET or SPI fuses accidentally (RSTDISBL/SPIEN), which can brick ISP access and require high-voltage parallel programming. When migrating to the ATMEGA1284P, verify the clock safety margin versus supply voltage, since the picoPower part allows 1.8V operation where the standard 1284 does not.
Compliance Information
Compliance status not stated in the provided web data. Verify RoHS/REACH status on the official Microchip ATmega1284 product page before procurement.