PIC16F871-I/L - 8-bit 20MHz 3.5KB Flash MCU 44-PLCC | Microchip
MPN: PIC16F871-I/L ✓ Active| Qty | Unit Price | Extended |
|---|---|---|
| 1 | $4.2 | $4.20 |
| 10 | $3.78 | $37.80 |
| 100 | $3.36 | $336.00 |
| 500 | $3.02 | $1,510.00 |
| 1,000 | $2.75 | $2,750.00 |
PIC16F871-I/L Overview
A PIC16-family 8-bit microcontroller is a RISC-based computing core that combines a small instruction set, on-chip non-volatile flash memory, and a rich set of analog and digital peripherals. Within the broader IC hierarchy, a PIC16 sits below 32-bit Cortex-M0+/M4 devices in capability but offers a mature, low-cost, low-power solution for embedded control tasks. The PIC16F871 specifically belongs to the mid-range "F" flash-based sub-family, providing in-system self-programming and nanoWatt power management for energy-conscious designs.
Key features include 8 channels of 10-bit Analog-to-Digital (A/D) conversion, two additional timers beyond the standard Timer0, a capture/compare/PWM module, a Universal Asynchronous Receiver Transmitter (USART) for serial communication, and on-chip in-circuit debug (ICD) support. The 33 digital I/O lines provide flexible pin assignment for sensor interfacing, pushbuttons, LED drivers, and communication busses. The 64-byte EEPROM is byte-erasable and rated for high write-cycle endurance, making it well suited for storing calibration coefficients and user configuration data that must survive power cycles.
Architecturally, the PIC16F871 uses Microchip's enhanced Harvard architecture with separate program and data buses, enabling simultaneous instruction fetch and operand access for predictable deterministic timing. The 14-bit instruction word and 8-bit data path, combined with hardware stack and dedicated peripheral registers, yield compact code density and predictable interrupt latency. In-circuit serial programming (ICSP) and ICD allow firmware updates and live debugging through just two I/O pins, reducing the prototype-to-production gap.
Typical applications include industrial control front-ends, sensor signal conditioning nodes, HVAC actuator controllers, and consumer appliance user-interface boards where a mid-range 8-bit core is sufficient. The on-board 10-bit ADC and PWM capture/compare channel simplify closed-loop motor and process control designs.
When designing with this part, verify the operating temperature grade ("-I" = industrial -40 to +85 °C) against your enclosure thermal envelope, and ensure your programmer supports the PIC16F871 ICD pin assignment. A 100 nF decoupling capacitor placed within 5 mm of VDD is essential for clean ADC readings.
This page synthesizes distributor pricing from Mouser, DigiKey, and Octopart alongside pin-compatible PIC16F871 drop-in alternatives and practical design notes not consolidated in the manufacturer datasheet.
Drop-in alternatives for PIC16F871-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 PIC16F871-I/L (same form factor and footprint) — differing in Mounting Type, Package, Core Architecture, In-Circuit Debug, Operating Temperature.
Quick Comparison Tool — Select alternative parts for side-by-side comparison:
PIC16F871-E/L
✅ Drop-In✓ In Stock
$5.2 / Unit
View Datasheet →PIC16F871-I/PT
✅ Drop-In✓ In Stock
$2.82 / Unit
View Datasheet →PIC16F871T-I/L
✅ Drop-In✓ In Stock
$3.78 / Unit
View Datasheet →PIC16F870-I/L
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F872-I/L
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F871-I/L Maximum Ratings & Electrical Characteristics
| Core Architecture | PIC 8-bit RISC (enhanced mid-range Harvard) |
| Program Memory Type | Flash |
| Program Memory Size | 3.5 KB |
| RAM Size | 128 bytes |
| EEPROM Data Memory | 64 bytes |
| Maximum Clock Speed | 20 MHz |
| Instruction Execution Time | 200 ns |
| Supply Voltage Range | 4 V to 5.5 V |
| I/O Pins | 33 |
| ADC Channels | 8 |
| ADC Resolution | 10-bit |
| Timers | 3 (Timer0, Timer1, Timer2) |
| Capture/Compare/PWM Modules | 1 |
| USART | 1 |
| Package | 44-pin PLCC |
| Operating Temperature | -40 °C to +85 °C (industrial) |
| Mounting Type | Surface Mount / Socket |
| In-Circuit Debug | Yes (ICD) |
| RoHS Status | Compliant (Pb-free) |
PIC16F871-I/L Pin Configuration
| Pin 1 | NC — Not connected (per datasheet) |
| Pin 2 | RA0/AN0 — Port A bit 0 / ADC input channel 0 |
| Pin 3 | RA1/AN1 — Port A bit 1 / ADC input channel 1 |
| Pin 4 | RA2/AN2 — Port A bit 2 / ADC input channel 2 |
| Pin 5 | RA3/AN3/VREF+ — Port A bit 3 / ADC input channel 3 / VREF+ |
| Pin 6 | RA4/T0CKI — Port A bit 4 / Timer0 clock input |
| Pin 7 | RA5/AN4/SS — Port A bit 5 / ADC input channel 4 / SPI slave select |
| Pin 8 | RE0/RD/AN5 — Port E bit 0 / parallel read control / ADC input 5 |
| Pin 9 | RE1/WR/AN6 — Port E bit 1 / parallel write control / ADC input 6 |
| Pin 10 | RE2/CS/AN7 — Port E bit 2 / parallel chip select / ADC input 7 |
| Pin 11 | VDD — Positive supply (4-5.5 V) |
| Pin 12 | VSS — Ground reference |
| Pin 13 | OSC1/CLKIN — Crystal oscillator input / external clock |
| Pin 14 | OSC2/CLKOUT — Crystal oscillator output / clock out |
| Pin 15 | RC0/T1OSO/T1CKI — Port C bit 0 / Timer1 oscillator output / Timer1 clock input |
| Pin 16 | RC1/T1OSI/CCP2 — Port C bit 1 / Timer1 oscillator input / CCP2 |
| Pin 17 | RC2/CCP1 — Port C bit 2 / Capture/Compare/PWM 1 |
| Pin 18 | RC3/SCK/SCL — Port C bit 3 / SPI clock / I2C clock |
| Pin 19 | RD0/PSP0 — Port D bit 0 / parallel slave port bit 0 |
| Pin 20 | RD1/PSP1 — Port D bit 1 / parallel slave port bit 1 |
| Pin 21 | RD2/PSP2 — Port D bit 2 / parallel slave port bit 2 |
| Pin 22 | RD3/PSP3 — Port D bit 3 / parallel slave port bit 3 |
| Pin 23 | RC4/SDI/SDA — Port C bit 4 / SPI data in / I2C data |
| Pin 24 | RC5/SDO — Port C bit 5 / SPI data out |
| Pin 25 | RC6/TX/CK — Port C bit 6 / USART transmit / clock |
| Pin 26 | RC7/RX/DT — Port C bit 7 / USART receive / data |
| Pin 27 | RD4/PSP4 — Port D bit 4 / parallel slave port bit 4 |
| Pin 28 | RD5/PSP5 — Port D bit 5 / parallel slave port bit 5 |
| Pin 29 | RD6/PSP6 — Port D bit 6 / parallel slave port bit 6 |
| Pin 30 | RD7/PSP7 — Port D bit 7 / parallel slave port bit 7 |
| Pin 31 | VSS — Ground reference |
| Pin 32 | VDD — Positive supply (4-5.5 V) |
| Pin 33 | RB0/INT — Port B bit 0 / external interrupt |
| Pin 34 | RB1 — Port B bit 1 |
| Pin 35 | RB2 — Port B bit 2 |
| Pin 36 | RB3/PGM — Port B bit 3 / ICSP programming |
| Pin 37 | RB4 — Port B bit 4 |
| Pin 38 | RB5 — Port B bit 5 |
| Pin 39 | RB6/PGC — Port B bit 6 / ICSP clock |
| Pin 40 | RB7/PGD — Port B bit 7 / ICSP data |
| 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
PIC16F871-I/L is suitable for 6 applications: Industrial Sensor Interface Board, HVAC Actuator Controller, Consumer Appliance User Interface, Battery Charger Control MCU, Motor Speed Control Board, Security Keypad and Access Module.
Industrial Sensor Interface Board
The PIC16F871-I/L fits industrial sensor interface boards because its 8 channels of 10-bit ADC and 33 digital I/O lines provide flexible multi-signal acquisition at industrial -40 to +85 °C ambient temperatures. The 3.5 KB flash stores sensor linearization tables, while the 64-byte EEPROM retains calibration coefficients that survive power cycles. With a 20 MHz clock and 200 ns instruction time, the MCU executes a 10 Hz sensor polling loop with substantial margin for filtering math and UART reporting. Per Microchip datasheet DS30235C, the 10-bit ADC achieves ±1 LSB INL at 5 V supply, sufficient for process-control transmitter designs.
Recommended
HVAC Actuator Controller
The PIC16F871-I/L suits HVAC damper and valve actuator controllers because its Capture/Compare/PWM module generates precise actuator drive signals, while the 8 ADC channels read position feedback, supply voltage, and temperature. The 33 I/O pins support relay outputs, status LEDs, and keypad input for local setpoint adjustment. The nanoWatt power-saving modes and 4-5.5 V supply range allow direct operation from 5 V regulated rails common in HVAC control boards. Per Microchip datasheet DS30235C, the PWM resolution at 20 MHz reaches 10-bit with a 19.5 kHz carrier frequency.
Recommended
Consumer Appliance User Interface
The PIC16F871-I/L drives consumer appliance user-interface panels where 33 I/O lines scan 7-segment or matrix keypads and drive status LEDs. The USART peripheral links the UI panel to a master appliance controller, while the 3.5 KB flash stores multi-language menus and firmware-upgrade routines. The 64-byte EEPROM saves last-used settings across power cycles. Per Microchip datasheet DS30235C, ICSP allows field firmware updates through two I/O pins, eliminating the need for in-house programming headers on every production unit.
Recommended
Battery Charger Control MCU
The PIC16F871-I/L functions as the supervisory MCU in multi-cell battery chargers, using its 10-bit ADC to monitor charge current, battery voltage, and thermistor temperature. The Capture/Compare/PWM module controls the switching converter, while the USART reports state to a host BMS over an isolated interface. With 128 bytes of RAM, the MCU tracks charge-state-machine transitions without external memory. Per Microchip datasheet DS30235C, the ADC operates from a 4-5.5 V supply, matching typical 5 V charger rails.
Recommended
Motor Speed Control Board
The PIC16F871-I/L drives small DC motor or stepper control boards using its PWM module for variable-speed actuation, with the 10-bit ADC reading back-EMF, current, and tachometer signals. The 33 I/O lines handle direction control, fault inputs, and opto-isolated enable signals. The 200 ns instruction execution time enables a 10 kHz control loop with significant margin for PID math. Per Microchip datasheet DS30235C, the 44-pin PLCC package provides ample ground and power pins for noise-immune motor PCB layouts.
Recommended
Security Keypad and Access Module
The PIC16F871-I/L serves as the controller in security keypads and door-access modules, scanning 4x4 or 5x5 button matrices and driving piezo buzzers through PWM. The 64-byte EEPROM stores user PINs and access codes with high write-cycle endurance, while the USART interfaces with the central access controller. The ICD pins allow service-mode firmware updates without disassembly. Per Microchip datasheet DS30235C, the 33 I/O lines accommodate keypad matrix, LEDs, tamper switch, and buzzer in a single chip.
Recommended
Recommended Products Summary
Engineering reference data for PIC16F871-I/L — comparison, design guidance, and compliance information.
Selection Guide
Comparison with Alternatives
| Parameter | This Product | PIC16F871-E/L | PIC16F871-I/PT | PIC16F871T-I/L | PIC16F870-I/L | PIC16F872-I/L |
|---|---|---|---|---|---|---|
| Package | 44-pin PLCC | 44-pin PLCC - same | 44-pin PLCC (T&R) - same | 44-pin PLCC (T&R) - same | 44-pin PLCC - same | 44-pin PLCC - same |
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Program Memory (Flash) | 3.5 KB | 3.5 KB | 3.5 KB | 3.5 KB | 3.5 KB | 3.5 KB |
| RAM | 128 bytes | 128 bytes | 128 bytes | 128 bytes | 128 bytes | 128 bytes |
| Maximum Clock Speed | 20 MHz | 20 MHz | 20 MHz | 20 MHz | 20 MHz | 20 MHz |
| ADC Channels | 8 | 8 | 8 | 8 | 5 | 8 |
| Operating Temperature | -40 °C to +85 °C (industrial) | -40 °C to +125 °C (extended) | -40 °C to +85 °C (industrial) | -40 °C to +85 °C (industrial) | -40 °C to +85 °C (industrial) | -40 °C to +85 °C (industrial) |
| Supply Voltage | 4 V to 5.5 V | 4 V to 5.5 V | 4 V to 5.5 V | 4 V to 5.5 V | 4 V to 5.5 V | 4 V to 5.5 V |
Key Differentiators
- Most peripheral-rich PIC16 mid-range MCU with 8 ADC channels (vs PIC16F870-I/L)
- Same die across temperature grades for design reuse (vs PIC16F871-E/L)
- Industry-standard 44-pin PLCC socket for easy field replacement (vs PIC16F871-I/P (PDIP-40))
- Self-programming flash with ICD support (vs PIC16C7xx OTP predecessors)
Design Notes
Place a 100 nF ceramic decoupling capacitor within 5 mm of each VDD pin (pins 11 and 32 on the 44-pin PLCC package), with a bulk 10 µF tantalum or aluminum electrolytic on the 5 V rail. The PIC16F871 datasheet DS30235C specifies 4.0-5.5 V operation; dropping below 4 V during ADC conversion degrades INL beyond the ±1 LSB typical specification. For ICD operation, ensure VDD rise time is monotonic to avoid debug-entry failures during brownout events.
Route the 44-pin PLCC socket with wide ground and power pours, especially around the OSC1/OSC2 crystal traces. Keep the crystal within 5 mm of the OSC pins and guard the traces with a grounded polygon to attenuate radiated emissions. The 33 digital I/O pins should be ESD-protected with TVS arrays if the board exposes any I/O to external connectors. Per Microchip AN235, the PLCC socket adds 1-2 pF of capacitance per pin that must be accounted for in high-speed signal traces.
Do not enable the parallel slave port (PSP) on ports D and E without isolating them with external buffers, as direct bus contention can latch up the device. The ADC conversion clock must be derived from a divided Fosc and cannot exceed 250 ns TAD; at 20 MHz Fosc, select a Fosc/16 or Fosc/32 prescaler per Microchip datasheet DS30235C. Always configure unused I/O pins as outputs to minimize current consumption in sleep mode.
The PIC16F871 USART supports asynchronous mode at up to 115.2 kbps with the internal 8-bit BRG. For robust communication in noisy industrial environments, enable the hardware parity and double-buffered receiver per Microchip datasheet DS30235C. The I2C/SPI shared pins (RC3/RC4) require external 4.7 kΩ pull-ups on SDA and SCL for I2C operation; the SSP module cannot drive these pins actively to logic 1.
Compliance Information
RoHS and Pb-free per Microchip product page. Not AEC-Q100 qualified - industrial grade only. Halogen-free status not explicitly listed in retrieved data.