ATMEGA128-16MJ - 8-bit AVR MCU 16MHz 128KB Flash | Microchip
MPN: ATMEGA128-16MJ β Active| Qty | Unit Price | Extended |
|---|---|---|
| 1 | $6.9 | $6.90 |
| 10 | $6.21 | $62.10 |
| 100 | $5.52 | $552.00 |
| 500 | $4.97 | $2,485.00 |
| 1,000 | $4.48 | $4,480.00 |
ATMEGA128-16MJ Overview
A microcontroller is a single-chip computer that integrates a processor core, nonvolatile program memory, SRAM, and peripherals on one die. The ATmega128 sits in the 8-bit general-purpose MCU hierarchy, within the AVR family that traces from tiny ATtiny parts up through megaAVR and 32-bit AVR/ARM devices, serving embedded systems, industrial control, and consumer products.
Key features include the AVR RISC core executing most instructions in a single clock cycle for near 1 MIPS per MHz throughput, dual UART/USART serial ports, SPI and TWI (I2C) interfaces, an external bus interface (EBI/EMI) for memory-mapped expansion, an 8-channel 10-bit ADC, JTAG for on-chip debugging and boundary scan, and hardware PWM outputs from multiple timers.
Architecturally, the ATmega128 uses a Harvard structure with separate program and data buses, 133 instructions, and 32 general-purpose registers directly connected to the ALU. Self-programming Flash with a boot-loader section enables field firmware updates over UART or SPI without external programmers.
Typical applications include industrial automation controllers, embedded communication gateways using the dual USART and EBI, and motor or lighting control leveraging PWM and 10-bit ADC feedback loops.
Design consideration: the 16 MHz speed grade targets the 4.5 V to 5.5 V supply range; systems running at 3.3 V should select the ATmega128L variants to remain within datasheet frequency-voltage limits.
This page synthesizes distributor availability, drop-in alternatives, pinout, and practical design notes not found in the manufacturer datasheet.
Drop-in alternatives for ATMEGA128-16MJ β 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 ATMEGA128-16MJ (same form factor and footprint) β differing in Package, Program Memory Size, RAM Size, Throughput, Timers.
Quick Comparison Tool β Select alternative parts for side-by-side comparison:
ATMEGA128-16MU
β Drop-Inβ In Stock
$6.4 / Unit
View Datasheet βATMEGA128-16MN
β Drop-Inβ In Stock
$7.44 / Unit
View Datasheet βATMEGA128A-16MU
β Drop-In β οΈ εζ°εΎ ιͺθ―π Reference alternative (not in catalog)
ATMEGA128L-16MN
β Drop-In β οΈ εζ°εΎ ιͺθ―π Reference alternative (not in catalog)
ATMEGA128-16MJ Maximum Ratings & Electrical Characteristics
| Core | 8-bit AVR RISC |
| Core Size | 8-bit |
| Speed | 16 MHz |
| Program Memory Size | 128 KB (64K x 16) Flash |
| EEPROM Size | 4 KB |
| RAM Size | 4 KB |
| Connectivity | EBI/EMI, I2C (TWI), SPI, UART/USART |
| Peripherals | Brown-out Detect/Reset, POR, PWM, WDT |
| Number of I/O | 53 |
| ADC Resolution | 10-bit |
| Number of ADC Channels | 8 |
| Debug Interface | JTAG (on-chip debug, boundary scan) |
| Supply Voltage (16 MHz speed grade) | 4.5 V to 5.5 V |
| Throughput | up to 16 MIPS at 16 MHz (approx. 1 MIPS per MHz) |
| Package | 64-VFQFN Exposed Pad (MLF-64) |
| Mounting Type | Surface Mount |
| Timers | Two 8-bit, two 16-bit |
ATMEGA128-16MJ Pin Configuration
| Pin 1 | PF0 (ADC0) β Port F I/O / ADC channel 0 |
| Pin 2 | PF1 (ADC1) β Port F I/O / ADC channel 1 |
| Pin 3 | PF2 (ADC2) β Port F I/O / ADC channel 2 |
| Pin 4 | PF3 (ADC3) β Port F I/O / ADC channel 3 |
| Pin 5 | PF4 (ADC4/TCK) β Port F I/O / ADC4 / JTAG test clock |
| Pin 6 | PF5 (ADC5/TMS) β Port F I/O / ADC5 / JTAG test mode select |
| Pin 7 | PF6 (ADC6/TDO) β Port F I/O / ADC6 / JTAG test data out |
| Pin 8 | PF7 (ADC7/TDI) β Port F I/O / ADC7 / JTAG test data in |
| Pin 9 | GND β Ground |
| Pin 10 | VCC β Digital supply voltage |
| Pin 11 | PA0 (AD0) β Port A I/O / external bus address-data bit 0 |
| Pin 12 | PA1 (AD1) β Port A I/O / external bus address-data bit 1 |
| Pin 13 | PA2 (AD2) β Port A I/O / external bus address-data bit 2 |
| Pin 14 | PA3 (AD3) β Port A I/O / external bus address-data bit 3 |
| Pin 15 | PA4 (AD4) β Port A I/O / external bus address-data bit 4 |
| Pin 16 | PA5 (AD5) β Port A I/O / external bus address-data bit 5 |
| Pin 17 | PA6 (AD6) β Port A I/O / external bus address-data bit 6 |
| Pin 18 | PA7 (AD7) β Port A I/O / external bus address-data bit 7 |
| Pin 19 | PE0 (RXD0/PDI) β Port E I/O / USART0 receive / programming data in |
| Pin 20 | PE1 (TXD0/PDO) β Port E I/O / USART0 transmit / programming data out |
| Pin 21 | PE2 (XCK0/AIN0) β Port E I/O / USART0 clock / analog comparator 0 input |
| Pin 22 | PE3 (OC3A/AIN1) β Port E I/O / Timer3 PWM output A / comparator 1 input |
| Pin 23 | PE4 (OC3B/INT4) β Port E I/O / Timer3 PWM output B / external interrupt 4 |
| Pin 24 | PE5 (OC3C/INT5) β Port E I/O / Timer3 PWM output C / external interrupt 5 |
| Pin 25 | PE6 (T3/INT6) β Port E I/O / Timer3 clock input / external interrupt 6 |
| Pin 26 | PE7 (ICP3/INT7/CLKO) β Port E I/O / Timer3 input capture / external interrupt 7 / clock out |
| Pin 27 | PB0 (SS) β Port B I/O / SPI slave select |
| Pin 28 | PB1 (SCK) β Port B I/O / SPI serial clock |
| Pin 29 | PB2 (MOSI) β Port B I/O / SPI master data out |
| Pin 30 | PB3 (MISO) β Port B I/O / SPI master data in |
| Pin 31 | PB4 (OC2) β Port B I/O / Timer2 PWM output |
| Pin 32 | PB5 (OC1A) β Port B I/O / Timer1 PWM output A |
| Pin 33 | PB6 (OC1B) β Port B I/O / Timer1 PWM output B |
| Pin 34 | PB7 (OC0/OC1C) β Port B I/O / Timer0 PWM output / Timer1 PWM output C |
| Pin 35 | GND β Ground |
| Pin 36 | VCC β Digital supply voltage |
| Pin 37 | PC0 (AD8) β Port C I/O / external bus address bit 8 |
| Pin 38 | PC1 (AD9) β Port C I/O / external bus address bit 9 |
| Pin 39 | PC2 (AD10) β Port C I/O / external bus address bit 10 |
| Pin 40 | PC3 (AD11) β Port C I/O / external bus address bit 11 |
| Pin 41 | PC4 (AD12) β Port C I/O / external bus address bit 12 |
| Pin 42 | PC5 (AD13) β Port C I/O / external bus address bit 13 |
| Pin 43 | PC6 (AD14) β Port C I/O / external bus address bit 14 |
| Pin 44 | PC7 (AD15) β Port C I/O / external bus address bit 15 |
| Pin 45 | PD0 (RXD1/INT0) β Port D I/O / USART1 receive / external interrupt 0 |
| Pin 46 | PD1 (TXD1/INT1) β Port D I/O / USART1 transmit / external interrupt 1 |
| Pin 47 | PD2 (INT2/XCK1) β Port D I/O / external interrupt 2 / USART1 clock |
| Pin 48 | PD3 (INT3/ICP1) β Port D I/O / external interrupt 3 / Timer1 input capture |
| Pin 49 | PD4 (XCK1/OC1B) β Port D I/O / USART1 clock / Timer1 PWM output B |
| Pin 50 | PD5 (XCK0/OC1A) β Port D I/O / USART0 clock / Timer1 PWM output A |
| Pin 51 | PD6 (T1) β Port D I/O / Timer1 external clock input |
| Pin 52 | PD7 (T2) β Port D I/O / Timer2 external clock input |
| Pin 53 | RESET β Reset input (active low) |
| Pin 54 | VCC β Digital supply voltage |
| Pin 55 | GND β Ground |
| Pin 56 | XTAL2 β Crystal oscillator output |
| Pin 57 | XTAL1 β Crystal oscillator input / external clock input |
| Pin 58 | PG0 (WR) β Port G I/O / external memory write strobe |
| Pin 59 | PG1 (RD) β Port G I/O / external memory read strobe |
| Pin 60 | PG2 (TOSC1) β Port G I/O / 32 kHz timer oscillator input |
| Pin 61 | PG3 (TOSC2) β Port G I/O / 32 kHz timer oscillator output |
| Pin 62 | PG4 (OSCSEL/T1) β Port G I/O / oscillator select / timer alternate function |
| Pin 63 | AREF β ADC analog reference |
| Pin 64 | AVCC β ADC analog supply voltage |
Typical Applications
ATMEGA128-16MJ is suitable for 6 applications: Industrial Automation Controllers, Embedded Communication Gateways, Motor and Lighting Control, Data Acquisition and Instrumentation, Building and HVAC Controls, Legacy AVR Design Continuity and Education.
Industrial Automation Controllers
The ATMEGA128-16MJ fits programmable logic controllers, relay replacement boards, and sensor-hub nodes because its 53 GPIO lines, dual USART ports, and hardware timers cover the I/O counts of legacy 8051 and PIC controllers in a single 5 V-tolerant device. In a typical controller, the EBI/EMI drives memory-mapped LCD or FIFO expansions while Timer1/Timer3 PWM outputs command motor drives and heaters, and the 8-channel 10-bit ADC samples potentiometers and current shunts at up to 15 ksps with oversampling for improved resolution. Because the 16 MHz grade runs from a 5 V industrial supply (4.5 V to 5.5 V), it survives noisy plant floors without level shifting, and the JTAG port enables field diagnosis. Brown-out detection and watchdog timer maintain safe states during supply transients common in 24 V industrial panels.
Recommended
Embedded Communication Gateways
Protocol-conversion nodes benefit directly from the ATmega128's two independent UART/USART ports: USART0 on Port E can terminate a Modbus RTU RS-485 fieldbus while USART1 on Port D provides a diagnostic console or cellular modem link. The hardware SPI and TWI (I2C) interfaces attach Ethernet controllers, RTCs, and EEPROMs, and the 4 KB SRAM buffers framing structures that smaller 8-bit MCUs cannot hold. In this role the device runs a lightweight scheduler at 16 MIPS, and the self-programming boot section supports firmware updates delivered over the serial uplink - critical for unattended gateways. The 5 V MLF package simplifies integration with RS-485 transceivers that natively run at 5 V, removing level-translation ICs and their failure points from the design.
Recommended
Motor and Lighting Control
The ATMEGA128-16MJ generates multi-channel PWM from its four hardware timers (two 8-bit, two 16-bit), giving up to eight PWM-capable outputs on Ports B and E for DC motor H-bridges, LED dimming, and servo actuation. The 8-channel 10-bit ADC closes the loop by reading back current-sense amplifiers and position potentiometers, and the analog comparator adds zero-cross detection for fan and BLDC commutation schemes. Because PWM carriers typically run at 16-31 kHz from the 16 MHz clock, filtering is straightforward, and the input-capture unit times encoder pulses with single-clock resolution of 62.5 ns. The watchdog timer guarantees that firmware lockups in motor circuits de-energize outputs, a safety requirement in appliance and power-tool control boards.
Recommended
Data Acquisition and Instrumentation
Bench instruments and portable loggers use the ATmega128's 10-bit successive-approximation ADC with 8 multiplexed single-ended channels, sampling near 15 ksps at full 10-bit resolution; oversampling four readings per point yields roughly one extra effective bit for smooth 11-12 bit displays. The 4 KB EEPROM stores calibration constants that survive power cycles, and the AVCC/AREF supply pins accept a filtered reference for better absolute accuracy. UART output streams data to a PC, while the EBI can address external parallel SRAM for longer waveform buffers when 4 KB on-chip is insufficient. The 5 V MLF-64 keeps analog front-end circuits simple, since most sensor bridges and op-amps in measurement designs already run at 5 V, sharing a single rail with the MCU.
Recommended
Building and HVAC Controls
Thermostats, ventilation dampers, and pump sequencers favor the ATmega128 because its mix of PWM outputs, 10-bit ADC, TWI bus, and abundant GPIO replaces two or three smaller controllers in legacy 5 V architectures. TWI (I2C) reads distributed temperature and humidity sensors on a two-wire loop up to several meters, PWM drives triac or SSR heater control with soft-start ramping, and the EEPROM retains setpoint schedules. The brown-out detector resets the MCU cleanly during mains dips common in HVAC environments, and the watchdog restarts frozen firmware. A 16 MHz core comfortably runs a PID loop plus a user interface at the same time, and dual UARTs expose a service port and a BACnet-lite or proprietary RS-485 link without external UART ICs.
Recommended
Legacy AVR Design Continuity and Education
Many universities and training programs still teach on ATmega128-based boards, and the ATMEGA128-16MJ remains the standard replacement chip for such platforms. The AVR core's single-cycle instruction execution and the 133-instruction set make assembly and C timing predictable, ideal for teaching interrupts, timers, and peripheral bring-up. Community toolchains - avr-gcc, Microchip Studio, and the MegaCore Arduino hardware package that explicitly supports ATmega128 - let students flash the MLF-64 part through SPI ISP or JTAG with inexpensive programmers. Because the chip is still in active production per distributor stock listings (over 4,000 to 26,000 pieces available as of 2026-09-15), educational and long-tail industrial designs can be serviced for years without redesign.
Recommended
Recommended Products Summary
Engineering reference data for ATMEGA128-16MJ β comparison, design guidance, and compliance information.
Selection Guide
Comparison with Alternatives
| Parameter | This Product | ATMEGA128-16MU | ATMEGA128-16MN | ATMEGA128A-16MU | ATMEGA128L-16MN |
|---|---|---|---|---|---|
| Package | 64-VFQFN Exposed Pad (MLF-64) | 64-VFQFN Exposed Pad (MLF-64) - same | 64-VFQFN Exposed Pad (MLF-64) - same | 64-VFQFN Exposed Pad (MLF-64) - same | 64-VFQFN Exposed Pad (MLF-64) - same |
| Brand | Microchip Technology (Atmel) | Microchip Technology (Atmel) | Microchip Technology (Atmel) | Microchip Technology (Atmel) | Microchip Technology (Atmel) |
| Max Clock Speed | 16 MHz | 16 MHz | 16 MHz | 16 MHz | 16 MHz (voltage-dependent) |
| Flash Memory | 128 KB | 128 KB | 128 KB | 128 KB | 128 KB |
| SRAM | 4 KB | 4 KB | 4 KB | 4 KB | 4 KB |
| Supply Voltage Range | 4.5 V to 5.5 V (16 MHz grade) | 4.5 V to 5.5 V | 4.5 V to 5.5 V | 4.5 V to 5.5 V | wider low-voltage operation per L speed grade |
| Die Revision / Process | Original ATmega128 | Original ATmega128 | Original ATmega128 | ATmega128A (newer process, improved analog) | Original ATmega128, L speed grade |
| ADC / Peripherals | 8-ch 10-bit ADC, 2x UART, SPI, TWI, EBI, JTAG | Identical peripheral set | Identical peripheral set | Identical peripheral set (A-die) | Identical peripheral set |
Key Differentiators
- Original ATmega128 die for legacy firmware bit-compatibility (vs ATMEGA128A-16MU)
- Compact MLF-64 footprint with exposed pad (vs ATMEGA128-16AN)
- 5 V industrial operating range (vs ATMEGA128L-16MN)
Design Notes
For the MLF-64 exposed pad, design a solder-mask-defined pad on the PCB matching the die-attach pad size, with a 3x3 or 4x4 array of 0.3 mm thermal vias connecting to the ground plane. The via array must be filled or tented carefully - excessive solder wicking into vias can create voids that compromise both grounding and thermal transfer at 5 V/16 MHz operation. Verify the stencil aperture design (typically 50-70% coverage) with your assembler; full-coverage stencils often cause floating or bridging on the 0.5 mm pitch perimeter pads.
Decouple all VCC pins (pins 10, 36, 54) individually with 100 nF X7R capacitors placed within 3-5 mm of each pad, and add 10 uF bulk capacitance at the supply entry. AVCC (pin 64) powers the ADC - connect it to VCC through an LC or RC filter (for example 10 nH ferrite plus 100 nF) and tie it to VCC even if the ADC is unused, per Microchip datasheet requirements. AREF should be decoupled with 100 nF to ground; never connect a capacitor directly when using an external reference without checking the reference source's stability requirements.
Confirm clock-fuse settings when migrating between ATmega128 and ATmega128A dies: fuse map is compatible but blank devices ship with the internal 1 MHz RC oscillator, so boards will not run at 16 MHz until CKOPT/fuse bits are programmed for the external crystal. Second pitfall: JTAG is fuse-enabled by default and consumes PF4-PF7 (ADC4-ADC7); disable the JTAGEN fuse if those analog channels are needed. Third: M103C fuse compatibility mode - blank ATmega128 parts ship with ATmega103 compatibility enabled, which changes the register map; always clear this fuse for standard ATmega128 operation.
When the EBI external bus interface drives memory or peripherals, keep the 16-bit address bus (Ports A and C) and RD/WR strobes under 10 cm of matched-length trace to avoid setup/hold violations at 16 MHz. Series-terminate (22-33 ohm) address/data lines to control ringing, since the 5 V push-pull drivers have fast edges. Avoid routing the XTAL1/XTAL2 crystal traces near bus lines; guard them with ground and keep the loop small for oscillator stability across temperature.
Compliance Information
Compliance status not stated in the provided web data; verify against Microchip's official environmental data page for ATmega128 before export or automotive use.