PIC16F884-I/P - 8-bit PIC MCU, 7KB Flash, 40-PDIP | Microchip
MPN: PIC16F884-I/P ✓ Active| Qty | Unit Price | Extended |
|---|---|---|
| 1 | $4.2 | $4.20 |
| 10 | $3.78 | $37.80 |
| 100 | $3.36 | $336.00 |
| 500 | $2.95 | $1,475.00 |
| 1,000 | $2.62 | $2,620.00 |
PIC16F884-I/P Overview
An 8-bit PIC microcontroller is a Harvard-architecture RISC processor that executes one instruction per clock cycle (excluding branches), integrating Flash program memory, SRAM data memory, EEPROM, timers, ADC, and communication peripherals onto a single die. Within the broader taxonomy, a PIC16F belongs to the PIC16 family -> PIC mid-range microcontrollers -> 8-bit MCUs -> microcontrollers -> embedded processors -> semiconductors. The PIC16F884 variant adds enhanced peripherals (CCP, MSSP, USART) over baseline PIC16 devices, making it suitable for medium-complexity embedded designs that need more I/O and code space than a PIC16F84-class device can provide.
Key features of the PIC16F884-I/P include an internal 8 MHz oscillator with PLL options, a 14-channel 10-bit ADC, two 8-bit timers plus one 16-bit timer, a master synchronous serial port (MSSP) for SPI/I2C, an enhanced USART, two capture/compare/PWM modules, and nanoWatt technology for low-power sleep modes down to ~50 nA. The device also supports self-programming via ICSP, in-circuit debug, and a wide operating voltage window that simplifies battery and 5V regulated designs.
Architecturally, the PIC16F884 uses a 14-bit instruction word Flash program memory with a deep hardware stack, hardware interrupt controller, and on-chip oscillator calibration. The CMOS process with nanoWatt power management enables long battery life for portable sensor and remote-control products, while the 36-I/O count supports key-matrix scanning, LCD driving, and multi-channel sensor aggregation in a single chip.
Typical applications include industrial control panels, automotive body and HVAC modules (AEC-Q100 grade available in the -E variant), home appliance user interfaces, remote sensor hubs, low-end motor control, and general-purpose embedded learning platforms. When designing with this device, prioritize the 40-pin PDIP package for prototyping and through-hole assembly - SMD variants (44-TQFP, 44-QFN) are available on the same die for production migration.
Drop-in alternatives for PIC16F884-I/P — 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-I/P (same form factor and footprint) — differing in Package, Timers, Core Architecture, ADC, Mounting Type.
Quick Comparison Tool — Select alternative parts for side-by-side comparison:
PIC16F884-E/PT
✅ Drop-In✓ In Stock
$2.05 / Unit
View Datasheet →PIC16F887-I/P
✅ Drop-In✓ In Stock
$1.88 / Unit
View Datasheet →PIC16F877A-I/P
✅ Drop-In ⚠️ 参数待验证📋 Reference alternative (not in catalog)
PIC16F884-I/P Maximum Ratings & Electrical Characteristics
| Core | PIC16 8-bit RISC |
| Instruction Set | 35 single-word instructions |
| Program Memory (Flash) | 7 KB (4K x 14) |
| RAM | 368 bytes |
| EEPROM Data Memory | 256 bytes |
| Maximum CPU Speed | 20 MHz (200 ns instruction cycle) |
| Supply Voltage | 2.0 V to 5.5 V |
| I/O Pins | 36 |
| ADC | 14-channel, 10-bit |
| Timers | 2 x 8-bit, 1 x 16-bit |
| CCP Modules | 2 (Capture/Compare/PWM) |
| Communication | EUSART, MSSP (SPI/I2C) |
| Internal Oscillator | 8 MHz with PLL |
| Operating Temperature | -40C to +85C (Industrial) |
| Package | 40-pin PDIP (DIP-40) through-hole |
| Mounting Type | Through-Hole |
| MSL Level | 1 (unlimited floor life) |
| RoHS Status | Compliant |
| Low-Power Mode | nanoWatt technology (down to ~50 nA sleep) |
PIC16F884-I/P Pin Configuration
| Pin 1 | RA7/OSC1/CLKIN — PORTA bit 7 / Oscillator crystal input / External clock input |
| Pin 2 | RA6/OSC2/CLKOUT — PORTA bit 6 / Oscillator crystal output / Clock output |
| Pin 3 | MCLR/VPP — Master clear reset (active-low) / Programming voltage |
| Pin 4 | RA0/AN0/ULPWU — PORTA bit 0 / Analog input 0 / Ultra-low-power wake-up |
| Pin 5 | RA1/AN1 — PORTA bit 1 / Analog input 1 |
| Pin 6 | RA2/AN2/CVREF — PORTA bit 2 / Analog input 2 / Comparator voltage reference |
| Pin 7 | RA3/AN3/VREF+ — PORTA bit 3 / Analog input 3 / ADC positive reference |
| Pin 8 | RA4/AN4/T0CKI — PORTA bit 4 / Analog input 4 / Timer0 clock input |
| Pin 9 | RA5/AN5/SS/HLVDIN — PORTA bit 5 / Analog input 5 / SPI slave select / High/low voltage detect |
| Pin 10 | RE0/AN6 — PORTE bit 0 / Analog input 6 |
| Pin 11 | RE1/AN7 — PORTE bit 1 / Analog input 7 |
| Pin 12 | RE2/AN8 — PORTE bit 2 / Analog input 8 |
| Pin 13 | VSS — Ground reference |
| Pin 14 | VDD — Positive supply (2.0V to 5.5V) |
| Pin 15 | OSC2/CLKO — Oscillator output / Clock output |
| Pin 16 | OSC1/CLKI — Oscillator crystal input / External clock input |
| Pin 17 | RC0/T1OSO/T1CKI — PORTC bit 0 / Timer1 oscillator output / Timer1 clock input |
| Pin 18 | RC1/T1OSI/CCP2 — PORTC bit 1 / Timer1 oscillator input / CCP2 |
| Pin 19 | RC2/P1A/CCP1 — PORTC bit 2 / PWM output 1A / CCP1 |
| Pin 20 | RC3/SCK/SCL — PORTC bit 3 / SPI clock / I2C clock |
| Pin 21 | RD0 — PORTD bit 0 |
| Pin 22 | RD1 — PORTD bit 1 |
| Pin 23 | RD2 — PORTD bit 2 |
| Pin 24 | RD3 — PORTD bit 3 |
| Pin 25 | RD4 — PORTD bit 4 |
| Pin 26 | RD5/P1B — PORTD bit 5 / PWM output 1B |
| Pin 27 | RD6/P1C — PORTD bit 6 / PWM output 1C |
| Pin 28 | RD7/P1D — PORTD bit 7 / PWM output 1D |
| Pin 29 | RC4/SDI/SDA — PORTC bit 4 / SPI data in / I2C data |
| Pin 30 | RC5/SDO — PORTC bit 5 / SPI data out |
| Pin 31 | RC6/TX/CK — PORTC bit 6 / EUSART TX / clock |
| Pin 32 | RC7/RX/DT — PORTC bit 7 / EUSART RX / data |
| Pin 33 | RB0/AN12/INT — PORTB bit 0 / Analog input 12 / External interrupt |
| Pin 34 | RB1/AN10/PGM — PORTB bit 1 / Analog input 10 / ICSP programming |
| Pin 35 | RB2/AN8 — PORTB bit 2 / Analog input 8 |
| Pin 36 | RB3/AN9/PGM — PORTB bit 3 / Analog input 9 / ICSP programming |
| Pin 37 | RB4/AN11 — PORTB bit 4 / Analog input 11 |
| Pin 38 | RB5/AN13 — PORTB bit 5 / Analog input 13 |
| Pin 39 | RB6/ICSPCLK/ICDCLK — PORTB bit 6 / ICSP clock / ICD clock |
| Pin 40 | RB7/ICSPDAT/ICDDAT — PORTB bit 7 / ICSP data / ICD data |
Typical Applications
PIC16F884-I/P is suitable for 6 applications: Industrial Control Panels, Home Appliance User Interfaces, Remote Sensor Hubs and IoT Edge Nodes, Low-End Motor and BLDC Control, Automotive Body and HVAC Modules (AEC-Q100 grade), Educational Embedded Platforms and Hobby Projects.
Industrial Control Panels
The PIC16F884-I/P is well-suited for industrial control panels and HMI boards because it offers 36 digital I/O pins, two 8-bit timers plus one 16-bit timer, and a 14-channel 10-bit ADC in a 40-pin PDIP form factor that simplifies through-hole prototyping. The 7 KB Flash accommodates multi-page menu logic, sensor-fusion routines, and communication stacks. Place the device on a DIN-rail or wall-mount panel PCB and use the EUSART for RS-485 Modbus, MSSP for SPI I/O expansion, and the CCP/PWM modules for indicator dimming and buzzer control. With nanoWatt sleep currents around 50 nA and brown-out reset configurable down to 2.0V, battery-backed panels remain reliable across the -40C to +85C industrial range. Engineers benefit from ICSP debug without removing the chip from the board, enabling field upgrades.
Recommended
Home Appliance User Interfaces
The PIC16F884-I/P fits home-appliance user-interface boards (washing machines, dishwashers, microwave ovens) because of its 36 I/O, 7-segment LED/LCD drive capability via the MSSP and PORTE pins, and 256-byte EEPROM for storing user preferences across power cycles. The 8-bit core running at 20 MHz cycles through key-scan debounce routines in under 50 us, leaving ample CPU headroom for power-control algorithms. Designers place the chip in the keypad PCB near the encoder and use the ADC channels for temperature sensing of NTC thermistors, while PWM drives the buzzer and LED backlight with hardware-accurate duty cycles. AEC-Q100 qualification is unnecessary for indoor appliances; the industrial -40C to +85C variant is sufficient.
Recommended
Remote Sensor Hubs and IoT Edge Nodes
The PIC16F884-I/P serves as a low-power sensor aggregator for IoT edge nodes, leveraging nanoWatt sleep currents down to 50 nA and a wake-on-interrupt pin to extend battery life in remote deployments. The 14-channel 10-bit ADC accepts signals from temperature, humidity, and gas sensors directly, while the EUSART links to a Wi-Fi/BLE module for uplink. The internal 8 MHz oscillator with PLL eliminates the external crystal, reducing BOM cost and physical footprint. Place the PIC16F884 on a 4-layer sensor PCB, route analog inputs as differential pairs away from the EUSART lines, and configure brown-out reset at 2.5V to safely power the system from a 3.6V Li-SOCl2 primary cell.
Recommended
Low-End Motor and BLDC Control
The PIC16F884-I/P handles small BLDC, brushed DC, and stepper motor control loops thanks to its two CCP/PWM modules, 16-bit timer for precise commutation timing, and 14 ADC channels for back-EMF and current sensing. At 20 MHz and 5 MIPS, the core can sample current at 50 kHz while running the speed PI loop, supporting motors up to a few hundred watts. Place the PIC16F884 alongside an MCP8026 3-phase gate driver or discrete MOSFET bridge, using the PWM outputs to drive the gate driver inputs and the EUSART to stream diagnostic data back to the system controller. Add external flyback diodes and RC snubbers to absorb inductive kickback.
Recommended
Automotive Body and HVAC Modules (AEC-Q100 grade)
For in-cabin automotive applications such as HVAC controls, mirror actuators, and instrument-cluster auxiliaries, the PIC16F884-E/P variant (AEC-Q100 qualified, -40C to +125C) of the same die as the PIC16F884-I/P is recommended. The 7 KB Flash runs the keypad scan, actuator drive logic, and CAN-bus bootloader, while 36 I/O drive stepper motors for HVAC blend doors. Place the device near the actuator connector, isolate the CAN lines from power traces, and follow Microchip automotive design guidelines for EMI/ESD protection. Using PIC16F884-E/P instead of PIC16F884-I/P provides the automotive qualification headroom that AEC-Q100 customers require.
Recommended
Educational Embedded Platforms and Hobby Projects
The PIC16F884-I/P is an excellent learning platform for 8-bit microcontroller education because it pairs an easy-to-master 35-instruction PIC mid-range core with generous 7 KB Flash, 256-byte EEPROM, and 36 I/O in the easy-to-solder 40-pin PDIP package. Students can wire LEDs, buttons, UART, I2C, and SPI peripherals without surface-mount headaches, while instructors can leverage free MPLAB X IDE and XC8 compiler for assignments. Place the chip on a breadboard-friendly breakout board with a 5V regulator and ICSP header so PICkit 4 or ICD 4 programmers can attach directly. The 14-channel ADC supports laboratory exercises on potentiometer, NTC, and LDR signal conditioning.
Recommended
Recommended Products Summary
Engineering reference data for PIC16F884-I/P — comparison, design guidance, and compliance information.
Selection Guide
Comparison with Alternatives
| Parameter | This Product | PIC16F884-E/P | PIC16F887-I/P | PIC16F877A-I/P |
|---|---|---|---|---|
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Package | 40-pin PDIP | 40-pin PDIP - same | 40-pin PDIP - same | 40-pin PDIP - same |
| Flash Memory | 7 KB | 7 KB | 7 KB | 14 KB |
| RAM | 368 bytes | 368 bytes | 368 bytes | 368 bytes |
| EEPROM | 256 bytes | 256 bytes | 256 bytes | 256 bytes |
| I/O Pins | 36 | 36 | 36 | 33 |
| Internal Oscillator | 8 MHz with PLL (up to 20 MHz) | 8 MHz with PLL | 8 MHz with PLL | No internal oscillator |
| Operating Temperature | -40C to +85C (Industrial) | -40C to +125C (AEC-Q100) | -40C to +85C | -40C to +85C |
| ADC Channels | 14-channel 10-bit | 14-channel 10-bit | 14-channel 10-bit | 8-channel 10-bit |
Key Differentiators
- Internal 8 MHz oscillator with PLL - no external crystal required (vs PIC16F877A-I/P)
- 14-channel ADC vs 8-channel ADC on previous generation (vs PIC16F877A-I/P)
- AEC-Q100 automotive grade option available on same die (vs PIC16F883-I/SP)
- nanoWatt technology for ultra-low sleep current (vs PIC16F877A-I/P)
Design Notes
The PIC16F884-I/P operates from 2.0V to 5.5V and supports nanoWatt technology with sleep currents around 50 nA when SLEEP mode is entered with WDT disabled. Place a 100 nF decoupling capacitor as close as possible to the VDD pin (pin 14) and a 10 uF bulk capacitor at the board-level supply. For battery-powered designs, configure brown-out reset (BOR) at 2.5V to prevent undefined Flash write operations below the minimum VDD; the BOR threshold is software-selectable from 2.0V to 4.5V.
Use a 4-layer PCB with a continuous ground plane beneath the PIC16F884-I/P for industrial EMI environments. Keep the OSC1/OSC2 traces short and symmetric, and add a 4.7 kohm pull-up to MCLR/VPP (pin 3) to prevent spurious resets in noisy installations. For ICSP/ICD use, dedicate RB6/ICSPCLK (pin 39) and RB7/ICSPDAT (pin 40) without series resistors or buffers; Microchip programming tools assume direct pin access. Avoid routing analog ADC traces parallel to PWM outputs to minimize capacitive coupling.
Estimated: At VDD = 5V and CPU = 20 MHz, the PIC16F884-I/P draws approximately 8 mA active - design the supply rail to source at least 20 mA per MCU headroom. Always set the configuration bits for internal oscillator + PLL to obtain 20 MHz, not the default RC oscillator, before debugging time-sensitive code. When migrating from PIC16F877A to PIC16F884, remember that the ADC configuration register (ADCON1) format changed; do not copy old C code directly without rewriting the ADC setup.
Compliance Information
RoHS and REACH compliant per Microchip product page; PIC16F884-I/P itself is industrial grade (-40C/+85C), but the PIC16F884-E/P variant on the same die is AEC-Q100 qualified for automotive applications