PIC16F874-04E/L - 4MHz 8-bit Flash MCU 7KB | 44-PLCC | Microchip
MPN: PIC16F874-04E/L ✓ Active| Qty | Unit Price | Extended |
|---|---|---|
| 1 | $9.5 | $9.50 |
| 10 | $8.55 | $85.50 |
| 100 | $7.62 | $762.00 |
| 500 | $6.84 | $3,420.00 |
| 1,000 | $6.1 | $6,100.00 |
| 3,000 | $5.42 | $16,260.00 |
PIC16F874-04E/L Overview
A microcontroller (MCU) is a single-chip computer containing a CPU core, program memory, working RAM, and a rich set of programmable peripherals. PIC16F-series MCUs from Microchip use a RISC-based Harvard architecture with only 35 single-word instructions, making them well suited to deterministic, low-latency embedded control. As members of the broader 8-bit MCU family hierarchy (PIC16 -> 8-bit PIC -> microcontroller -> embedded computing -> semiconductor), they balance code density, peripheral integration, and ultra-low power consumption.
Key features include 33 digital I/O lines, three timer/counter modules, a 10-bit multi-channel analog-to-digital converter, and hardware serial interfaces for I2C, SPI, and UART/USART. The device supports 14 hardware interrupts and 2 capture/compare/PWM modules, providing enough flexibility for motor control, instrumentation, and sensor interfacing. The enhanced Flash memory enables in-circuit serial programming (ICSP) and on-chip debug capability, while the EEPROM supports non-volatile data storage for configuration and calibration parameters.
Architecturally, the PIC16F874 uses a 14-bit instruction word with an 8-bit data path and an integrated brown-out reset, watchdog timer, and power-on reset supervisor. The -04 speed grade (4 MHz maximum oscillator input) and the -E extended-industrial temperature suffix (-40C to +125C) make it suitable for harsh-environment embedded designs. In-system programmability allows field firmware updates without removing the MCU from the application PCB.
Typical applications include automotive body and chassis ECUs, industrial control panels, instrumentation, sensor conditioning nodes, low-end motor control, and small appliance controllers. The wide peripheral set lets one part serve both as a communication gateway and a local control node.
When designing with the PIC16F874-04E/L, observe the supply voltage range of 4.0 V to 5.5 V, place the decoupling capacitor as close as possible to VDD/SS pins, and configure the MCLR pin with the recommended pull-up network. Verify that oscillator layout follows Microchip guidance to avoid timing drift.
This page synthesizes distributor pricing, drop-in same-package alternatives, and design considerations not found in the manufacturer datasheet alone.
Drop-in alternatives for PIC16F874-04E/L — 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 PIC16F874-04E/L (same form factor and footprint) — differing in Package, Timers, Core Architecture, Instruction Cycle Time, Maximum Clock Frequency.
Quick Comparison Tool — Select alternative parts for side-by-side comparison:
PIC16F874T-04E/L
✅ Drop-In✓ In Stock
$7.25 / Unit
View Datasheet →PIC16F874-04E/PQ
✅ Drop-In✓ In Stock
$5.1 / Unit
View Datasheet →PIC16F874-04/L
✅ Drop-In✓ In Stock
$6.85 / Unit
View Datasheet →PIC16F874-20/L
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F874-20I/L
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F874-20E/L
✅ Drop-In ⚠️ Specs Unverified📋 Reference alternative (not in catalog)
PIC16F874-04E/L Maximum Ratings & Electrical Characteristics
| Family | PIC16F |
| Core | 8-bit PIC RISC |
| Maximum Clock Frequency | 4 MHz |
| Instruction Cycle Time | 200 ns |
| Program Memory | 7 KB Flash (4K x 14) |
| Data RAM | 192 bytes |
| EEPROM | 128 bytes |
| I/O Pins | 33 |
| Supply Voltage | 4.0 V to 5.5 V |
| ADC | 10-bit, 8 channels |
| Timers | 3 (Timer0, Timer1, Timer2) |
| CCP Modules | 2 |
| Serial Interfaces | I2C, SPI, UART/USART |
| Package | 44-PLCC (16.59x16.59 mm) |
| Temperature Grade | Extended Industrial / Automotive (E suffix) |
| Operating Temperature | -40C to +125C |
| Mounting Type | Surface Mount (J-Lead) |
| RoHS Status | Compliant |
PIC16F874-04E/L Pin Configuration
| Pin 1 | MCLR/VPP — Master Clear (Reset) input / ICSP programming voltage |
| Pin 2 | RA0/AN0 — PORTA bit 0 / Analog input channel 0 |
| Pin 3 | RA1/AN1 — PORTA bit 1 / Analog input channel 1 |
| Pin 4 | RA2/AN2/VREF- — PORTA bit 2 / Analog input 2 / ADC VREF- |
| Pin 5 | RA3/AN3/VREF+ — PORTA bit 3 / Analog input 3 / ADC VREF+ |
| Pin 6 | RA4/T0CKI — PORTA bit 4 / Timer0 clock input |
| Pin 7 | RA5/AN4/SS — PORTA bit 5 / Analog input 4 / SPI slave select |
| Pin 8 | OSC1/CLKIN — Oscillator input / external clock input |
| Pin 9 | OSC2/CLKOUT — Oscillator output / clock out |
| Pin 10 | RC0/T1OSO/T1CKI — PORTC bit 0 / Timer1 oscillator output / T1 clock in |
| Pin 11 | RC1/T1OSI/CCP2 — PORTC bit 1 / Timer1 oscillator input / CCP2 |
| Pin 12 | RC2/CCP1 — PORTC bit 2 / CCP1 PWM output |
| Pin 13 | RC3/SCK/SCL — PORTC bit 3 / SPI clock / I2C clock |
| Pin 14 | RC4/SDI/SDA — PORTC bit 4 / SPI data in / I2C data |
| Pin 15 | RC5/SDO — PORTC bit 5 / SPI data out |
| Pin 16 | RC6/TX/CK — PORTC bit 6 / UART TX / I2C clock (sync) |
| Pin 17 | RC7/RX/DT — PORTC bit 7 / UART RX / I2C data (sync) |
| Pin 18 | VSS — Ground reference |
| Pin 19 | VDD — Positive supply (4.0V to 5.5V) |
| Pin 20 | RB0/INT — PORTB bit 0 / External interrupt |
| Pin 21 | RB1 — PORTB bit 1 |
| Pin 22 | RB2 — PORTB bit 2 |
| Pin 23 | RB3/PGM — PORTB bit 3 / ICSP LVP enable |
| Pin 24 | RB4 — PORTB bit 4 / Interrupt-on-change |
| Pin 25 | RB5 — PORTB bit 5 / Interrupt-on-change |
| Pin 26 | RB6/PGC — PORTB bit 6 / ICSP clock |
| Pin 27 | RB7/PGD — PORTB bit 7 / ICSP data |
| Pin 28 | RD0/PSP0 — PORTD bit 0 / Parallel Slave Port bit 0 |
| Pin 29 | RD1/PSP1 — PORTD bit 1 / PSP bit 1 |
| Pin 30 | RD2/PSP2 — PORTD bit 2 / PSP bit 2 |
| Pin 31 | RD3/PSP3 — PORTD bit 3 / PSP bit 3 |
| Pin 32 | RD4/PSP4 — PORTD bit 4 / PSP bit 4 |
| Pin 33 | RD5/PSP5 — PORTD bit 5 / PSP bit 5 |
| Pin 34 | RD6/PSP6 — PORTD bit 6 / PSP bit 6 |
| Pin 35 | RD7/PSP7 — PORTD bit 7 / PSP bit 7 |
| Pin 36 | RE0/RD/AN5 — PORTE bit 0 / Read control / Analog input 5 |
| Pin 37 | RE1/WR/AN6 — PORTE bit 1 / Write control / Analog input 6 |
| Pin 38 | RE2/CS/AN7 — PORTE bit 2 / Chip select / Analog input 7 |
| Pin 39 | VSS — Ground (digital) |
| Pin 40 | VDD — Positive supply |
| Pin 41 | NC — Not connected (per datasheet) |
| Pin 42 | NC — Not connected (per datasheet) |
| Pin 43 | NC — Not connected (per datasheet) |
| Pin 44 | NC — Not connected (per datasheet) |
Typical Applications
PIC16F874-04E/L is suitable for 6 applications: Automotive Body and Chassis ECU, Industrial Sensor Conditioning Node, Small Appliance Controller, Motor Control and PWM Driver, Instrumentation and Data Logger Front End, Low-End Communication Gateway.
Automotive Body and Chassis ECU
The PIC16F874-04E/L's -40C to +125C extended industrial/automotive temperature grade and 7 KB Flash make it well-suited for body and chassis electronic control units where reliability across thermal stress is critical. Its 33 I/O lines drive lamps, relays, and switch-matrix interfaces, while the 10-bit ADC reads battery voltage, thermistors, and sensor inputs. The hardware I2C/SPI buses link to peripheral drivers and the UART serves diagnostic protocols such as ISO 9141 or K-Line. The 4 MHz clock is sufficient for body-control sampling rates in the low kHz range, and the 128-byte EEPROM stores configuration, calibration, and fault history across battery-disconnect events. Microchip's automotive-grade screening (denoted by the -E suffix) and brown-out reset together support the voltage-transient environment of an automotive 12 V rail.
Recommended
Industrial Sensor Conditioning Node
The PIC16F874-04E/L provides 8 channels of 10-bit ADC, three timers, and a hardware UART that together form a compact analog sensor-conditioning node for industrial instrumentation. Its 4 MHz clock samples RTDs, thermocouples (via external front-end), and 4-20 mA loops at rates that satisfy SCADA update intervals. The 192-byte SRAM is adequate for short averaging buffers, while the 128-byte EEPROM retains calibration constants across power cycles. The extended -40C to +125C temperature rating supports placement in unconditioned control cabinets and outdoor enclosures. The 33 I/O pins drive indicator LEDs, optocouplers, and HMI keypads, reducing the need for additional glue logic. Compared to a discrete op-amp solution, the integrated ADC and UART simplify BOM and lower total cost for moderate-accuracy measurements.
Recommended
Small Appliance Controller
The PIC16F874-04E/L's combination of 7 KB Flash, 33 I/O lines, and CCP-based PWM makes it a strong candidate for small home appliances such as washing machines, dishwashers, and coffee makers. The two CCP modules generate PWM for motor speed control and triac firing, while the 10-bit ADC monitors temperature, water level, and motor current. The hardware I2C connects to character-LCD or segment displays, and the UART supports service-tool diagnostics. Brown-out reset and the watchdog timer ensure recovery from line-voltage transients. The Flash-based in-circuit programming allows field firmware updates via the appliance service port without removing the controller board. The -E temperature grade covers the thermal range of pump and compressor housings.
Recommended
Motor Control and PWM Driver
The PIC16F874-04E/L delivers two CCP modules that produce PWM outputs suitable for DC and stepper motor control, while the 10-bit ADC closes the current/voltage feedback loop at low to medium switching frequencies. The 33 digital I/O lines interface to discrete MOSFET drivers, encoder inputs, and direction-control logic. At 4 MHz instruction rate, the device computes duty cycles and PID terms fast enough for sub-kW brushless-DC and brushed-DC motor commutation. The -E extended temperature grade supports integration near motors where ambient can exceed 85C. EEPROM stores motor tuning parameters, and ICSP firmware updates let OEMs iterate control algorithms without re-flashing in production.
Recommended
Instrumentation and Data Logger Front End
The PIC16F874-04E/L functions as a low-power front-end microcontroller for portable instrumentation, where its 7 KB Flash hosts the calibration and acquisition firmware, and its 128-byte EEPROM stores unit-specific constants. The 10-bit ADC digitizes thermocouple, strain-gauge, or pressure-sensor inputs at sub-1 kHz rates; the UART streams data to a host PC or Bluetooth module. The PIC16F874-04E/L's low power consumption (under 2 mA active at 4 MHz, 5 V) supports battery-powered operation, and brown-out reset protects against weak-cell data corruption. Compared with a fully integrated data-acquisition ASIC, this MCU approach offers flexible firmware-defined measurement sequences.
Recommended
Low-End Communication Gateway
The PIC16F874-04E/L serves as a simple bridging microcontroller between legacy serial peripherals and a host system, using its MSSP for I2C/SPI sensors and its UART for RS-232/TTL links. The 33 I/O lines manage chip-select lines and indicator LEDs, while the 192-byte SRAM buffers incoming protocol frames. Brown-out reset ensures clean recovery from supply glitches common in field-deployed gateway hardware. The -E temperature grade supports outdoor enclosures and industrial cabinets. The combination of three hardware timers supports protocol timeouts and watchdog duties, and the 7 KB Flash accommodates lightweight Modbus-RTU or vendor-specific translation firmware.
Recommended
Recommended Products Summary
Engineering reference data for PIC16F874-04E/L — comparison, design guidance, and compliance information.
Selection Guide
Comparison with Alternatives
| Parameter | This Product | PIC16F874T-04E/L | PIC16F874-04E/PQ | PIC16F874-04/L | PIC16F874-20/L | PIC16F874-20I/L | PIC16F874-20E/L |
|---|---|---|---|---|---|---|---|
| Package | 44-PLCC (16.59x16.59) | 44-PLCC - same | 44-PLCC (PQ) - same | 44-PLCC - same | 44-PLCC - same | 44-PLCC - same | 44-PLCC - same |
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Max Clock Frequency | 4 MHz | 4 MHz | 4 MHz | 4 MHz | 20 MHz | 20 MHz | 20 MHz |
| Flash Program Memory | 7 KB (4K x 14) | 7 KB | 7 KB | 7 KB | 7 KB | 7 KB | 7 KB |
| Operating Temperature | -40C to +125C (-E grade) | -40C to +125C | -40C to +125C | 0C to +70C (commercial) | 0C to +70C (commercial) | -40C to +85C (industrial) | -40C to +125C (extended) |
| Data RAM | 192 bytes | 192 bytes | 192 bytes | 192 bytes | 192 bytes | 192 bytes | 192 bytes |
| I/O Pins | 33 | 33 | 33 | 33 | 33 | 33 | 33 |
| EEPROM | 128 bytes | 128 bytes | 128 bytes | 128 bytes | 128 bytes | 128 bytes | 128 bytes |
| Lifecycle Status | Active | Active | Active | Active | Active | Active | Active |
Key Differentiators
- Extended -E temperature grade qualified for automotive and harsh-environment applications (vs PIC16F874-04/L (commercial))
- Automotive-grade temperature screening denoted by the -E suffix (vs PIC16F874-20I/L (industrial grade))
- 4 MHz speed grade optimized for low-power and deterministic control loops (vs PIC16F874-20/L (20 MHz))
Design Notes
Estimated: Decouple VDD with a 100 nF ceramic capacitor placed within 5 mm of the package pin pair (pins 19 and 11 on the 44-PLCC). Microchip recommends adding a bulk tantalum or aluminum 10 uF cap if the supply impedance is high. The brown-out reset and power-on reset must be considered when designing the supply ramp; a VDD rise time slower than 100 ms can trigger BOR retries that affect startup behavior.
Keep the MCLR pin (pin 1) pulled high through a 10 kohm resistor and a 100 nF decoupling cap to ground; this prevents spurious resets. Place the ICSP connector (PGC/PGD on pins 26/27) such that the programming header does not introduce stray capacitance on those lines, and route the oscillator traces short and surrounded by a ground guard ring to minimize EMI susceptibility on OSC1/OSC2 (pins 8/9).
Do not exceed 5.5 V on VDD; the part has no internal regulator and a transient above the absolute-maximum rating of 7 V will permanently damage it. Configure the watchdog timer (WDT) in long-life firmware to avoid endless resets. The MSSP peripheral must be initialized with the correct mode bits (I2C vs SPI) before use; a common bug is leaving the SSPM bits at POR defaults.
Estimated: At 4 MHz and 5 V, active current is about 2 mA, dissipating roughly 10 mW - well below the thermal limit of the 44-PLCC package. The -E temperature grade (-40C to +125C) is the binding constraint for placement near heat sources such as power resistors or motor housings. Designers must verify that ambient temperature inside the enclosure stays within the operating range.
Compliance Information
RoHS-compliant per Microchip product page; -E temperature grade is automotive-screened but not formally AEC-Q100 qualified for the PIC16F874 family per public documentation; consult Microchip for automotive PPAP documentation