PIC16F871-E/L - 8-Bit 20MHz 3.5KB Flash MCU, 44-PLCC | Microchip
MPN: PIC16F871-E/L β Active| Qty | Unit Price | Extended |
|---|---|---|
| 1 | $8.2 | $8.20 |
| 10 | $7.38 | $73.80 |
| 100 | $6.55 | $655.00 |
| 500 | $5.85 | $2,925.00 |
| 1,000 | $5.2 | $5,200.00 |
PIC16F871-E/L Overview
A mid-range PIC16 microcontroller is a class of 8-bit RISC MCU from Microchip using a 14-bit instruction word and 35 single-word instructions, designed for embedded control applications. The PIC16F871 belongs to the broader PIC16 family, which sits inside Microchip's PIC architecture taxonomy: PIC10/12/16 (8-bit) -> PIC -> Microcontroller -> Embedded IC -> Semiconductor. Mid-range PICs typically include nanoWatt Technology for power-managed sleep states, on-chip debug (ICD), and self-programming capability β and the PIC16F871 exemplifies all three.
Key features include the on-chip ICD for in-circuit debug without an expensive emulator, self-programming Flash allowing firmware field updates, nanoWatt power management with multiple low-power modes, and 33 digital I/O lines. The 8-channel 10-bit ADC can serve up to 8 analog sensors in a single MCU, while the USART/SCI supports RS-232/RS-485 communication for industrial networking. The 44-PLCC package provides a J-lead socket-mountable footprint for prototyping and field replacement.
The PIC16F871 architecture combines a Harvard bus with separate program and data paths, achieving deterministic 200 ns instruction execution and predictable interrupt latency. Peripherals are mapped into a linear data-memory space and share a vectored interrupt controller, simplifying firmware development for mixed-signal and motor-control designs.
Typical applications include industrial sensor interfaces, building-automation controllers, low-end motor control, automotive body electronics, security and alarm panels, HVAC fan/blower control, and battery chargers. Its 5V-tolerant design and extended temperature range make it well suited to both 24V industrial buses (post-regulation) and 12V automotive environments.
Designers should note the -E suffix denotes the Extended (industrial) temperature grade -40C to +125C, distinguishing it from the -I (Industrial, -40C to +85C) variants. For new designs, PIC16F1 mid-range enhanced successors such as PIC16F18877 may offer modern peripherals; however, the PIC16F871 remains a long-lifecycle part with mature toolchain support.
Drop-in alternatives for PIC16F871-E/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-E/L (same form factor and footprint) β differing in Mounting Type, Package, RoHS Status, Timers, Core Architecture.
Quick Comparison Tool β Select alternative parts for side-by-side comparison:
PIC16F871-I/L
β Drop-Inβ In Stock
$2.75 / Unit
View Datasheet βPIC16F871T-I/L
β Drop-Inβ In Stock
$3.78 / Unit
View Datasheet βPIC16F871-E/P
β Drop-Inβ In Stock
$2.25 / Unit
View Datasheet βPIC16F871-E/PT
β Drop-Inπ Reference alternative (not in catalog)
PIC16F871-E/SO
β Drop-Inπ Reference alternative (not in catalog)
PIC16F871-E/L Maximum Ratings & Electrical Characteristics
| Core Architecture | PIC16 (8-bit RISC, 14-bit instruction word) |
| Instruction Set Size | 35 single-word instructions |
| Maximum CPU Frequency | 20 MHz |
| Instruction Execution Time | 200 ns (at 20 MHz) |
| Flash Program Memory | 3.5 KB (2K x 14) |
| RAM Data Memory | 128 bytes |
| EEPROM Data Memory | 64 bytes |
| ADC | 10-bit, 8 channels |
| I/O Pins | 33 (maximum) |
| Timers | 3 (Timer0, Timer1, Timer2) |
| Capture/Compare/PWM | Yes (CCP module) |
| Communication | USART/SCI |
| Self-Programming | Yes (Flash boot block) |
| In-Circuit Debug | Yes (ICD) |
| Power-Saving Technology | nanoWatt Technology |
| Supply Voltage | 4 V to 5.5 V |
| Operating Temperature Range | -40 C to +125 C (Extended grade) |
| Package | 44-pin PLCC (J-Lead, 16.59 x 16.59 mm) |
| Mounting Type | Surface Mount (Socketable PLCC) |
| RoHS Status | Compliant |
PIC16F871-E/L Pin Configuration
| Pin 1 | MCLR/VPP β Master Clear (Reset) input / Programming voltage |
| Pin 2 | RA0/AN0 β PORTA bit 0 / Analog input 0 |
| Pin 3 | RA1/AN1 β PORTA bit 1 / Analog input 1 |
| Pin 4 | RA2/AN2 β PORTA bit 2 / Analog input 2 |
| Pin 5 | RA3/AN3/VREF+ β PORTA bit 3 / Analog input 3 / VREF+ |
| Pin 6 | RA4/T0CKI β PORTA bit 4 / Timer0 clock input |
| Pin 7 | RA5/AN4/SS β PORTA bit 5 / Analog input 4 / Slave Select |
| Pin 8 | RE0/RD/AN5 β PORTE bit 0 / Read control / Analog input 5 |
| Pin 9 | RE1/WR/AN6 β PORTE bit 1 / Write control / Analog input 6 |
| Pin 10 | RE2/CS/AN7 β PORTE bit 2 / Chip Select / Analog input 7 |
| Pin 11 | VDD β Positive supply voltage (+5V) |
| Pin 12 | VSS β Ground reference |
| Pin 13 | OSC1/CLKIN β Oscillator input / External clock input |
| Pin 14 | OSC2/CLKOUT β Oscillator 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 |
| Pin 17 | RC2/CCP1 β PORTC bit 2 / Capture/Compare/PWM 1 |
| 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 / USART clock |
| Pin 26 | RC7/RX/DT β PORTC bit 7 / USART RX / USART 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 reference |
| Pin 32 | VDD β Positive supply voltage (+5V) |
| Pin 33 | RB0/INT β PORTB bit 0 / External interrupt |
| Pin 34 | RB1 β PORTB bit 1 |
| Pin 35 | RB2 β PORTB bit 2 |
| Pin 36 | RB3/PGM β PORTB bit 3 / Low-voltage programming |
| Pin 37 | RB4 β PORTB bit 4 |
| Pin 38 | RB5 β PORTB bit 5 |
| Pin 39 | RB6/PGC β PORTB bit 6 / ICD clock / ICSP clock |
| Pin 40 | RB7/PGD β PORTB bit 7 / ICD data / 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-E/L is suitable for 6 applications: Industrial Sensor Interface & Data Acquisition, Building Automation & HVAC Control, Automotive Body Electronics, Security & Alarm Panel Controller, Battery Charger & Power Management, Low-Volume Industrial Serial Bridge.
Industrial Sensor Interface & Data Acquisition
The PIC16F871-E/L is well suited for industrial sensor-interface and data-acquisition nodes thanks to its 8-channel 10-bit ADC, USART, and Extended -40 C to +125 C temperature grade. The 8 ADC channels allow direct connection of up to 8 analog sensors (temperature, pressure, flow, level) to a single MCU, while the 20 MHz core runs the conversion-completion loop with deterministic 200 ns instruction timing for stable sampling rates. The USART supports RS-232/RS-485 networking for distributed industrial nodes back to a PLC. With 64 bytes of EEPROM available for calibration constants and 128 bytes RAM for buffering, the PIC16F871-E/L fits typical 4-20 mA loop sensor conditioner designs.
Recommended
Building Automation & HVAC Control
The PIC16F871-E/L serves as a cost-effective controller for building-automation and HVAC subsystems (fan speed, damper control, thermostat input, alarm I/O). Its nanoWatt Technology supports deep-sleep current below 1 uA, enabling battery-backed or energy-harvesting HVAC nodes that spend most of their life in sleep mode. The PWM module (CCP) drives TRIAC phase-angle control or DC fan motor speed via MOSFET gate signals, while the USART links to a central building-management system over RS-485. The 44-PLCC socketable package eases field service of installed units β a key requirement in commercial-building service contracts.
Recommended
Automotive Body Electronics
The PIC16F871-E/L is a fit for non-safety automotive body-electronics modules such as interior lighting, mirror control, seat positioner, HVAC blower, and accessory multiplexers, given its -40 C to +125 C Extended operating range and 5 V supply tolerance on 12 V automotive rails (post-regulation). The USART supports LIN-bus slave implementations for body-control networks, while the ADC reads multiplexed sensor inputs (potentiometers, switches). The Flash self-programming supports field firmware updates via OBD-II or service-tool routines, and the ICD simplifies bring-up of automotive prototypes. Note: this part is not AEC-Q100 qualified β for safety-critical or AEC-Q100 applications, select a PIC16/18 automotive-grade variant.
Recommended
Security & Alarm Panel Controller
Security and intrusion-alarm panels benefit from the PIC16F871-E/L's 33 I/O pins for zone-input scanning and siren/relay output driving, plus its 64-byte EEPROM for storing installer-configured zone maps. The 10-bit ADC supports analog-zone supervision (end-of-line resistor sensing, glass-break detector interfaces), and the USART links to a central monitoring station via dialer or IP gateway. Extended -40 C to +125 C operation suits unheated garages, basements, and outdoor panel installations. The ICD-enabled debug workflow accelerates firmware bring-up for new sensor protocols (Z-Wave, Zigbee bridges).
Recommended
Battery Charger & Power Management
The PIC16F871-E/L operates as the control MCU in small to mid-size battery chargers for cordless tools, e-bikes, robotics, and uninterruptible power supplies. Its ADC measures battery voltage, charge current (via shunt), and temperature (via NTC), while the PWM (CCP module) drives a buck or flyback converter's control loop. The Flash self-programming allows chemistry-specific charging profiles (Li-ion, NiMH, lead-acid) to be field-updated. With 64-byte EEPROM available for storing learned battery parameters, and -40 C to +125 C operation covering outdoor/automotive charging environments, the part is well matched to commercial charging systems up to several amps.
Recommended
Low-Volume Industrial Serial Bridge
The PIC16F871-E/L is widely used as a protocol-conversion serial bridge between legacy RS-232/RS-485 industrial equipment and modern USB or Ethernet hosts. The USART/SCI peripheral directly drives RS-232 level-shifters or RS-485 transceivers, while firmware implements Modbus RTU/ASCII master/slave, DF1, or custom protocols. With 3.5 KB Flash, the part can host multi-protocol stacks; 128 bytes RAM buffers short telegrams; 64 bytes EEPROM stores node address, baud rate, and parity configuration. The Extended temperature grade supports cabinet-free installations in factories, and the 44-PLCC socketed package allows field swap-out when protocols evolve.
Recommended
Recommended Products Summary
Engineering reference data for PIC16F871-E/L β comparison, design guidance, and compliance information.
Selection Guide
Comparison with Alternatives
| Parameter | This Product | PIC16F871-I/L | PIC16F871T-I/L | PIC16F871-E/P | PIC16F871-E/PT | PIC16F871-E/SO |
|---|---|---|---|---|---|---|
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Package | 44-PLCC (J-Lead) | 44-PLCC (J-Lead) - same | 44-PLCC (J-Lead) - same | 40-PDIP - different | 44-TQFP - different | 28-SOIC - different |
| Core | PIC16 8-bit RISC | PIC16 8-bit RISC | PIC16 8-bit RISC | PIC16 8-bit RISC | PIC16 8-bit RISC | PIC16 8-bit RISC |
| Max CPU Frequency | 20 MHz | 20 MHz | 20 MHz | 20 MHz | 20 MHz | 20 MHz |
| Flash Memory | 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 |
| EEPROM | 64 bytes | 64 bytes | 64 bytes | 64 bytes | 64 bytes | 64 bytes |
| Operating Temperature | -40 to +125 C (Extended) | -40 to +85 C (Industrial) | -40 to +85 C (Industrial) | -40 to +125 C (Extended) | -40 to +125 C (Extended) | -40 to +125 C (Extended) |
| Pin Count | 44 | 44 | 44 | 40 | 44 | 28 |
Key Differentiators
- Extended temperature grade (-40 to +125 C) in PLCC-44 socketable package (vs PIC16F871-I/L)
- On-chip ICD eliminates external emulator cost (vs Legacy PIC16C7X family (no Flash, no ICD))
- Self-programming Flash supports field firmware updates (vs OTP (one-time-programmable) PIC16C parts)
Design Notes
Estimated: At 20 MHz CPU clock and 5 V supply, the PIC16F871-E/L core current is approximately 11 mA typical. Adding ADC, USART, and I/O activity raises total to roughly 15 mA. Use a 100 nF decoupling capacitor within 5 mm of each VDD/VSS pair (pin 11/12 and pin 32/31), and a bulk 10 uF tantalum or ceramic at the regulator output. For battery-powered designs, leverage nanoWatt Technology sleep modes (Sleep current < 1 uA typical per datasheet) by gating peripheral clocks with PCON/PIE1 registers before issuing the SLEEP instruction.
Estimated: Place the 44-PLCC socket such that pin 1 indicator (chamfered corner or dot) is clearly marked on the silkscreen. Maintain a clearance ring of at least 2 mm around the socket for probe access during ICT. Route the crystal/oscillator traces (OSC1/OSC2) with ground-guard vias on both sides, trace length under 10 mm, and series resistor on OSC2 if using a high-frequency crystal (20 MHz fundamental). For in-circuit debug, bring out RB6/PGC and RB7/PGD to a 2x5 or 1x6 header with a 10 kohm pull-up on MCLR/VPP.
Critical: (1) Never leave MCLR floating β always tie through a 10 kohm pull-up to VDD, or to the ICSP programmer's high-voltage VPP during programming. (2) When using the ADC, set the corresponding TRIS bit to input and select analog mode in the ADCON1 register β leaving digital output mode loaded onto an analog pin yields spurious ADC readings. (3) The CCP1 and CCP2 pins double as PORTC functions; ensure the firmware disables unused CCP modules to release the pins for GPIO. (4) nanoWatt Technology is enabled via PCON/PIE1 register writes; merely entering Sleep without proper clock-switching leaves peripherals active and current consumption high.
Compliance Information
RoHS compliant per Microchip product page. NOT AEC-Q100 qualified - the -E temperature grade extends to +125 C but does not carry AEC-Q100 automotive certification. For AEC-Q100 designs, select a PIC16 or PIC18 automotive-grade variant. Halogen-free status not explicitly stated in provided web data - flagged as unknown.