PIC16F876-04E/SP - 8-bit 4MHz MCU 14KB Flash 28-SPDIP | Microchip
MPN: PIC16F876-04E/SP ✓ Active| Qty | Unit Price | Extended |
|---|---|---|
| 1 | $9.2 | $9.20 |
| 10 | $8.45 | $84.50 |
| 100 | $7.1 | $710.00 |
| 500 | $6.05 | $3,025.00 |
| 1,000 | $5.2 | $5,200.00 |
PIC16F876-04E/SP Overview
What is a Microcontroller (MCU)? A microcontroller is a single-chip computer that integrates a CPU core, program memory, data RAM, peripherals (timers, ADC, communication ports, GPIO), and in modern designs non-volatile memory such as Flash and EEPROM. Within the broader taxonomy, the PIC16F876 belongs to the 8-bit microcontroller category, which sits inside the larger family of microcontrollers (MCU), which are themselves a sub-category of microprocessors and ultimately semiconductors. The "Flash" designation indicates the program memory is electrically erasable and reprogrammable in-circuit, enabling field firmware updates.
Key features include 22 digital I/O pins, a 10-bit multi-channel Analog-to-Digital Converter (ADC), two 8-bit timers plus one 16-bit timer, a Capture/Compare/PWM (CCP) module, an Enhanced USART for serial communication, and a Master Synchronous Serial Port (MSSP) supporting both SPI and I2C. The "-04E" suffix denotes the 4 MHz maximum oscillator rating with the "E" (Enhanced) temperature range variant, providing -40°C to +125°C operation, and "/SP" identifies the 28-pin Skinny Plastic DIP package.
The PIC16F876 uses Microchip's RISC-based Harvard architecture with only 35 single-word instructions, enabling 200 ns instruction execution at 4 MHz. This architecture separates program and data memory buses for parallel fetch, and the part is source-code compatible with PIC12Cxxx, PIC16C5x, PIC16C7x, and PIC14000 devices, simplifying migration across product lines.
Typical applications include industrial control and sensor interfaces, automotive body electronics, low-end consumer appliances, HVAC thermostat controls, remote sensor nodes, and educational/hobbyist platforms. The 14 KB Flash and 256-byte EEPROM make it well suited to applications that store calibration constants or runtime configuration in non-volatile memory alongside user firmware.
Design consideration: at 4 MHz the MCU executes most instructions in a single 200 ns cycle, but interrupt latency, ADC acquisition time, and communication peripheral setup must be factored into the worst-case timing budget. The 28-pin SPDIP is the most common form factor for the PIC16F87x family, allowing hand-soldering and breadboard prototyping.
This page synthesizes distributor availability, parametric drop-in alternatives, and design notes not found on stock product pages, providing engineering reference value beyond what a single manufacturer datasheet page offers.
Drop-in alternatives for PIC16F876-04E/SP — 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 PIC16F876-04E/SP (same form factor and footprint) — differing in ADC, Communication, Mounting Type, Operating Temperature, Package.
Quick Comparison Tool — Select alternative parts for side-by-side comparison:
PIC16F876-04I/SP
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F873A-I/SP
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F876-20/SP
✅ Drop-In✓ In Stock
$7.1 / Unit
View Datasheet →PIC16F876-04/SP
✅ Drop-In✓ In Stock
$2.88 / Unit
View Datasheet →PIC16F886-I/SP
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F876-04E/SP Maximum Ratings & Electrical Characteristics
| Core Processor | PIC |
| Core Size | 8-bit |
| Max CPU Speed | 4 MHz (4 MIPS) |
| Program Memory | 14 KB Flash (8K x 14 words) |
| Data RAM | 368 bytes |
| EEPROM | 256 bytes |
| Number of I/O | 22 |
| ADC | 10-bit, 5 channels |
| Timers | 2 x 8-bit, 1 x 16-bit |
| Communication | AUSART, MSSP (SPI/I2C) |
| Package | 28-SPDIP (0.300 inch / 7.62 mm) |
| Operating Temperature | -40°C to +125°C (Enhanced "E") |
| Supply Voltage | 2.0 V to 5.5 V |
| Instruction Set | 35 single-word instructions |
| Instruction Execution | 200 ns @ 4 MHz |
| Mounting Type | Through Hole |
PIC16F876-04E/SP Pin Configuration
| Pin 1 | MCLR/Vpp — Master Clear (reset) input / programming voltage input |
| Pin 2 | RA0/AN0 — PORTA bit 0 / analog input 0 |
| Pin 3 | RA1/AN1 — PORTA bit 1 / analog input 1 |
| Pin 4 | RA2/AN2/Vref- — PORTA bit 2 / analog input 2 / ADC negative reference |
| Pin 5 | RA3/AN3/Vref+ — PORTA bit 3 / analog input 3 / ADC positive reference |
| Pin 6 | RA4/T0CKI — PORTA bit 4 (open-drain) / Timer0 clock input |
| Pin 7 | RA5/AN4/SS — PORTA bit 5 / analog input 4 / SPI slave select |
| Pin 8 | Vss — Ground |
| Pin 9 | OSC1/CLKIN — Crystal oscillator input / external clock input |
| Pin 10 | OSC2/CLKOUT — Crystal oscillator output / clock output |
| Pin 11 | RC0/T1OSO/T1CKI — PORTC bit 0 / Timer1 oscillator output / Timer1 clock input |
| Pin 12 | RC1/T1OSI/CCP2 — PORTC bit 1 / Timer1 oscillator input / CCP2 I/O |
| Pin 13 | RC2/CCP1 — PORTC bit 2 / CCP1 PWM/Capture/Compare |
| Pin 14 | RC3/SCK/SCL — PORTC bit 3 / SPI clock / I2C clock |
| Pin 15 | RC4/SDI/SDA — PORTC bit 4 / SPI data in / I2C data |
| Pin 16 | RC5/SDO — PORTC bit 5 / SPI data out |
| Pin 17 | RC6/TX/CK — PORTC bit 6 / USART TX / USART clock |
| Pin 18 | RC7/RX/DT — PORTC bit 7 / USART RX / USART data |
| Pin 19 | Vss — Ground |
| Pin 20 | Vdd — Positive supply (2.0 V to 5.5 V) |
| Pin 21 | RB0/INT — PORTB bit 0 / external interrupt |
| Pin 22 | RB1 — PORTB bit 1 |
| Pin 23 | RB2 — PORTB bit 2 |
| Pin 24 | RB3/PGM — PORTB bit 3 / LVP programming enable |
| Pin 25 | RB4 — PORTB bit 4 (interrupt-on-change) |
| Pin 26 | RB5 — PORTB bit 5 (interrupt-on-change) |
| Pin 27 | RB6/PGC — PORTB bit 6 (interrupt-on-change) / ICD clock |
| Pin 28 | RB7/PGD — PORTB bit 7 (interrupt-on-change) / ICD data |
Typical Applications
PIC16F876-04E/SP is suitable for 6 applications: Industrial Sensor Interface Module, HVAC Thermostat Control, Automotive Body Electronics, Remote Sensor Node (IoT Edge Device), Educational Microcontroller Trainer Board, Low-End Consumer Appliance Controller.
Industrial Sensor Interface Module
The PIC16F876-04E/SP fits industrial sensor interface modules because its 10-bit 5-channel ADC acquires analog signals from thermocouples, RTDs, pressure sensors, and 4-20 mA loops with adequate resolution for process monitoring. The 14 KB Flash accommodates Modbus RTU slave firmware plus calibration routines, while the 256-byte EEPROM stores per-channel calibration constants and module identity that survive power cycles. Its Enhanced -40°C to +125°C rating meets factory floor, outdoor enclosure, and unheated cabinet deployments. Placed on a 28-SPDIP carrier PCB, the MCU pairs with an RS-485 transceiver on the USART lines for industrial bus connectivity.
Recommended
HVAC Thermostat Control
The PIC16F876-04E/SP suits HVAC thermostat controllers because its 10-bit ADC reads temperature sensors (NTC thermistors or analog ICs) with sufficient resolution for ±0.5°C setpoint control. The CCP module drives TRIAC phase-control outputs for electric heating elements, while the USART links to a wireless module or building automation network. The 14 KB Flash stores scheduling firmware, the 256-byte EEPROM retains user setpoints across power outages, and the Enhanced temperature rating tolerates plenum environments. On a 28-SPDIP PCB, it interfaces with character LCDs via the MSSP I2C bus and keypad inputs via PORTB.
Recommended
Automotive Body Electronics
The PIC16F876-04E/SP fits automotive body electronics such as seat controllers, mirror adjusters, lighting modules, and accessory drivers because its Enhanced -40°C to +125°C rating spans under-hood and cabin environments. The 22 GPIO pins drive relays, LEDs, and H-bridge motor drivers directly, while the 10-bit ADC reads battery voltage, current shunts, and analog sensor inputs for fault diagnostics. The 14 KB Flash stores application logic and the 256-byte EEPROM retains fault codes and trim values. On the MSSP peripheral, the MCU communicates with peripheral sensor ICs via SPI or I2C. The 28-SPDIP form factor is common in aftermarket ECU modules.
Recommended
Remote Sensor Node (IoT Edge Device)
The PIC16F876-04E/SP serves remote sensor nodes where its 14 KB Flash holds sensor-fusion and sleep-scheduling firmware, and its 256-byte EEPROM stores node identity, encryption keys, and last-known calibration values that survive battery swaps. The 10-bit ADC quantizes analog sensor inputs from soil moisture, gas concentration, or battery voltage cells, while the USART links to a LoRa, NB-IoT, or sub-GHz radio module. The 2.0-5.5V supply range permits direct battery operation from a 3.3V coin cell or Li-ion source. Its Enhanced temperature rating allows outdoor deployments. Compared with newer Cortex-M0+ MCUs, the PIC16F876 trades raw speed for ecosystem maturity and a tiny idle current in sleep mode.
Recommended
Educational Microcontroller Trainer Board
The PIC16F876-04E/SP is widely used in university microcontroller courses and hobbyist trainer boards because its 28-SPDIP package is breadboard-friendly and its PIC16 instruction set has decades of teaching materials, application notes, and student projects available. The 14 KB Flash and 368-byte RAM are sufficient for textbook exercises covering GPIO, timers, ADC, UART, SPI, and I2C. The Enhanced temperature rating prevents classroom cold-start issues. Its widespread availability through DigiKey and Mouser ensures students can build and replace units affordably, and the same 28-SPDIP pinout as the PIC16F873A and PIC16F886 enables progressive lab assignments to scale up to newer parts without PCB rework.
Recommended
Low-End Consumer Appliance Controller
The PIC16F876-04E/SP suits low-end consumer appliances such as coffee makers, bread machines, slow cookers, fans, and small kitchen devices because its 14 KB Flash stores menu logic, the 22 GPIO pins drive indicator LEDs, seven-segment displays, keypad matrices, and TRIAC-based heater or motor control, and the 10-bit ADC reads thermistor or humidity sensors for closed-loop feedback. The 256-byte EEPROM retains user-preset programs, clock settings, and language preferences. Its 2.0-5.5V supply tolerance permits direct operation from rectified 5V or 3.3V rails. Compared with newer ARM Cortex parts, the PIC16F876 offers a lower BOM cost and a stable, well-documented toolchain via MPLAB X and XC8 compilers.
Recommended
Recommended Products Summary
Engineering reference data for PIC16F876-04E/SP — comparison, design guidance, and compliance information.
Selection Guide
Comparison with Alternatives
| Parameter | This Product | PIC16F876-04I/SP | PIC16F873A-I/SP | PIC16F876-20/SP | PIC16F876-04/SP | PIC16F886-I/SP |
|---|---|---|---|---|---|---|
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Package | 28-SPDIP | 28-SPDIP - same | 28-SPDIP - same | 28-SPDIP - same | 28-SPDIP - same | 28-SPDIP - same |
| Max Clock Speed | 4 MHz | 4 MHz | 20 MHz | 20 MHz | 4 MHz | 20 MHz |
| Program Memory | 14 KB Flash | 14 KB Flash | 7 KB Flash | 14 KB Flash | 14 KB Flash | 14 KB Flash |
| Data RAM | 368 bytes | 368 bytes | 192 bytes | 368 bytes | 368 bytes | 368 bytes |
| EEPROM | 256 bytes | 256 bytes | 128 bytes | 256 bytes | 256 bytes | 256 bytes |
| Operating Temperature | -40C to +125C (Enhanced) | -40C to +85C (Industrial) | -40C to +85C (Industrial) | -40C to +85C (Industrial) | 0C to +70C (Commercial) | -40C to +85C (Industrial) |
| ADC | 10-bit, 5 channels | 10-bit, 5 channels | 10-bit, 5 channels | 10-bit, 5 channels | 10-bit, 5 channels | 10-bit, 11 channels |
Key Differentiators
- Enhanced temperature rating -40C to +125C (vs PIC16F876-04I/SP)
- Full 14 KB Flash vs reduced siblings (vs PIC16F873A-I/SP)
- Pin-compatible migration path to PIC16F886 (vs PIC16F886-I/SP)
Design Notes
The PIC16F876-04E/SP operates from 2.0 V to 5.5 V; bypass Vdd with a 100 nF ceramic capacitor placed within 5 mm of the Vdd pin (pin 20) and a 10 uF bulk capacitor on the same rail. The internal brown-out reset (BOR) and power-on reset (POR) circuits require the Vdd rise time to meet the datasheet specification - too slow a rise can cause undefined start-up behavior. For battery applications, configure the BOR to its lowest threshold (or disable it) to maximize usable capacity, but verify that sleep-mode wake-up behavior is acceptable without BOR.
The 28-SPDIP package has 0.300 inch (7.62 mm) row spacing for through-hole mounting. Use a socket for prototypes to allow easy device swap, but solder directly for production to avoid intermittent contact failures. Place the decoupling capacitor between Vdd (pin 20) and Vss (pin 19) directly adjacent to the package, and provide a ground pour under the MCU for thermal dissipation and EMI reduction. The OSC1/OSC2 traces should be short and symmetric for stable crystal or resonator operation; keep them away from high-current switching traces to avoid clock jitter.
Three common pitfalls when designing with the PIC16F876 family: (1) confusing the /MCLR pin direction - it is an input with an internal pull-up, not a push-pull output; an external 10 kohm pull-up to Vdd is recommended. (2) Forgetting that PORTA pin RA4 is open-drain and requires an external pull-up when used as a digital output. (3) Using the analog inputs as digital I/O without first configuring the ADCON1 register to disable the ADC on those channels - failing to do so can cause the pin to read as analog and confuse GPIO logic. Review the CONFIG register settings for oscillator, watchdog, brown-out, and code protection before programming.
Compliance Information
RoHS compliance status not explicitly stated in the verified web data and marked [DATA_NEEDED]. PIC16F876-04E/SP is not AEC-Q100 qualified per Microchip's product classification (industrial grade only). Conflict-minerals compliance follows Microchip's standard CMRT declarations.