PIC16F884-E/ML - 8-Bit 20MHz 7KB Flash MCU 44-QFN | Microchip
MPN: PIC16F884-E/ML ✓ Active| Qty | Unit Price | Extended |
|---|---|---|
| 1 | $3.92 | $3.92 |
| 10 | $3.53 | $35.30 |
| 100 | $3.13 | $313.00 |
| 500 | $2.74 | $1,370.00 |
| 1,000 | $2.43 | $2,430.00 |
PIC16F884-E/ML Overview
A microcontroller (MCU) is a single-chip computer containing a CPU, memory (Flash/RAM/EEPROM), and programmable peripherals. The PIC16F family is Microchip's mid-range 8-bit architecture offering a balance of code density, peripheral mix, and low power via nanoWatt technology. MCUs sit at the lowest tier of the embedded computing hierarchy: transistor -> logic gate -> CPU core -> microcontroller -> embedded system -> IoT/edge device. The PIC16F884 belongs to the 28/40/44-pin enhanced flash-based 8-bit CMOS family with nanowatt technology.
Key features include self-programmability for bootloader-style field updates, 10-bit A/D converter with up to 14 channels, enhanced capture/compare/PWM (ECCP) modules, multiple timers (Timer0/1/2), AUSART serial communication, MSSP for SPI/I2C, and a nanoWatt power management unit with multiple idle/sleep modes that drop quiescent current to the microamp range. The 44-QFN package exposes 36 I/O pins versus 22 in the smaller 28-pin variants, enabling direct drive of larger displays or sensor arrays.
The architecture uses a 14-bit instruction word and Harvard bus (separate program/data paths), giving deterministic single-cycle execution for most instructions except branches. The 20 MHz oscillator yields a 200 ns instruction cycle, sufficient for real-time control loops in motor, lighting, and consumer appliance subsystems. Brown-out reset (BOR), power-on reset (POR), and watchdog timer (WDT) with on-chip oscillator form the standard reliability suite.
Typical applications include home appliances (washing machines, microwave ovens, induction cooktops), industrial control panels, automotive body modules, lighting ballasts and dimmers, remote controls, low-end toys, instrumentation, and sensor hubs. The peripheral mix (ADC, PWM, UART, I2C/SPI) is well-suited to multi-signal acquisition systems.
When designing with this device, allocate the 35 instruction set carefully because 7 KB Flash is constrained for modern protocol stacks (e.g., full Modbus RTU). The 'E' suffix denotes the extended industrial temperature grade (-40C to +125C). Decoupling capacitors must be placed within 5 mm of the QFN ground paddle for thermal and noise integrity.
This page synthesizes distributor pricing, drop-in QFN-44 alternatives, and practical design notes not found in the manufacturer datasheet.
Drop-in alternatives for PIC16F884-E/ML — 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 PIC16F884-E/ML (same form factor and footprint) — differing in Operating Temperature, Package, Core Architecture, Timers, I/O Pins.
Quick Comparison Tool — Select alternative parts for side-by-side comparison:
PIC16F884-I/ML
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F884T-I/ML
✅ Drop-In✓ In Stock
$3.18 / Unit
View Datasheet →PIC16F882-I/ML
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F883-I/SS
✅ Drop-In✓ In Stock
$1.74 / Unit
View Datasheet →PIC16F887-I/ML
✅ Drop-In✓ In Stock
$3.16 / Unit
View Datasheet →PIC16F886-E/ML
✅ Drop-In✓ In Stock
$1.71 / Unit
View Datasheet →PIC16F884-E/ML Maximum Ratings & Electrical Characteristics
| Core Architecture | PIC 8-bit, Harvard bus, 14-bit instruction word |
| CPU Frequency | 20 MHz maximum |
| Instruction Cycle | 200 ns at 20 MHz |
| Program Memory (Flash) | 7 KB (4K x 14 words) |
| Data EEPROM | 256 bytes |
| Data RAM | 368 bytes |
| I/O Pins | 36 (multiplexed with peripherals) |
| A/D Converter | 10-bit, up to 14 channels |
| Timers | Timer0, Timer1, Timer2 |
| CCP/Enhanced CCP | Yes (ECCP) |
| Serial Interfaces | AUSART (UART), MSSP (SPI/I2C) |
| Operating Voltage (VDD) | 2.0 V to 5.5 V |
| Power-Saving Modes | nanoWatt (Idle, Sleep) |
| Operating Temperature | -40C to +125C (E suffix, industrial extended) |
| Package | 44-pin QFN (8x8 mm) with exposed pad |
| Mounting Type | Surface Mount |
| RoHS Status | Compliant |
| Self-Programming | Yes (in-application via Flash) |
| Brown-Out Reset | Yes (BOR + PWRT) |
| Watchdog Timer | Yes (WDT with dedicated oscillator) |
PIC16F884-E/ML Pin Configuration
| Pin 1 | RA6/OSC2/CLKO — OSC2: crystal/oscillator output; CLKO: clock output; RA6: digital I/O |
| Pin 2 | RA7/OSC1/CLKI — OSC1: crystal/oscillator input; CLKI: clock input; RA7: digital I/O |
| Pin 3 | RE3/MCLR/VPP — Master Clear (reset) input / programming voltage; RE3: digital input only |
| Pin 4 | RA0/AN0/ULPWU/C12IN0- — RA0: digital I/O; AN0: ADC channel 0; ULPWU: ultra-low-power wake-up |
| Pin 5 | RA1/AN1/C12IN1- — RA1: digital I/O; AN1: ADC channel 1 |
| Pin 6 | RA2/AN2/VREF-/CVREF/C2IN+ — RA2: digital I/O; AN2: ADC; VREF-: negative ADC reference |
| Pin 7 | RA3/AN3/VREF+/C1IN+ — RA3: digital I/O; AN3: ADC; VREF+: positive ADC reference |
| Pin 8 | RA4/T0CKI/C1OUT — RA4: digital I/O; T0CKI: Timer0 clock input; C1OUT: comparator 1 output |
| Pin 9 | RA5/AN4/SS/C2OUT — RA5: digital I/O; AN4: ADC; SS: SPI slave select |
| Pin 10 | VSS — Ground reference |
| Pin 11 | VDD — Positive supply voltage (2.0 V to 5.5 V) |
| Pin 12 | RB0/AN12/INT — RB0: digital I/O; AN12: ADC; INT: external interrupt |
| Pin 13 | RB1/AN10/C12IN3-/P1C — RB1: digital I/O; AN10: ADC; P1C: PWM output |
| Pin 14 | RB2/AN8/P1B — RB2: digital I/O; AN8: ADC; P1B: PWM output |
| Pin 15 | RB3/AN9/PGM/C12IN2- — RB3: digital I/O; AN9: ADC; PGM: LVP programming enable |
| Pin 16 | RB4/AN11/P1D — RB4: digital I/O; AN11: ADC; P1D: PWM output |
| Pin 17 | RB5/AN13/T1G/P2B — RB5: digital I/O; AN13: ADC; T1G: Timer1 gate; P2B: PWM |
| Pin 18 | RB6/PGC/T1OSI/T1CKI — RB6: digital I/O; PGC: ICSP clock; T1OSI: Timer1 osc input |
| Pin 19 | RB7/PGD/T1OSO/CCP4 — RB7: digital I/O; PGD: ICSP data; CCP4: capture/compare/PWM |
| Pin 20 | VSS — Ground reference (second VSS pin) |
| Pin 21 | VDD — Positive supply (second VDD pin) |
| Pin 22 | RC0/T1OSO/T13CKI — RC0: digital I/O; T1OSO: Timer1 oscillator output |
| Pin 23 | RC1/T1OSI/CCP2 — RC1: digital I/O; T1OSI: Timer1 oscillator input; CCP2: PWM |
| Pin 24 | RC2/CCP1/P2A — RC2: digital I/O; CCP1: capture/compare/PWM 1; P2A: PWM |
| Pin 25 | RC3/SCK/SCL — RC3: digital I/O; SCK/SCL: SPI/I2C clock |
| Pin 26 | RC4/SDI/SDA — RC4: digital I/O; SDI/SDA: SPI data in / I2C data |
| Pin 27 | RC5/SDO — RC5: digital I/O; SDO: SPI data out |
| Pin 28 | RC6/TX/CK — RC6: digital I/O; TX: UART transmit; CK: UART clock |
| Pin 29 | RC7/RX/DT — RC7: digital I/O; RX: UART receive; DT: UART data |
| Pin 30 | RD0 — RD0: digital I/O (Port D) |
| Pin 31 | RD1 — RD1: digital I/O (Port D) |
| Pin 32 | RD2 — RD2: digital I/O (Port D) |
| Pin 33 | RD3 — RD3: digital I/O (Port D) |
| Pin 34 | RD4 — RD4: digital I/O (Port D) |
| Pin 35 | RD5/P1B — RD5: digital I/O; P1B: PWM output (Enhanced CCP) |
| Pin 36 | RD6/P1C — RD6: digital I/O; P1C: PWM output |
| Pin 37 | RD7/P1D — RD7: digital I/O; P1D: PWM output |
| Pin 38 | VSS — Ground reference (third VSS pin) |
| Pin 39 | VDD — Positive supply (third VDD pin) |
| Pin 40 | RE0/RD — RE0: digital I/O; RD: parallel port read strobe (PSP) |
| Pin 41 | RE1/WR — RE1: digital I/O; WR: parallel port write strobe (PSP) |
| Pin 42 | RE2/CS — RE2: digital I/O; CS: parallel port chip select (PSP) |
| Pin 43 | AVSS — Analog ground reference (tie to VSS) |
| Pin 44 | AVDD — Analog positive supply (tie to VDD) |
Typical Applications
PIC16F884-E/ML is suitable for 6 applications: Home Appliance Control, Industrial Sensor Hub, LED Lighting Controller, Automotive Body Module, Remote Control and HMI, Consumer Electronics and Toys.
Home Appliance Control
The PIC16F884-E/ML fits washing-machine, microwave, and induction-cooktop control boards because its 36 I/O pins directly drive 7-segment displays, keypad matrices, relay coils, and triac zero-cross circuits. The 7 KB Flash holds full state-machine code including sensor calibration, fault handling, and BLE/UART modules. The 10-bit ADC with 14 channels reads temperature, humidity, and load-current feedback; the ECCP module generates PWM for motor speed and inverter control. nanoWatt sleep modes reduce standby to microamp range for energy-star compliance.
Recommended
Industrial Sensor Hub
The PIC16F884-E/ML suits multi-sensor industrial nodes because its AUSART plus MSSP (SPI/I2C) bus controllers interface simultaneously with digital temperature sensors, pressure transducers, and accelerometers. The 10-bit ADC digitizes analog channels from 4-20 mA loops or thermistor bridges. With -40C to +125C operation, the E-grade survives factory-floor thermal stress. Self-programming Flash allows secure over-the-air firmware updates via Modbus RTU on RS-485. The 256-byte EEPROM stores calibration constants and node IDs without external storage.
Recommended
LED Lighting Controller
The PIC16F884-E/ML drives LED ballasts and dimmers via its ECCP PWM module, which generates frequency-adjustable, duty-cycle-controlled PWM with hardware dead-band control for half-bridge drivers. The 36 I/O pins drive multiple channels of constant-current LED drivers (e.g., TLC5940) in SPI daisy-chain or directly switch MOSFETs with PWM. The 10-bit ADC reads ambient light sensors for closed-loop dimming. Low-power nanoWatt modes enable battery-powered wireless lighting controls.
Recommended
Automotive Body Module
The PIC16F884-E/ML powers body-control modules for door locks, window lifters, mirror adjusters, and interior lighting. Its -40C to +125C extended temperature range meets AEC-Q100 Grade 1 zones (cabin/body), and its ECCP with hardware PWM simplifies driving brushed DC motors via H-bridges. LIN bus connectivity is implemented via AUSART plus an external LIN transceiver. The 256-byte EEPROM retains learned positions and fault logs even when battery is disconnected.
Recommended
Remote Control and HMI
The PIC16F884-E/ML is well-suited to IR/RF remote controls and small human-machine interfaces because its 36 I/O pins scan 6x6 keypad matrices and drive LCDs or OLEDs via SPI. The AUSART links to RF transceivers (e.g., nRF24L01) for wireless control, while nanoWatt sleep modes extend battery life to years on coin cells. The 7 KB Flash holds complex gesture-recognition or voice-command firmware with on-the-fly updates via bootloader.
Recommended
Consumer Electronics and Toys
The PIC16F884-E/ML drives cost-sensitive consumer devices, electronic toys, and educational kits because its sub-$3 unit price at 1k quantities keeps BOM costs low while delivering 5 MIPS performance. The 7 KB Flash supports interactive sound playback, multi-channel servo control for robotics, and I2C/SPI sensor expansion. The 36 I/O pins drive RGB LED matrices, haptic feedback motors, and small TFT displays. Self-programming Flash enables end-user firmware updates via USB/UART bridges.
Recommended
Recommended Products Summary
Engineering reference data for PIC16F884-E/ML — comparison, design guidance, and compliance information.
Selection Guide
Comparison with Alternatives
| Parameter | This Product | PIC16F884-I/ML | PIC16F884T-I/ML | PIC16F882-I/ML | PIC16F883-I/SS | PIC16F887-I/ML | PIC16F886-E/ML |
|---|---|---|---|---|---|---|---|
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Package | 44-QFN (8x8) | 44-QFN (8x8) - same | 44-QFN (8x8) - same | 44-QFN (8x8) - same | 44-QFN (8x8) - same | 44-QFN (8x8) - same | 44-QFN (8x8) - same |
| Flash Memory | 7 KB | 7 KB | 7 KB | 3.5 KB | 4 KB | 14 KB | 14 KB |
| Data RAM | 368 bytes | 368 bytes | 368 bytes | 128 bytes | 192 bytes | 368 bytes | 368 bytes |
| EEPROM | 256 bytes | 256 bytes | 256 bytes | 128 bytes | 256 bytes | 256 bytes | 256 bytes |
| I/O Pins | 36 | 36 | 36 | 24 | 24-36 | 36 | 28 |
| CPU Frequency | 20 MHz | 20 MHz | 20 MHz | 20 MHz | 20 MHz | 20 MHz | 20 MHz |
| Temperature Grade | -40C to +125C (E) | -40C to +85C (I) | -40C to +85C (I) | -40C to +85C (I) | -40C to +85C (I) | -40C to +85C (I) | -40C to +125C (E) |
| Price (qty 1, USD) | 3.92 | approx 3.50 | approx 3.50 | approx 3.00 | approx 3.20 | approx 4.20 | approx 4.10 |
Key Differentiators
- Highest Flash memory in mid-range PIC16F88x family with E temperature grade (vs PIC16F883-I/SS)
- Most I/O pins available in 44-QFN package for direct sensor/relay drive (vs PIC16F882-I/ML)
- Lower price than higher-memory siblings while keeping same 44-QFN footprint (vs PIC16F887-I/ML)
- E temperature grade in 44-QFN package with 36 I/O and ECCP (vs PIC16F886-E/ML)
Design Notes
The 44-QFN (8x8 mm) package has a central exposed thermal pad (EP) on its underside that must be soldered to a PCB land of at least the same dimensions and tied to a clean ground plane. Use a via array (typically 9 to 25 vias, 0.3 mm drill, 0.5 mm pitch) under the EP to carry heat into inner ground planes and reduce junction-to-ambient thermal resistance. Missing or incomplete EP soldering raises junction temperature by 30C or more, potentially causing thermal-shutdown-like behavior under high CPU load.
Place a 100 nF decoupling capacitor within 3 mm of each VDD pin (the PIC16F884 has three VDD pins at 11, 21, 39) and a single 10 uF bulk capacitor near the package. The AVDD and AVSS pins (44 and 43) supply the ADC core - isolate AVDD with a ferrite bead from VDD, and decouple AVSS to AGND with 100 nF + 10 uF. Failure to isolate analog supply increases ADC noise by 2-4 LSB at 10-bit resolution, degrading sensor readings.
MCLR (pin 3) is a mandatory reset input. Tie it to VDD through a 10 kohm pull-up resistor and add a 100 nF capacitor to ground for noise immunity. Floating MCLR causes random resets in electrically noisy environments (relay boards, motor drives). When using the internal oscillator instead of an external crystal, configure the CONFIG register FOSC bits correctly and disconnect OSC1/OSC2 - otherwise the unconnected oscillator pins pick up EMI and destabilize the system clock.
The MSSP peripheral for I2C communication requires external pull-up resistors on SDA/SCL lines (typically 4.7 kohm at 100 kHz, 2.2 kohm at 400 kHz). The PIC16F884's I/O pins are not true open-drain - configure them as open-drain via the ODCON register when using I2C mode. For SPI, keep trace lengths under 50 mm and route the SCK signal away from analog inputs to avoid clock-feedthrough into ADC readings.
Compliance Information
RoHS/REACH compliant per Microchip product page. Not AEC-Q100 qualified, but the -40C to +125C extended temperature range supports many AEC-Q100 Grade 0/1 use cases indirectly. Microchip maintains QS-9000 quality certification for the PIC16F family.