PIC16F876-20I/SO - 8-bit 20MHz 14KB Flash MCU | Microchip
MPN: PIC16F876-20I/SO ⚠ Last Time Buy| Qty | Unit Price | Extended |
|---|---|---|
| 1 | $13.19 | $13.19 |
| 10 | $11.87 | $118.70 |
| 100 | $9.78 | $978.00 |
| 500 | $8.42 | $4,210.00 |
| 1,000 | $7.16 | $7,160.00 |
PIC16F876-20I/SO Overview
A PIC16F 8-bit RISC microcontroller is a Harvard-architecture MCU with separate program and data buses, executing one instruction per cycle (except branches) from a compact RISC instruction set. The PIC16 family is positioned under Microchip's higher-end PIC18 and PIC24 families in the 8-bit MCU taxonomy and remains popular for cost-sensitive embedded control due to its low part price, broad tool support, and the MPLAB X IDE + XC8 compiler ecosystem. The 14KB Flash on the PIC16F876 is self-programmable under firmware control, enabling bootloader-style field updates.
Key features of the PIC16F876 include the high-performance RISC CPU with only 35 single-word instructions, a 14-bit instruction word, an 8-level deep hardware stack, DC to 20MHz clock input, 22 digital I/O pins multiplexed with peripheral functions, power-managed sleep mode with multiple wake sources, and programmable code protection. The industrial grade -I suffix guarantees operation from -40C to +85C, while the SO package is JEDEC SO-7.50mm wide body.
Architecturally the part uses a 14-bit wide Flash program store, an 8-bit data path, and a dual-oscillator option (XT/HS/RC/LP) plus a power-up timer and oscillator start-up timer that simplify board bring-up. The five 10-bit ADC channels are multiplexed onto shared analog input pins with software-selectable acquisition time, and the two CCP modules can operate in PWM, Capture or Compare modes for motor control or measurement timing.
Typical applications include industrial sensor interfaces, motor control (small DC and stepper drives), consumer appliances, automotive body electronics sub-modules, battery chargers, and small-scale data acquisition front-ends. The wide SOIC footprint and industrial temperature range also suit HVAC controllers and security panel designs.
When designing with the PIC16F876-20I/SO, note that Microchip recommends migrating to the PIC16F886 for new designs since the PIC16F876 is in long-term support. Use a 100nF decoupling capacitor adjacent to each VDD/VSS pair, configure the MCLR pin with the recommended external reset network, and reserve the ICD pins (RB6/RB7) for debug access during development.
This page synthesizes distributor pricing, drop-in same-package alternatives, and engineering design notes not found on the manufacturer datasheet alone, giving procurement and design teams a single reference for both sourcing and migration decisions.
Drop-in alternatives for PIC16F876-20I/SO — 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 PIC16F876-20I/SO (same form factor and footprint) — differing in ADC, Package, Core Architecture, Operating Temperature, Timers.
Quick Comparison Tool — Select alternative parts for side-by-side comparison:
PIC16F876A-I/SO
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F876-20/SP
✅ Drop-In✓ In Stock
$7.1 / Unit
View Datasheet →PIC16F873A-I/SO
✅ Drop-In✓ In Stock
$2.65 / Unit
View Datasheet →PIC16F874A-I/SO
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F876-04I/SO
✅ Drop-In✓ In Stock
$5.05 / Unit
View Datasheet →PIC16F876-20I/SO Maximum Ratings & Electrical Characteristics
| Core Architecture | PIC16 8-bit RISC (Harvard) |
| Program Memory | 14 KB Flash |
| RAM | 368 bytes |
| EEPROM | 256 bytes |
| Maximum CPU Frequency | 20 MHz |
| Instruction Cycle | 200 ns |
| Instruction Set Size | 35 single-word instructions |
| I/O Pins | 22 |
| ADC | 5 channels, 10-bit |
| Timers | 2 x 8-bit + 1 x 16-bit |
| CCP Modules | 2 (Capture/Compare/PWM) |
| Serial Interfaces | MSSP (SPI / I2C), USART |
| Package | 28-pin SOIC (SO, 7.50 mm body) |
| Operating Temperature | -40 C to +85 C (industrial) |
| Operating Voltage | 2.0 V to 5.5 V |
| Mounting Type | Surface Mount |
| MSL Level | 1 |
| Lead-Free / RoHS | Yes / Compliant |
PIC16F876-20I/SO Pin Configuration
| Pin 1 | MCLR/VPP — Master Clear (Reset) input / Programming voltage |
| Pin 2 | RA0/AN0 — Port A bit 0 / Analog input 0 |
| Pin 3 | RA1/AN1 — Port A bit 1 / Analog input 1 |
| Pin 4 | RA2/AN2 — Port A bit 2 / Analog input 2 |
| Pin 5 | RA3/AN3/VREF+ — Port A bit 3 / Analog input 3 / ADC VREF+ |
| Pin 6 | RA4/T0CKI — Port A bit 4 / Timer0 clock input |
| Pin 7 | RA5/AN4/SS — Port A bit 5 / Analog input 4 / SPI Slave Select |
| Pin 8 | OSC2/CLKOUT — Oscillator output / Clock out |
| Pin 9 | OSC1/CLKIN — Oscillator input / Clock in |
| Pin 10 | RC0/T1OSO/T1CKI — Port C bit 0 / Timer1 oscillator output / Timer1 clock |
| Pin 11 | RC1/T1OSI/CCP2 — Port C bit 1 / Timer1 oscillator input / CCP2 |
| Pin 12 | RC2/CCP1 — Port C bit 2 / CCP1 (PWM) |
| Pin 13 | RC3/SCK/SCL — Port C bit 3 / SPI clock / I2C clock |
| Pin 14 | RC4/SDI/SDA — Port C bit 4 / SPI data in / I2C data |
| Pin 15 | RC5/SDO — Port C bit 5 / SPI data out |
| Pin 16 | RC6/TX/CK — Port C bit 6 / USART TX / USART clock |
| Pin 17 | RC7/RX/DT — Port C bit 7 / USART RX / USART data |
| Pin 18 | VSS — Ground |
| Pin 19 | VDD — Positive supply |
| Pin 20 | RB0/INT — Port B bit 0 / External interrupt |
| Pin 21 | RB1 — Port B bit 1 |
| Pin 22 | RB2 — Port B bit 2 |
| Pin 23 | RB3/PGM — Port B bit 3 / Low-voltage programming |
| Pin 24 | RB4 — Port B bit 4 |
| Pin 25 | RB5 — Port B bit 5 |
| Pin 26 | RB6/PGC — Port B bit 6 / ICSP clock (ICD) |
| Pin 27 | RB7/PGD — Port B bit 7 / ICSP data (ICD) |
| Pin 28 | VSS — Ground |
Typical Applications
PIC16F876-20I/SO is suitable for 7 applications: Industrial Sensor Interface Module, Small DC Motor and Stepper Control, HVAC and Building Automation Controller, Consumer Appliance Control Board, Battery Charger and Power Management, Security Panel and Access Control Node, Small Data Acquisition Front-End.
Industrial Sensor Interface Module
The PIC16F876-20I/SO is well-suited for industrial sensor interfaces where the 5-channel 10-bit ADC, MSSP for SPI/I2C sensors, and industrial -40C to +85C temperature range align directly with factory-floor requirements. The 14KB Flash accommodates state-machine sensor processing and MODBUS-RTU or HART stack fragments without an external EEPROM; the 368-byte RAM is ample for averaging buffers. Designers place the SOIC-28 part on a wide PCB with a 4-20mA loop transmitter, use the 22 I/O lines to scan digital switches, and rely on the USART to drive RS-485 transceivers. Compared with 32-bit Cortex-M0 alternatives, this part reduces BOM cost and power consumption for sub-1kHz deterministic sampling loops.
Recommended
Small DC Motor and Stepper Control
The PIC16F876-20I/SO drives small brushed DC motors or unipolar/bipolar stepper motors through its two Capture/Compare/PWM (CCP) modules, each capable of 10-bit PWM at up to ~20 kHz, well above audible noise. The 16-bit timer sets the PWM base, while the 8-bit timers handle commutator timing and stall detection via ADC sampling. The 5 ADC channels monitor motor current (via shunt amplifier), back-EMF, and supply voltage, allowing software current limiting and soft-start without external analog controllers. For stepper control, the 22 I/O lines drive two full H-bridges (e.g. L293D), and the 200ns instruction cycle allows precise microstepping waveforms. Industrial temperature grade makes the part usable in uncooled motor enclosures.
Recommended
HVAC and Building Automation Controller
The PIC16F876-20I/SO is widely used in HVAC thermostats, fan-coil controllers, and small building-automation nodes where its industrial temperature range, USART for BACnet MS/TP or Modbus RTU links, and 10-bit ADC for thermistor/resistive temperature sensors provide direct fit. The 14KB Flash holds modest HVAC state machines, while 368 bytes of RAM support 1-2 sensor-filter pipelines. The 5 ADC channels map easily to indoor/outdoor temperature, humidity (via discrete sensor), setpoint potentiometer, and supply rail sense. With EEPROM emulation, daily setpoint schedules persist across power cycles. The wide SOIC package is convenient for hand-prototyping and rework during commissioning.
Recommended
Consumer Appliance Control Board
The PIC16F876-20I/SO serves as the main controller in white-goods appliances such as coffee machines, dishwashers, and small kitchen appliances where the 22 I/O lines drive relays, triac firing circuits, LEDs, and read keypad/encoder inputs. The 14KB Flash holds firmware state machines for brew cycles, rinse cycles, or cooking profiles, while 256 bytes of EEPROM store user preferences. The USART links to a UI display board or to factory test fixtures, and the 5 ADC channels monitor temperature, water level, and motor current. The SOIC package is widely accepted by appliance EMS lines that use lead-free reflow profiles and aqueous cleaning.
Recommended
Battery Charger and Power Management
The PIC16F876-20I/SO is a cost-effective supervisor for NiCd/NiMH/Li-ion charger designs, where its 5 ADC channels sample battery voltage, charge current, cell temperature, and supply voltage, and the two PWM channels drive a buck or buck-boost converter. The 14KB Flash implements CC-CV charge profiles, capacity tracking, and safety timers, while 368 bytes of RAM support coulomb-counting state. The MSSP drives an I2C display or SMBus smart-battery interface. Industrial temperature grade lets the part sit near the battery pack, while the wide SOIC package simplifies thermal layout for moderate PWM switching frequencies.
Recommended
Security Panel and Access Control Node
The PIC16F876-20I/SO is well-matched to security alarm zones, keypad readers, and Wiegand-interface access panels where the 22 I/O lines scan 8-16 zones with EOL resistors, drive piezo sirens and relay outputs, and read keypad matrix inputs. The 14KB Flash holds event logs and PIN-code databases in EEPROM, while the MSSP drives an I2C RTC for time-stamping. The USART links to central station modems or to a keypad/display satellite. The -I temperature grade permits indoor equipment-room installations and unheated closets. Compared with newer Cortex-M0 parts, the PIC16F876's deterministic 200ns instruction cycle simplifies interrupt-driven scanner firmware.
Recommended
Small Data Acquisition Front-End
The PIC16F876-20I/SO works as a low-channel-count data acquisition front-end for laboratory or test-and-measurement applications where the 5-channel 10-bit ADC at ~50 ksps and 368-byte RAM buffer are matched to slow analog signals. The MSSP drives an SPI ADC front-end or an I2C display, while the USART streams captured data to a host PC at up to 115.2 kbps. The 14KB Flash holds calibration constants and command parser. Industrial temperature grade suits instrument enclosures, and the SOIC package simplifies board rework during design verification cycles.
Recommended
Recommended Products Summary
Engineering reference data for PIC16F876-20I/SO — comparison, design guidance, and compliance information.
Selection Guide
Comparison with Alternatives
| Parameter | This Product | PIC16F876A-I/SO | PIC16F876-20/SP | PIC16F873A-I/SO | PIC16F874A-I/SO | PIC16F876-04I/SO |
|---|---|---|---|---|---|---|
| Package | 28-pin SOIC (SO, 7.50 mm) | 28-pin SOIC (SO, 7.50 mm) - same | 28-pin SPDIP (SP) - same die, different package | 28-pin SOIC (SO, 7.50 mm) - same | 28-pin SOIC (SO, 7.50 mm) - same | 28-pin SOIC (SO, 7.50 mm) - same |
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Program Memory (Flash) | 14 KB | 14 KB | 14 KB | 7 KB (-50%) | 7 KB (-50%) | 14 KB |
| Maximum CPU Frequency | 20 MHz | 20 MHz | 20 MHz | 20 MHz | 20 MHz | 4 MHz (-80%) |
| RAM | 368 bytes | 368 bytes | 368 bytes | 192 bytes (-48%) | 256 bytes (-30%) | 368 bytes |
| EEPROM | 256 bytes | 256 bytes | 256 bytes | 128 bytes | 256 bytes | 256 bytes |
| ADC Channels | 5 x 10-bit | 5 x 10-bit | 5 x 10-bit | 5 x 10-bit | 8 x 10-bit | 5 x 10-bit |
| I/O Pins | 22 | 22 | 22 | 22 | 33 | 22 |
| Operating Temperature | -40 C to +85 C (industrial) | -40 C to +85 C | 0 C to +70 C (commercial) | -40 C to +85 C | -40 C to +85 C | -40 C to +85 C |
| Lifecycle Status | Last-Time-Buy | Active | Last-Time-Buy | Active | Active | Last-Time-Buy |
Key Differentiators
- Long-established PIC16 mid-range ecosystem with abundant example code and tools (vs PIC16F876-04I/SO)
- Industrial -40 C to +85 C temperature range in same SOIC package (vs PIC16F876-20/SP)
- Full 14KB Flash / 368 RAM in 28-pin SOIC (vs PIC16F873A-I/SO)
Design Notes
Decoupling: place a 100 nF ceramic capacitor adjacent to each VDD/VSS pair (pins 19/18 and 28) and a bulk 10 uF tantalum or ceramic at the regulator output. The PIC16F876's analog reference (pin 5/RA3 VREF+) should be filtered with a 10 uF + 100 nF pair if used as ADC reference. Power-up ramp must be monotonic; the internal Power-up Timer (PWRT) and Oscillator Start-up Timer (OST) provide ~72 ms and ~1024 oscillator cycle delays respectively that suppress brown-out faults.
MCLR pin (pin 1) MUST be tied to VDD through a 10 kohm pull-up if not used, OR driven by an open-drain reset supervisor. Floating MCLR causes erratic resets and undefined code execution. Additionally, when using ICSP/ICD, pins RB6/PGC and RB7/PGD must have no low-impedance loads during programming - some designs require series resistors or buffers. The PIC16F876's 5 ADC channels share pins with Port A; if analog inputs are used, configure the corresponding TRIS bit as input and disable digital input buffers via ADCON1.
The PIC16F876-20I/SO in 28-pin SOIC dissipates negligible power in normal operation (~10 mW at 20 MHz/5 V), well within the -40 C to +85 C industrial range without a heatsink. Worst-case thermal rise is <5 C even with all 22 I/O pins sourcing 25 mA simultaneously, but derate total port source current to 200 mA per the datasheet absolute maximum. Inducted loads on port pins (relays, solenoids) require flyback diodes; clamping to VDD can inject latch-up spikes.
Place the 28-pin SOIC on a 0.05 inch pitch (1.27 mm) wide SO land pattern with a thermal pad NOT used (the SOIC-28 has no exposed pad). Keep the oscillator traces short and guarded with a ground pour; route the MCLR trace away from the crystal to avoid capacitive coupling. The 5 ADC traces should be length-matched and surrounded by ground if sampling at >10 ksps to avoid digital cross-talk. Use a 4-layer stack-up with continuous ground plane for production-grade noise performance.
Compliance Information
Per Microchip product page and QS-9000 historical certification, RoHS/lead-free compliant. Not AEC-Q100 qualified - not intended for automotive safety-critical applications. For automotive, select PIC16F876A-E/SO or PIC16F886 variants.