PIC16F874-10E/P - 8-bit PIC MCU, 7KB Flash, 10MHz, 40-DIP | Microchip
MPN: PIC16F874-10E/P ✓ Active| Qty | Unit Price | Extended |
|---|---|---|
| 1 | $8.95 | $8.95 |
| 10 | $8.2 | $82.00 |
| 100 | $7.55 | $755.00 |
| 500 | $6.92 | $3,460.00 |
| 1,000 | $6.4 | $6,400.00 |
PIC16F874-10E/P Overview
A microcontroller (MCU) is a single-chip computer containing a CPU core, program memory (Flash/ROM), data memory (RAM), and programmable peripheral blocks such as timers, ADC, UART, and I/O ports. The PIC16F874 belongs to Microchip's mid-range PIC16 family, which is positioned between the baseline PIC10/12/16 series and the high-performance PIC18/PIC24 families. PIC MCUs are widely used in embedded control because they combine deterministic Harvard architecture, low power consumption, and a compact instruction set (35 instructions on this device) that simplifies firmware development.
Key features include 7KB Flash program memory, 192 bytes of RAM, 128 bytes of EEPROM, an 8-channel 10-bit ADC, two 8-bit timers and one 16-bit timer, a USART module, an MSSP module for SPI/I2C, a Parallel Slave Port, and nanoWatt technology for power-managed sleep modes. The 33 I/O pins support individual direction control and weak pull-ups.
Internally, the PIC16F874 uses a 14-bit wide instruction word with separate program and data buses (Harvard architecture). The CPU is driven by a four-phase clock and supports both interrupt-driven and polled designs. The integrated brown-out reset and power-on reset circuits, combined with the extended temperature range, make this part suitable for industrial and automotive-grade applications.
Typical applications include industrial control panels, sensor interface boards, motor control (low-side DC), consumer appliance controllers, and battery-powered instrumentation. The wide temperature range also makes it a fit for outdoor and unattended installations.
When designing with this part, ensure decoupling: 100 nF on VDD with a 10 uF bulk cap near the IC. Note that Microchip recommends the newer PIC16F884 for new designs; the PIC16F874-10E/P remains a valid drop-in for legacy 40-pin PIC16F87X designs and existing PCBs.
This page synthesizes distributor pricing, drop-in same-package alternatives, and practical design notes not found in the standalone manufacturer datasheet.
Drop-in alternatives for PIC16F874-10E/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-10E/P (same form factor and footprint) — differing in Package, Timers, ADC, Mounting Type, Communication Peripherals.
Quick Comparison Tool — Select alternative parts for side-by-side comparison:
PIC16F874A-10E/P
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F874A-10I/P
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F877-10E/P
✅ Drop-In✓ In Stock
$4.3 / Unit
View Datasheet →PIC16F877A-10E/P
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F874-04/PQ
✅ Drop-In✓ In Stock
$5.9 / Unit
View Datasheet →PIC16F874-10I/P
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F874-10E/P Maximum Ratings & Electrical Characteristics
| Program Memory Type | Flash |
| Program Memory Size | 7 KB (4K x 14 words) |
| RAM Size | 192 bytes |
| EEPROM Size | 128 bytes |
| CPU Architecture | 8-bit PIC16 mid-range, Harvard |
| Instruction Set | 35 single-word instructions |
| Instruction Cycle Time | 200 ns at 10 MHz |
| Maximum Clock Frequency | 10 MHz |
| Supply Voltage (VDD) | 4 V to 5.5 V |
| I/O Pins | 33 |
| ADC | 8 channels, 10-bit |
| Timers | 2 x 8-bit, 1 x 16-bit |
| Communication Peripherals | USART, MSSP (SPI / I2C), Parallel Slave Port |
| Operating Temperature Range | -40 C to +125 C (Industrial / Extended, "E" grade) |
| Package | 40-pin PDIP (0.600 in / 15.24 mm) |
| Mounting Type | Through-Hole (DIP) |
| Brown-Out Reset | Yes |
| Power-Saving Modes | nanoWatt Technology (Sleep, Idle, etc.) |
PIC16F874-10E/P Pin Configuration
| Pin 1 | MCLR/VPP — Master Clear (Reset) input / Programming voltage input |
| 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 / ADC negative reference |
| 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 / Parallel Slave Port read control / Analog input channel 5 |
| Pin 9 | RE1/WR/AN6 — PORTE bit 1 / Parallel Slave Port write control / Analog input channel 6 |
| Pin 10 | RE2/CS/AN7 — PORTE bit 2 / Parallel Slave Port chip select / Analog input channel 7 |
| Pin 11 | VDD — Positive supply voltage |
| Pin 12 | VSS — Ground reference |
| 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 / Timer1 clock input |
| Pin 16 | RC1/T1OSI/CCP2 — PORTC bit 1 / Timer1 oscillator input / CCP2 module |
| Pin 17 | RC2/CCP1 — PORTC bit 2 / CCP1 module (PWM output) |
| Pin 18 | RC3/SCK/SCL — PORTC bit 3 / SPI clock / I2C clock |
| Pin 19 | RC4/SDI/SDA — PORTC bit 4 / SPI data in / I2C data |
| Pin 20 | RC5/SDO — PORTC bit 5 / SPI data out |
| Pin 21 | RC6/TX/CK — PORTC bit 6 / USART asynchronous transmit / synchronous clock |
| Pin 22 | RC7/RX/DT — PORTC bit 7 / USART asynchronous receive / synchronous data |
| Pin 23 | VSS — Ground reference |
| Pin 24 | VDD — Positive supply voltage |
| Pin 25 | RB0/INT — PORTB bit 0 / External interrupt input |
| Pin 26 | RB1 — PORTB bit 1 |
| Pin 27 | RB2 — PORTB bit 2 |
| Pin 28 | RB3/PGM — PORTB bit 3 / Low-voltage programming input |
| Pin 29 | RB4 — PORTB bit 4 |
| Pin 30 | RB5 — PORTB bit 5 |
| Pin 31 | RB6/PGC — PORTB bit 6 / ICSP clock (Programming) |
| Pin 32 | RB7/PGD — PORTB bit 7 / ICSP data (Programming) |
| Pin 33 | RD0/PSP0 — PORTD bit 0 / Parallel Slave Port data bit 0 |
| Pin 34 | RD1/PSP1 — PORTD bit 1 / Parallel Slave Port data bit 1 |
| Pin 35 | RD2/PSP2 — PORTD bit 2 / Parallel Slave Port data bit 2 |
| Pin 36 | RD3/PSP3 — PORTD bit 3 / Parallel Slave Port data bit 3 |
| Pin 37 | RD4/PSP4 — PORTD bit 4 / Parallel Slave Port data bit 4 |
| Pin 38 | RD5/PSP5 — PORTD bit 5 / Parallel Slave Port data bit 5 |
| Pin 39 | RD6/PSP6 — PORTD bit 6 / Parallel Slave Port data bit 6 |
| Pin 40 | RD7/PSP7 — PORTD bit 7 / Parallel Slave Port data bit 7 |
Typical Applications
PIC16F874-10E/P is suitable for 7 applications: Industrial Sensor Interface Board, Consumer Appliance Control Panel, Battery-Powered Remote Instrumentation, Automotive Body Electronics (Legacy), Educational and Hobby Embedded Development, Low-Speed Motor Control Front-End, Building Automation and HVAC Control.
Industrial Sensor Interface Board
The PIC16F874-10E/P fits industrial sensor interface boards because it integrates an 8-channel 10-bit ADC for direct connection to analog sensors (temperature, pressure, strain), a USART for digital sensor bridges, and an MSSP for SPI or I2C sensor networks. Its Extended -40C to +125C temperature grade handles factory-floor heat, while brown-out reset and the 35-instruction RISC core keep firmware simple and deterministic for real-time polling. Compared with a discrete ADC + small MCU architecture, the PIC16F874-10E/P consolidates acquisition, processing, and serial reporting on a single chip at 10 MHz with 7 KB Flash for application logic.
Recommended
Consumer Appliance Control Panel
The PIC16F874-10E/P suits consumer appliance control panels (washing machines, dishwashers, microwave ovens) where 33 I/O pins directly drive keypads, LED/LCD indicators, relays, and triac interfaces without external muxing. The 10 MHz clock and 200 ns instruction cycle give real-time response for motor sequencing and safety interlocks. Flash memory is in-circuit programmable, simplifying firmware updates during production; EEPROM stores user settings (program cycles, language). The 40-pin PDIP through-hole package is also friendly to wave-solder assembly lines common in white-goods manufacturing.
Recommended
Battery-Powered Remote Instrumentation
The PIC16F874-10E/P is well matched to battery-powered remote instrumentation because of its nanoWatt technology power-saving modes. Sleep current drops below 1 uA typical, allowing multi-year operation on a lithium primary cell when the ADC samples periodically. The 7 KB Flash holds compact measurement algorithms, 192 bytes RAM is sufficient for short data buffers, and 128 bytes EEPROM retains calibration constants across power cycles. The wide 4 V to 5.5 V supply range tolerates battery droop, while the Extended temperature grade suits outdoor enclosures.
Recommended
Automotive Body Electronics (Legacy)
The PIC16F874-10E/P is suitable for non-safety automotive body electronics where its Extended -40C to +125C temperature rating handles under-dash and engine-bay-adjacent environments. The Parallel Slave Port allows connection to an external host MCU for diagnostic data exchange, while USART and MSSP interface with LIN or CAN transceivers in legacy networks. Although not AEC-Q100 qualified, the device is widely used in commercial-vehicle dashboards and accessory controllers. For new automotive designs, Microchip recommends PIC16F884 or dsPIC33 families with full AEC-Q100 qualification.
Recommended
Educational and Hobby Embedded Development
The PIC16F874-10E/P is a strong fit for educational labs and hobbyist projects because of its 40-pin PDIP through-hole footprint, which is breadboard-friendly and easy to hand-solder. The 35-instruction RISC core is simple to teach, MPLAB X IDE and XC8 compiler support the device natively, and the in-circuit serial programming (ICSP) interface lets students flash code without removing the chip. With 7 KB Flash, 192 bytes RAM, 10-bit ADC, and USART, the PIC16F874-10E/P gives learners experience with timers, interrupts, ADC, and serial comms all on one chip.
Recommended
Low-Speed Motor Control Front-End
The PIC16F874-10E/P serves as a low-speed motor control front-end in small DC fan, pump, and stepper applications. The 16-bit timer with Capture/Compare/PWM (CCP) module generates PWM up to 10-bit resolution, while the 10-bit ADC reads back current shunt or back-EMF for closed-loop control. The 33 I/O lines drive H-bridge FETs, opto-isolated gate drivers, and tachometer feedback simultaneously. Brown-out reset and the Extended temperature range cover the demanding electrical environment of brushed-motor drive circuits.
Recommended
Building Automation and HVAC Control
The PIC16F874-10E/P is appropriate for building automation controllers (thermostats, damper actuators, zone controllers) because of its mix of analog and digital peripherals. The 8-channel ADC reads thermistor and humidity sensor bridges; USART/MSSP links to networked HVAC controllers via RS-485 or I2C sensor expansion; and the 33 I/O pins drive triac outputs, relay coils, and user-interface keypads/LEDs. Extended temperature tolerance handles equipment closets and rooftop units. The 40-pin PDIP form factor simplifies installation and field serviceability compared with QFN alternatives.
Recommended
Recommended Products Summary
Engineering reference data for PIC16F874-10E/P — comparison, design guidance, and compliance information.
Selection Guide
Comparison with Alternatives
| Parameter | This Product | PIC16F874A-10E/P | PIC16F874A-10I/P | PIC16F877-10E/P | PIC16F877A-10E/P | PIC16F874-04/P | PIC16F874-10I/P |
|---|---|---|---|---|---|---|---|
| Package | PDIP-40 (0.600 in) | PDIP-40 - same | PDIP-40 - same | PDIP-40 - same | PDIP-40 - same | PDIP-40 - same | PDIP-40 - same |
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Program Memory (Flash) | 7 KB | 7 KB | 7 KB | 14 KB | 14 KB | 7 KB | 7 KB |
| RAM Size | 192 bytes | 192 bytes | 192 bytes | 368 bytes | 368 bytes | 192 bytes | 192 bytes |
| EEPROM Size | 128 bytes | 128 bytes | 128 bytes | 256 bytes | 256 bytes | 128 bytes | 128 bytes |
| Max Clock Frequency | 10 MHz | 10 MHz | 10 MHz | 10 MHz | 10 MHz | 4 MHz (-60%) | 10 MHz |
| Operating Temperature Range | -40 C to +125 C (Extended / "E") | -40 C to +125 C (Extended) | -40 C to +85 C (Industrial) | -40 C to +125 C (Extended) | -40 C to +125 C (Extended) | 0 C to +70 C (Commercial) | -40 C to +85 C (Industrial) |
| Silicon Revision | Original (with known errata) | 'A' revision (errata fixed) | 'A' revision (errata fixed) | Original (with known errata) | 'A' revision (errata fixed) | Original | Original |
| Instruction-Set Compatibility | Yes (35-instruction mid-range) | Yes - identical | Yes - identical | Yes - identical | Yes - identical | Yes - identical | Yes - identical |
Key Differentiators
- Original silicon with Extended temperature grade (vs PIC16F874A-10E/P)
- Smaller memory footprint for cost-sensitive designs (vs PIC16F877-10E/P)
- Higher temperature ceiling than Industrial-grade -10I/P variant (vs PIC16F874-10I/P)
Design Notes
Place a 100 nF ceramic decoupling capacitor as close as possible to each VDD pin (pins 11 and 24) with the ground return via a low-impedance path to the nearest VSS pin (pins 12 and 23). Add a 10 uF bulk tantalum or aluminum electrolytic capacitor near the MCU for transient load handling. The PIC16F874-10E/P draws approximately 5-15 mA active current at 10 MHz; a properly decoupled supply keeps VDD ripple below 50 mV to avoid ADC reference errors and brown-out-reset events.
Route the 10 MHz crystal traces (OSC1 pin 13 / OSC2 pin 14) as short as possible, surrounded by a grounded guard ring, and keep them away from switching signals such as the PWM output on RC2/CCP1. Use a crystal with 20 pF load capacitance and matching load capacitors to GND. For high-noise environments, add a 1 MOhm parallel feedback resistor across the crystal to bias the oscillator into its linear region.
When migrating code from PIC16F84A to PIC16F874-10E/P, remember to enable peripherals (ADC, USART, MSSP) by clearing the appropriate bit in the PCON/CMCON/ADCON0/ADCON1 registers before use. The PIC16F874 does NOT default to analog-disabled on PORTA; the user code must configure ADCON1 = 0x06 to make RA0-RA3 digital I/O. Forgetting this configuration step leaves PORTA in analog mode and prevents digital reads from working, a very common debug issue for first-time users.
Estimated: at maximum active current of 15 mA and 5 V supply, the PIC16F874-10E/P dissipates approximately 75 mW. The 40-pin PDIP package has a typical thermal resistance of approximately 50 C/W junction-to-ambient, so junction temperature rises only 3.75 C above ambient at full load - well within the 125 C maximum. No thermal management is required for normal embedded use; however, ensure the supply voltage does not exceed 5.5 V or the absolute maximum VDD rating (7.5 V transient).
The Parallel Slave Port (PORTD plus RE0/RE1/RE2 control lines) is sensitive to bus contention; always tri-state PORTD when not actively selected by the external CS signal on RE2. The USART TX/RX pins (RC6/RC7) benefit from a 10 kOhm pull-up on RX if the host may be disconnected during boot. For I2C operation via RC3/RC4, install 4.7 kOhm pull-ups to VDD; the PIC16F874 internal weak pull-ups are too weak for reliable 400 kHz Fast Mode operation.
Compliance Information
RoHS, REACH, lead-free and halogen-free status not present in the verified web data; marked [DATA_NEEDED] in specs. The PIC16F874-10E/P is not AEC-Q100 qualified - Microchip does not list this part in their automotive-qualified product portfolio.