PIC16F874-20/P - 8-Bit 20MHz 7KB Flash MCU | Microchip
MPN: PIC16F874-20/P ✓ Active| Qty | Unit Price | Extended |
|---|---|---|
| 1 | $11.8 | $11.80 |
| 10 | $10.65 | $106.50 |
| 100 | $9.2 | $920.00 |
| 500 | $8.35 | $4,175.00 |
| 1,000 | $7.5 | $7,500.00 |
PIC16F874-20/P Overview
What is an 8-bit Flash microcontroller? An 8-bit Flash microcontroller is a single-chip computer built around an 8-bit data path, integrating CPU, non-volatile Flash program memory, RAM, EEPROM, and peripherals onto one die. Within the broader taxonomy it sits as: 8-bit MCU -> microcontroller -> embedded controller -> semiconductor IC. The PIC16F family specifically uses a RISC-style Harvard architecture with only 35 single-word instructions, making it friendly for assembly and C development in embedded systems.
Key features include 5 channels of 10-bit Analog-to-Digital conversion, USART, MSSP (SPI/I2C) interface, two 8-bit timers plus one 16-bit timer, a 10-bit PWM module with Capture/Compare/PWM (CCP), and NanoWatt power management for low-current sleep modes. Watchdog timer, in-circuit serial programming (ICSP), and brown-out reset (BOR) round out the standard embedded feature set.
The PIC16F874 uses a 14-bit instruction word with 200ns instruction execution at 20MHz, plus separate instruction and data buses (Harvard). The CMOS Flash cell supports >100k erase/write cycles and 40-year retention, qualifying it for industrial embedded products requiring long field life.
Typical applications include industrial control panels, HVAC thermostats, sensor signal conditioning, motor control boards, and small appliances. The 40-pin DIP package suits through-hole prototyping and legacy board retrofits where socket replacement is desirable.
When designing with the PIC16F874-20/P, observe the 4.0V to 5.5V supply range. For new designs, Microchip recommends the PIC16F884 (NanoWatt enhanced, more memory). For this page we synthesized distributor pricing, drop-in alternatives sharing the 40-pin DIP footprint, and design notes not present in the manufacturer datasheet alone.
Drop-in alternatives for PIC16F874-20/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 PIC16F874-20/P (same form factor and footprint) — differing in ADC, Operating Temperature, Package, Timers, I/O Pins.
Quick Comparison Tool — Select alternative parts for side-by-side comparison:
PIC16F877-20/P
✅ Drop-In✓ In Stock
$6.2 / Unit
View Datasheet →PIC16F874-04/PQ
✅ Drop-In✓ In Stock
$5.9 / Unit
View Datasheet →PIC16F874-10/P
✅ Drop-In ⚠️ 参数待验证📋 Reference alternative (not in catalog)
PIC16F874-20I/P
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F884-I/P
✅ Drop-In ⚠️ 参数待验证✓ In Stock
$2.62 / Unit
View Datasheet →PIC16F877A-20/P
✅ Drop-In ⚠️ 参数待验证📋 Reference alternative (not in catalog)
PIC16F874-20/P Maximum Ratings & Electrical Characteristics
| Core | PIC 8-bit RISC (Harvard) |
| Instruction Set | 35 single-word instructions, 14-bit wide |
| Program Memory | 7 KB Flash (4K x 14) |
| RAM | 192 bytes |
| EEPROM | 128 bytes |
| Max CPU Speed | 20 MHz (200 ns instruction cycle) |
| Supply Voltage | 4.0 V to 5.5 V |
| I/O Pins | 33 |
| ADC | 10-bit, up to 8 channels |
| Timers | Timer0 (8-bit), Timer1 (16-bit), Timer2 (8-bit with PWM) |
| PWM / CCP | 1 CCP module, 10-bit PWM |
| Serial Interfaces | USART (RS-232/RS-485) + MSSP (SPI / I2C) |
| Package | 40-pin PDIP (DIP-40), through-hole |
| Operating Temperature | -40 C to +85 C (industrial) |
| Programming | In-Circuit Serial Programming (ICSP) |
| RoHS Status | Compliant |
PIC16F874-20/P Pin Configuration
| Pin 1 | MCLR/VPP — Master clear reset input / 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 — PORTA bit 2 / analog input channel 2 |
| Pin 5 | RA3/AN3/VREF- — PORTA bit 3 / analog input channel 3 / negative VREF |
| Pin 6 | RA4/T0CKI — PORTA bit 4 / Timer0 clock input (open-drain) |
| Pin 7 | RA5/AN4/SS — PORTA bit 5 / analog input channel 4 / SPI slave select |
| Pin 8 | RE0/RD/AN5 — PORTE bit 0 / read control / analog input channel 5 |
| Pin 9 | RE1/WR/AN6 — PORTE bit 1 / write control / analog input channel 6 |
| Pin 10 | RE2/CS/AN7 — PORTE bit 2 / chip select / analog input channel 7 |
| Pin 11 | VDD — Positive supply (4.0 V to 5.5 V) |
| Pin 12 | VSS — Ground |
| Pin 13 | OSC1/CLKIN — Oscillator crystal input / external clock input |
| Pin 14 | OSC2/CLKOUT — Oscillator crystal output / clock output |
| Pin 15 | RC0/T1OSO/T1CKI — PORTC bit 0 / Timer1 oscillator output / clock input |
| Pin 16 | RC1/T1OSI/CCP2 — PORTC bit 1 / Timer1 oscillator input / CCP2 |
| Pin 17 | RC2/CCP1 — PORTC bit 2 / Capture Compare PWM 1 output |
| Pin 18 | RC3/SCK/SCL — PORTC bit 3 / SPI clock / I2C clock |
| Pin 19 | RD0/PSP0 — PORTD bit 0 / parallel slave port bit 0 |
| Pin 20 | RD1/PSP1 — PORTD bit 1 / parallel slave port bit 1 |
| Pin 21 | RD2/PSP2 — PORTD bit 2 / parallel slave port bit 2 |
| Pin 22 | RD3/PSP3 — PORTD bit 3 / parallel slave port bit 3 |
| Pin 23 | RC4/SDI/SDA — PORTC bit 4 / SPI data in / I2C data |
| Pin 24 | RC5/SDO — PORTC bit 5 / SPI data out |
| Pin 25 | RC6/TX/CK — PORTC bit 6 / USART TX / synchronous clock |
| Pin 26 | RC7/RX/DT — PORTC bit 7 / USART RX / synchronous data |
| Pin 27 | RD4/PSP4 — PORTD bit 4 / parallel slave port bit 4 |
| Pin 28 | RD5/PSP5 — PORTD bit 5 / parallel slave port bit 5 |
| Pin 29 | RD6/PSP6 — PORTD bit 6 / parallel slave port bit 6 |
| Pin 30 | RD7/PSP7 — PORTD bit 7 / parallel slave port bit 7 |
| Pin 31 | VSS — Ground (second VSS pin) |
| Pin 32 | VDD — Positive supply (second VDD pin) |
| Pin 33 | RB0/INT — PORTB bit 0 / external interrupt input |
| Pin 34 | RB1 — PORTB bit 1 |
| Pin 35 | RB2 — PORTB bit 2 |
| Pin 36 | RB3/PGM — PORTB bit 3 / low-voltage programming enable |
| Pin 37 | RB4 — PORTB bit 4 |
| Pin 38 | RB5 — PORTB bit 5 |
| Pin 39 | RB6/PGC — PORTB bit 6 / in-circuit serial programming clock |
| Pin 40 | RB7/PGD — PORTB bit 7 / in-circuit serial programming data |
Typical Applications
PIC16F874-20/P is suitable for 6 applications: Industrial Control Panels, HVAC Thermostats, Sensor Signal Conditioning Boards, Motor Control Boards (DC / Stepper), Small Appliance Controllers, Educational / Hobbyist Embedded Projects.
Industrial Control Panels
The PIC16F874-20/P fits industrial control panels because its 4.0-5.5V supply range matches legacy 5V PLC backplanes, the 33 I/O pins drive relay arrays or opto-isolators directly, and the USART interfaces with RS-485 Modbus networks. The 7 KB Flash fits typical ladder-style state machines, and the -40 to +85 C industrial grade tolerates cabinet environments. Compared with the newer PIC16F884, this part still has plenty of headroom for relay logic, button debouncing, and LED drivers in non-safety-critical HMIs and SCADA terminals.
Recommended
HVAC Thermostats
The PIC16F874-20/P suits HVAC thermostat designs with its 10-bit ADC reading thermistor or RTD sensors, PWM module driving TRIAC angle-control for heating stages, and 192 B RAM handling schedule lookups. The 128 B EEPROM retains user setpoints across power cycles. Brown-out reset avoids false triggering on brownouts in older building wiring. Its 40-pin PDIP footprint is friendly to through-hole boards typical in white-goods manufacturing, and ICSP programming allows the same firmware to be patched in production.
Recommended
Sensor Signal Conditioning Boards
Using the PIC16F874-20/P for sensor signal conditioning gives designers an 8-channel 10-bit ADC for bridge sensors or thermopiles, MSSP running I2C to digital sensor companions, and USART for RS-232 diagnostics on calibration. The 35-instruction RISC core easily keeps up with 1 kHz loop rates typical of process-control loops. EEPROM stores calibration coefficients that the host reads at startup, and the 20MHz CPU executes linearization math in microseconds. The DIP package supports hand-soldered prototype calibration boards.
Recommended
Motor Control Boards (DC / Stepper)
In small DC and stepper motor control boards, the PIC16F874-20/P provides a 16-bit Timer1 for quadrature decode of an encoder and a 10-bit PWM module for current-mode drive. The 33 I/O lines talk to logic-level MOSFET gate drivers and endstop sensors, and 192 B RAM is enough for a 50-state microstep sequencer. Brown-out reset and watchdog timer protect pumps and actuators in unattended installations. Designers should size the PCB copper pour for return paths on the 4-quadrant H-bridge; this part handles the logic while a gate driver handles the power stage.
Recommended
Small Appliance Controllers
Small home appliances like coffee makers, vacuum robots, and countertop ovens run well on the PIC16F874-20/P, where the USART links to a Wi-Fi/BT companion, the ADC reads temperature and water-level sensors, and PWM drives a triac or DC motor. The 7 KB Flash fits typical appliance software with menu logic and safety interlocks. Through-hole DIP eases automated hand-repair lines, and ICSP allows last-minute firmware tweaks on the production floor. Watchdog timer is essential for kitchen safety interlocks.
Recommended
Educational / Hobbyist Embedded Projects
The PIC16F874-20/P is widely used in university and hobbyist courses that teach assembly and embedded C, thanks to its 35-instruction RISC architecture, generous Flash (7 KB), and easy-to-socket 40-pin DIP footprint. Students program it with PICkit 2/3 and the MPLAB X IDE without needing surface-mount skills. Its peripherals expose learners to timers, ADC, PWM, USART, and I2C/SPI, covering most embedded-system fundamentals. Compared to a Raspberry Pi, this part teaches low-level register I/O and resource-constrained design.
Recommended
Recommended Products Summary
Engineering reference data for PIC16F874-20/P — comparison, design guidance, and compliance information.
Selection Guide
Comparison with Alternatives
| Parameter | This Product | PIC16F877-20/P | PIC16F874-04/P | PIC16F884-I/P | PIC16F877A-20/P |
|---|---|---|---|---|---|
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Package | 40-pin PDIP | 40-pin PDIP - same | 40-pin PDIP - same | 40-pin PDIP - same | 40-pin PDIP - same |
| Max CPU Speed | 20 MHz | 20 MHz | 4 MHz (-80%) | 20 MHz | 20 MHz |
| Program Memory | 7 KB Flash | 14 KB Flash (+100%) | 7 KB Flash (same) | 14 KB Flash (+100%) | 14 KB Flash (+100%) |
| RAM | 192 B | 368 B (+92%) | 192 B (same) | 368 B (+92%) | 368 B (+92%) |
| EEPROM | 128 B | 256 B (+100%) | 128 B (same) | 256 B (+100%) | 256 B (+100%) |
| ADC | 10-bit, 8 ch | 10-bit, 8 ch | 10-bit, 8 ch | 10-bit, 11 ch (NanoWatt) | 10-bit, 14 ch (enhanced) |
| NanoWatt Technology | No | No | No | Yes (lower sleep current) | No |
| Operating Voltage | 4.0 V to 5.5 V | 4.0 V to 5.5 V | 4.0 V to 5.5 V | 2.0 V to 5.5 V (wider) | 4.0 V to 5.5 V |
Key Differentiators
- Larger Flash and RAM for the same footprint (vs PIC16F877-20/P)
- Microchip modern replacement with NanoWatt (vs PIC16F884-I/P)
- Higher reliability at half the clock (vs PIC16F874-04/P)
Design Notes
Place a 0.1 uF decoupling capacitor on each VDD pin (pins 11 and 32) within 5 mm of the package. Add a 10 uF bulk capacitor at the supply rail. The PIC16F874-20/P is rated 4.0 V to 5.5 V; below 4 V the brown-out reset may assert and halt execution. Estimated: total supply current is approximately 16 mA at 20 MHz / 5 V minus I/O sink currents; design the regulator with at least 50 mA headroom.
Do not leave MCLR floating: tie it to VDD through a 10 kohm resistor and a decoupling capacitor, or to the reset circuit. Floating MCLR triggers random resets and erratic program flow. Note that pin 39 (RB6) and pin 40 (RB7) are dual-purpose ICSP clock/data when MCLR is held high during programming; ensure your PCB does not load these pins with >5 pF or programming will fail.
Keep traces from OSC1/OSC2 (pins 13/14) short and symmetric to ground. Use a watch crystal with 22 pF load capacitors close to the pins, not at the source. Route RC6/TX (pin 25) and RC7/RX (pin 26) traces away from the crystal area to avoid EMI pickup. For an external clock, drive OSC1 only and leave OSC2 floating if CLKOUT is unused.
Compliance Information
RoHS/REACH compliant per Microchip product page as of 2026-09-21. Not AEC-Q100 qualified for automotive (use PIC16F874A-20I/PQ for automotive-grade projects).