PIC16F874A-I/L - 8-Bit 20MHz MCU 7KB Flash PLCC-44 | Microchip
MPN: PIC16F874A-I/L ✓ Active| Qty | Unit Price | Extended |
|---|---|---|
| 1 | $7.78 | $7.78 |
| 10 | $7.12 | $71.20 |
| 100 | $6.45 | $645.00 |
| 500 | $5.8 | $2,900.00 |
| 1,000 | $5.2 | $5,200.00 |
PIC16F874A-I/L Overview
A microcontroller (MCU) is a single-chip computer that contains a processor core, program memory, working RAM, and a rich set of peripherals including timers, communication interfaces, and analog blocks. PIC16F-series microcontrollers sit inside the broader taxonomy: 8-bit microcontroller -> RISC microcontroller -> CMOS microcontroller -> embedded MCU -> semiconductor IC. They are widely used because of their deterministic instruction timing, low power draw, and broad toolchain support (MPLAB X IDE, XC8 compiler, PICkit programmers).
Key features of the PIC16F874A include 33 digital I/O pins arranged across five ports, an 8-channel 10-bit Analog-to-Digital Converter (ADC), two analog comparators, two Capture/Compare/PWM (CCP) modules, and a synchronous serial port that can be configured as either 3-wire SPI or 2-wire I²C. The device also offers in-circuit debugging (ICD) support and self-programming capability, enabling in-application firmware upgrades without an external programmer.
The PIC16F874A uses Microchip's enhanced Harvard RISC architecture with only 35 single-word instructions, most of which execute in a single 200 ns instruction cycle at 20 MHz. A hardware multiplier is not present on this part, so multiply-heavy DSP routines must be implemented in software. The wide operating voltage range of 2.0 V to 5.5 V and four oscillator modes (RC, XT, HS, LP) make the part flexible across battery and line-powered designs.
Typical applications for the PIC16F874A-I/L include industrial automation controllers, HVAC system nodes, sensor interface boards, motor control front-ends, building automation, low-cost consumer appliances, and educational development platforms. Its combination of EEPROM, ADC, and dual serial interfaces supports applications that need local data logging alongside periodic reporting to a host.
When designing with this part, plan I/O assignments carefully because Port A shares pins with the analog inputs and the analog comparator outputs. Always configure the relevant TRIS registers and ADCON1 analog/digital mode bits before reading analog channels; otherwise digital logic on shared pins can cause incorrect ADC conversions. Decouple VDD with at least a 0.1 µF ceramic capacitor placed within 5 mm of the supply pin.
This page synthesizes distributor pricing, drop-in compatible alternatives, and practical design notes not found in the manufacturer datasheet, helping procurement engineers and firmware developers quickly evaluate the PIC16F874A-I/L for both new designs and legacy product maintenance.
Drop-in alternatives for PIC16F874A-I/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 PIC16F874A-I/L (same form factor and footprint) — differing in Core Architecture, Mounting Type, Package, Operating Temperature, Timers.
Quick Comparison Tool — Select alternative parts for side-by-side comparison:
PIC16F877A-I/L
✅ Drop-In✓ In Stock
$7.12 / Unit
View Datasheet →PIC16F874A-E/L
✅ Drop-In✓ In Stock
$5.55 / Unit
View Datasheet →PIC16F871-I/L
✅ Drop-In✓ In Stock
$2.75 / Unit
View Datasheet →PIC16F874A-I/PT
✅ Drop-In ⚠️ Specs Unverified📋 Reference alternative (not in catalog)
PIC16F874-04I/L
✅ Drop-In ⚠️ Specs Unverified✓ In Stock
$5.4 / Unit
View Datasheet →PIC16F877A-I/PT
✅ Drop-In ⚠️ Specs Unverified📋 Reference alternative (not in catalog)
PIC16F874A-I/L Maximum Ratings & Electrical Characteristics
| Architecture | 8-bit PIC16 enhanced Harvard RISC |
| Instruction Set | 35 single-word instructions |
| Maximum Clock Frequency | 20 MHz |
| Instruction Cycle Time | 200 ns at 20 MHz |
| Program Memory (Flash) | 7 KB (4K x 14 words) |
| SRAM Data Memory | 192 bytes |
| EEPROM Data Memory | 128 bytes |
| Operating Voltage Range | 2.0 V to 5.5 V |
| I/O Pins | 33 digital I/O |
| ADC | 8 channels, 10-bit resolution |
| Analog Comparators | 2 |
| CCP Modules | 2 (Capture/Compare/PWM) |
| Serial Interfaces | 1x SSP (SPI or I²C), 1x USART/SCI |
| Timers | 3 (Timer0, Timer1, Timer2) |
| Self-Programming | Yes (Flash) |
| In-Circuit Debug | Yes (ICD support) |
| Brown-out Reset | Yes |
| Watchdog Timer | Yes |
| Package | 44-pin PLCC (16.59 x 16.59 mm) |
| Mounting Type | Surface Mount (PLCC socket or solder) |
| Operating Temperature Range | -40 °C to +85 °C (Industrial) |
| RoHS Status | Compliant |
PIC16F874A-I/L 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/VREF- — PORTA bit 2 / Analog input channel 2 / Negative reference voltage |
| Pin 5 | RA3/AN3/VREF+ — PORTA bit 3 / Analog input channel 3 / Positive reference voltage |
| Pin 6 | RA4/T0CKI/C1OUT — PORTA bit 4 / Timer0 clock input / Comparator 1 output |
| Pin 7 | RA5/AN4/SS/C2OUT — PORTA bit 5 / Analog input channel 4 / SSP slave select / Comparator 2 output |
| 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 (2.0 V to 5.5 V) |
| Pin 12 | VSS — Ground reference |
| Pin 13 | OSC1/CLKIN — Oscillator crystal input / External clock input |
| Pin 14 | OSC2/CLKOUT — Oscillator crystal output / Clock output (Fosc/4) |
| 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 PWM output |
| Pin 17 | RC2/CCP1 — PORTC bit 2 / CCP1 PWM output |
| Pin 18 | RC3/SCK/SCL — PORTC bit 3 / SPI clock / I²C clock |
| Pin 19 | RD0/PSP0 — PORTD bit 0 / Parallel slave port data bit 0 |
| Pin 20 | RD1/PSP1 — PORTD bit 1 / Parallel slave port data bit 1 |
| Pin 21 | RD2/PSP2 — PORTD bit 2 / Parallel slave port data bit 2 |
| Pin 22 | RD3/PSP3 — PORTD bit 3 / Parallel slave port data bit 3 |
| Pin 23 | RC4/SDI/SDA — PORTC bit 4 / SPI data in / I²C data |
| Pin 24 | RC5/SDO — PORTC bit 5 / SPI data out |
| Pin 25 | RC6/TX/CK — PORTC bit 6 / USART asynchronous transmit / I²C clock (SPI mode) |
| Pin 26 | RC7/RX/DT — PORTC bit 7 / USART asynchronous receive / Synchronous data |
| Pin 27 | RD4/PSP4 — PORTD bit 4 / Parallel slave port data bit 4 |
| Pin 28 | RD5/PSP5 — PORTD bit 5 / Parallel slave port data bit 5 |
| Pin 29 | RD6/PSP6 — PORTD bit 6 / Parallel slave port data bit 6 |
| Pin 30 | RD7/PSP7 — PORTD bit 7 / Parallel slave port data bit 7 |
| Pin 31 | VSS — Ground reference |
| Pin 32 | VDD — Positive supply voltage (2.0 V to 5.5 V) |
| 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 input |
| Pin 37 | RB4 — PORTB bit 4 |
| Pin 38 | RB5 — PORTB bit 5 |
| Pin 39 | RB6/PGC — PORTB bit 6 / In-circuit debugger clock |
| Pin 40 | RB7/PGD — PORTB bit 7 / In-circuit debugger data |
| Pin 41 | NC — Not connected (PLCC-44 mechanical pin, not bonded) |
| Pin 42 | NC — Not connected (PLCC-44 mechanical pin, not bonded) |
| Pin 43 | NC — Not connected (PLCC-44 mechanical pin, not bonded) |
| Pin 44 | NC — Not connected (PLCC-44 mechanical pin, not bonded) |
Typical Applications
PIC16F874A-I/L is suitable for 7 applications: Industrial Sensor Interface Board, HVAC Control Module, Consumer Appliance Controller, Educational Development Platform, Motor Control Front-End, Building Automation Node, Low-Cost Data Acquisition Logger.
Industrial Sensor Interface Board
The PIC16F874A-I/L fits sensor interface boards because its 8-channel 10-bit ADC covers typical 4-20 mA loop translation with 2 LSB accuracy, while 192 bytes of SRAM buffer averaged samples for digital filtering. Place the MCU between the sensor front-end (e.g., a current-sense amplifier) and a higher-level controller; its 20 MHz core runs a 200 ns cycle, easily handling 100 Hz polling of eight channels with margin for linearization math. The 33 I/O lines accommodate multiplexed digital inputs and relay outputs commonly seen in industrial nodes. Compared with discrete ADC-plus-logic implementations, the integrated ADC and USART cut BOM cost and board area in half.
Recommended
HVAC Control Module
The PIC16F874A-I/L is well matched to HVAC control modules where its 2 CCP modules generate PWM outputs for damper and valve actuators while the 10-bit ADC reads temperature and pressure sensors. Operating from 2.0-5.5 V lets it share a 5 V rail with triac drivers, and the USART links to a wall thermostat or building management system. The 7 KB Flash supports state-machine firmware for setpoint scheduling without external memory, and the 128-byte EEPROM retains user preferences through power loss. With self-programming, HVAC OEMs can ship firmware updates via the building network without service calls. The 33 I/O lines handle multiplexed keypads, LCD interfaces, and multi-zone outputs typical of mid-range HVAC equipment.
Recommended
Consumer Appliance Controller
For consumer appliances such as washing machines, microwave ovens, and small kitchen equipment, the PIC16F874A-I/L delivers the right mix of timers, ADC, and I/O at low cost. Its 3 hardware timers drive motor PWM, user-interface debounce, and buzzer tones independently, while the USART interfaces with a Bluetooth or Wi-Fi module for smart-appliance variants. Operating from a 5 V rail and drawing only a few milliamps, it fits battery-backed designs with brown-out reset protecting EEPROM-stored settings. The 7 KB Flash supports menu-driven firmware with multiple wash cycles or cooking profiles. Compared with older PIC16C variants, the Flash-based design eliminates the need for a UV-erase window in production programming.
Recommended
Educational Development Platform
The PIC16F874A-I/L is a long-standing choice for university microcontroller courses because it exposes the PIC16 architecture's full peripheral set without overwhelming beginners. Its PLCC-44 package fits a low-cost socket on breadboard-friendly training boards, and the in-circuit debugging (ICD) capability lets students step through C or assembly code in real time. The 7 KB Flash is large enough to host a complete RTOS-like cooperative scheduler example, while 192 bytes of SRAM illustrates memory-mapped register concepts. Compatibility with PICkit 3, PICkit 4, and MPLAB X IDE keeps tooling costs low. Compared with modern ARM Cortex boards, the PIC16F874A remains relevant as a teaching vehicle for RISC fundamentals and embedded C basics.
Recommended
Motor Control Front-End
The PIC16F874A-I/L serves as a motor control front-end for low-voltage brushed DC and small stepper motors used in pumps, fans, and small appliances. Its 2 CCP modules generate complementary PWM signals with programmable dead-time via firmware, and the analog comparators provide hardware current-limit protection that trips within 200 ns of a fault. The 10-bit ADC samples the back-EMF or shunt current at the PWM rate to implement closed-loop speed control. Operating from 2.0-5.5 V, the MCU can be supplied from the same 5 V rail as gate drivers such as the MCP14 family. Compared with discrete analog PWM controllers, this integrated approach lets designers tune acceleration curves in firmware without hardware rework.
Recommended
Building Automation Node
The PIC16F874A-I/L is well suited for building automation nodes that aggregate sensor data and relay control commands over RS-485 or I²C. Its USART interfaces directly with an external transceiver such as the MAX485 for Modbus RTU slaves, while the synchronous serial port (SSP) talks to I²C peripherals like the MCP9808 temperature sensor and PCF8574 I/O expander. The 128-byte EEPROM stores calibration constants and node addresses, and the 7 KB Flash supports a Modbus command interpreter plus simple scheduling logic. The brown-out reset and watchdog timer provide resilience in electrically noisy building-wiring environments. Compared with 32-bit alternatives, the PIC16F874A keeps node-level bill-of-materials cost under $3 at small volumes.
Recommended
Low-Cost Data Acquisition Logger
The PIC16F874A-I/L is a strong fit for low-cost data loggers that capture 8 channels of 10-bit analog data and store results locally to either the on-chip 128-byte EEPROM or an external I²C memory. Its 20 MHz core executes sample-and-store routines fast enough to support 1 kHz aggregate sampling rates, while the 192-byte SRAM ring buffer smooths writes to non-volatile storage. The USART enables direct serial-port download of recorded data, eliminating the need for a separate bootloader interface. The integrated ADC and CCP capture eliminate the BOM cost of an external ADC chip. Compared with discrete analog front-ends, the integrated solution reduces PCB area by 30-40% in compact logger designs.
Recommended
Recommended Products Summary
Engineering reference data for PIC16F874A-I/L — comparison, design guidance, and compliance information.
Selection Guide
Comparison with Alternatives
| Parameter | This Product | PIC16F877A-I/L | PIC16F874A-E/L | PIC16F871-I/L |
|---|---|---|---|---|
| Package | 44-PLCC | 44-PLCC (same) | 44-PLCC (same) | 44-PLCC (same) |
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Program Flash | 7 KB (4K x 14) | 14 KB (8K x 14) | 7 KB (4K x 14) | 2 KB (1K x 14) |
| SRAM | 192 bytes | 368 bytes | 192 bytes | 128 bytes |
| EEPROM | 128 bytes | 256 bytes | 128 bytes | 64 bytes |
| Max Clock Frequency | 20 MHz | 20 MHz | 20 MHz | 20 MHz |
| ADC Channels | 8 x 10-bit | 8 x 10-bit | 8 x 10-bit | 5 x 10-bit |
| Operating Temperature | -40 °C to +85 °C (Industrial) | -40 °C to +85 °C (Industrial) | -40 °C to +125 °C (Extended) | -40 °C to +85 °C (Industrial) |
Key Differentiators
- Balanced memory size with on-chip EEPROM for parameter storage (vs PIC16F871-I/L)
- Extended 8-channel 10-bit ADC vs reduced channel count on smaller siblings (vs PIC16F871-I/L)
- Industrial-grade -40 to +85 °C temperature range covers most commercial/industrial nodes (vs PIC16F874A-E/L)
Design Notes
Decouple each VDD pin (pins 11 and 32 on PLCC-44) with a 0.1 µF X7R ceramic capacitor placed within 5 mm of the pin, and add a bulk 10 µF tantalum or aluminum polymer capacitor near the package. PIC16F devices draw short current spikes during Flash write cycles that can corrupt ADC readings if VDD droops. The -I/L industrial-grade part supports 2.0 V to 5.5 V, but ADC accuracy degrades below 3.0 V, so for precision analog designs operate at 5.0 V nominal.
Route the OSC1/OSC2 traces as a short differential pair with a ground guard on both sides to avoid coupling noise into the high-impedance oscillator pins. Keep digital switching traces (PORTD, parallel slave port) at least 5 mm away from the analog PORTA/RE pins to minimize crosstalk into the ADC. Place the MCLR pull-up resistor (typically 10 kΩ) close to the pin, and add a 100 nF cap to ground for ESD protection.
Configure ADCON1 to set the analog/digital mode on shared PORTA/RE pins before enabling the ADC; otherwise digital outputs on these pins can inject noise into the analog multiplexer and produce incorrect conversions. Do not exceed the 5.5 V absolute maximum on any I/O pin even if VDD is set lower, and never drive a pin as output while its analog channel is selected. The PIC16F874A has no hardware multiplier; multiply-heavy routines must be implemented in software loops, so do not assume 16-bit multiplication is single-cycle.
When using the parallel slave port (PORTD + PORTE control pins), add 100 Ω series resistors on the PSP data lines if the bus length exceeds 50 mm or connects to multiple devices. For I²C operation on the SSP port, select external pull-up resistors that satisfy the rise-time requirement at the chosen bus speed; 4.7 kΩ is typical for 100 kHz Standard mode, while 2.2 kΩ may be needed for 400 kHz Fast mode on longer buses.
Compliance Information
RoHS and lead-free compliance per Microchip product page. AEC-Q100 qualification not stated; for automotive designs, contact Microchip for PPAP documentation. Halogen-free status not explicitly listed in verified web data.