PIC16F87-I/SO - 8-bit 20MHz 7KB Flash MCU | Microchip
MPN: PIC16F87-I/SO ✓ Active| Qty | Unit Price | Extended |
|---|---|---|
| 1 | $8.04 | $8.04 |
| 10 | $7.21 | $72.10 |
| 100 | $6.18 | $618.00 |
| 500 | $5.47 | $2,735.00 |
| 1,000 | $4.93 | $4,930.00 |
PIC16F87-I/SO Overview
A PIC microcontroller (Programmable Intelligent Computer) is a RISC-based 8-bit microcontroller widely used in embedded systems, where the PIC16 mid-range family sits in Microchip's product hierarchy: microcontroller -> MCU -> 8-bit MCU -> PIC16 -> PIC16F8x -> PIC16F87. The '16F' prefix denotes Flash program memory, and the nanoWatt technology label indicates ultra-low-power sleep modes that extend battery life in portable designs. The PIC16F87 architecture is upwards-compatible with the legacy PIC16C7x, PIC16C62xA, PIC16C5X, and PIC12Cxxx devices.
Key features include 35 single-word instructions, 8 MHz internal oscillator (selectable), 256 bytes EEPROM data memory, 2 timers (1 x 8-bit, 1 x 16-bit), an addressable USART for serial communication, and 16 I/O pins. The PIC16F87 operates from 4 V to 5.5 V and supports the industrial -40 °C to +85 °C temperature range typical of the 'I' grade designation.
Typical applications include advantage analog and integrated-level sensing in automotive, industrial, appliance, and consumer products. The device's on-chip comparators and PWM module support motor control, power-supply feedback, and sensor conditioning without external circuitry.
When designing with the PIC16F87-I/SO, reserve the analog comparator pins and USART pins early in the pinout allocation. The 18-pin SOIC footprint is well-suited for hand-prototyping and low-volume production, while the 'I' industrial temperature grade ensures operation across harsh environments.
This page synthesizes distributor pricing, same-brand drop-in alternatives (PIC16F87-I/P, PIC16F87-I/ML, PIC16F87-E/SO, PIC16F87-E/ML, PIC16F87T-I/SO), and practical design notes not collected in any single manufacturer datasheet.
Drop-in alternatives for PIC16F87-I/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 PIC16F87-I/SO (same form factor and footprint) — differing in Package, Internal Oscillator, Operating Temperature, Mounting Type, RoHS Status.
Quick Comparison Tool — Select alternative parts for side-by-side comparison:
PIC16F87-I/P
✅ Drop-In✓ In Stock
$3.78 / Unit
View Datasheet →PIC16F87-I/ML
✅ Drop-In✓ In Stock
$3.12 / Unit
View Datasheet →PIC16F87-E/SO
✅ Drop-In✓ In Stock
$3 / Unit
View Datasheet →PIC16F87-E/ML
✅ Drop-In✓ In Stock
$3.5 / Unit
View Datasheet →PIC16F87T-I/SO
✅ Drop-In✓ In Stock
$1.12 / Unit
View Datasheet →PIC16F87-I/SO Maximum Ratings & Electrical Characteristics
| Core Processor | PIC |
| Core Size | 8-bit |
| Maximum Clock Speed | 20 MHz |
| Instruction Cycle Time | 200 ns |
| Program Memory Size | 7 KB (4K x 14) Flash |
| RAM Size | 368 bytes |
| EEPROM Size | 256 bytes |
| Number of I/O Pins | 16 |
| Internal Oscillator | 8 MHz (selectable) |
| Supply Voltage Range | 4 V to 5.5 V |
| Timers | 1 x 8-bit, 1 x 16-bit |
| Communication Interfaces | Addressable USART |
| Peripherals | Brown-out Detect/Reset, POR, PWM, WDT |
| Number of Comparators | 2 |
| Operating Temperature Range | -40 °C to +85 °C (industrial, 'I' grade) |
| Mounting Type | Surface Mount |
| Package | 18-SOIC (0.295 in, 7.50 mm width) |
| Instruction Set | 35 single-word instructions |
| RoHS Status | Compliant (per Microchip product page) |
PIC16F87-I/SO Pin Configuration
| Pin 1 | MCLR/VPP — Master clear (reset) input / programming voltage |
| Pin 2 | RA0/AN0 — PORTA bit 0 / analog comparator CH1 input |
| Pin 3 | RA1/AN1 — PORTA bit 1 / analog comparator CH2 input |
| Pin 4 | RA2/AN2/CVREF — PORTA bit 2 / comparator voltage reference output |
| Pin 5 | RA3/AN3 — PORTA bit 3 / analog input |
| Pin 6 | RA4/T0CKI — PORTA bit 4 / Timer0 clock input |
| Pin 7 | RA5/SS/AN4 — PORTA bit 5 / slave select / analog input |
| Pin 8 | OSC1/CLKIN — Crystal oscillator input / external clock input |
| Pin 9 | OSC2/CLKOUT — Crystal oscillator output / clock output |
| Pin 10 | RC0/T1OSO — PORTC bit 0 / Timer1 oscillator output |
| Pin 11 | RC1/T1OSI/CCP2 — PORTC bit 1 / Timer1 oscillator input / CCP2 PWM |
| Pin 12 | RC2/CCP1 — PORTC bit 2 / CCP1 PWM output |
| Pin 13 | RC3 — PORTC bit 3 |
| Pin 14 | RC4 — PORTC bit 4 |
| Pin 15 | RC5 — PORTC bit 5 |
| Pin 16 | RC6/TX/CK — PORTC bit 6 / USART transmit / clock line |
| Pin 17 | RC7/RX/DT — PORTC bit 7 / USART receive / data line |
| Pin 18 | VSS — Ground reference |
Typical Applications
PIC16F87-I/SO is suitable for 6 applications: Industrial Sensor Node, Automotive Body Control Module, Appliance Control Board (White Goods), Consumer Remote Control / HMI, Power Supply Secondary-Side Monitor, Educational MCU Development Platform.
Industrial Sensor Node
The PIC16F87-I/SO fits industrial 4-20 mA sensor nodes because its 4-5.5 V supply aligns directly with the 5 V regulator rails typical of PLC analog input modules, and its 16 I/O pins are enough to drive an HMI display, RS-485 link, and status LEDs simultaneously. The 8 MHz internal oscillator eliminates the external crystal in cost-sensitive variants. Two on-chip analog comparators are sufficient for threshold detection on a single sensor channel; for multi-channel designs the PIC16F87T-I/SO is a drop-in alternative. Microchip's PIC16F87 datasheet (DS30487) reference design uses the USART in addressable mode to support multi-drop 9-bit sensor addressing on a shared RS-485 bus, reducing wiring cost in field installations.
Recommended
Automotive Body Control Module
The PIC16F87-I/SO suits automotive body-control subsystems such as mirror adjusters, seat controllers, and interior lighting because its PWM module can drive LEDs and small motors directly while the addressable USART communicates with the body controller over LIN-style protocols. Industrial temperature grade (-40C to +85C) handles most cabin environments; for under-hood applications the PIC16F87-E/SO (-40C to +125C) is a drop-in. The 7 KB Flash is large enough for CAN/LIN stack fragments and PWM scheduling, and 256 bytes EEPROM stores trim settings per vehicle. Designers reference Microchip application note AN247 for PWM-driven automotive lighting using this MCU.
Recommended
Appliance Control Board (White Goods)
The PIC16F87-I/SO is well-matched to washing-machine, dishwasher, and refrigerator controllers because it offers 16 I/O pins to scan keypads, drive 7-segment displays, and switch relays, while two analog comparators monitor motor current and door-latch switches. Its nanoWatt sleep mode drops quiescent current to a few microamps, helping meet Energy Star standby budgets. The PIC16F87-I/ML (QFN-28) variant offers the same firmware for slimmer form-factor control boards. The PIC16F87 datasheet family document includes reference schematics for triac-driven loads using the on-chip PWM and zero-cross detect pattern.
Recommended
Consumer Remote Control / HMI
For IR remote controls, thermostats, and small HMI panels, the PIC16F87-I/SO provides the right balance of Flash (7 KB) for state machines and the PWM output for IR carrier generation at 38 kHz or 56 kHz. Its 4-5.5 V supply is compatible with 3xAA battery packs or USB-powered wall adapters. Brown-out reset and watchdog timer features ensure reliable operation across battery-voltage droop. Designers commonly migrate from PIC16F84A to PIC16F87 for more RAM and EEPROM at the same cost point. Reference firmware patterns are documented in Microchip application note AN234.
Recommended
Power Supply Secondary-Side Monitor
In AC-DC and DC-DC converters the PIC16F87-I/SO acts as a secondary-side monitor for voltage, current, and temperature using its two analog comparators tied to sense resistors and a thermistor. The addressable USART reports telemetry to a primary-side controller over an optocoupler. At 5 V operation the part can be powered directly from a 5 V standby rail. Compared to a dedicated monitor ASIC, the PIC16F87 offers programmable thresholds and field-upgradeable firmware. Microchip datasheet DS30487 Section 12 walks the comparator and PWM configuration for SMPS supervisory loops.
Recommended
Educational MCU Development Platform
The PIC16F87-I/SO is widely used in university embedded-systems courses because its 18-SOIC package is breadboard-friendly with an SOIC-to-DIP adapter, and the 35-instruction PIC16 ISA is small enough for students to master in one semester. The PICkit 3/4 programmer and MPLAB X IDE provide a free toolchain, and the PIC16F87-I/P PDIP variant is the same die for through-hole labs. Reference projects include PWM motor speed control, USART-based serial terminals, and interrupt-driven keypad scanning, all documented in the Microchip PIC16F87 datasheet family application notes.
Recommended
Recommended Products Summary
Engineering reference data for PIC16F87-I/SO — comparison, design guidance, and compliance information.
Selection Guide
Comparison with Alternatives
| Parameter | This Product | PIC16F87-I/P | PIC16F87-I/ML | PIC16F87-E/SO | PIC16F87-E/ML | PIC16F87T-I/SO |
|---|---|---|---|---|---|---|
| Package | 18-SOIC | PDIP-18 | QFN-28 (ML) | 18-SOIC (same) | QFN-28 (ML) | 18-SOIC (same, T&R) |
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Program Memory | 7 KB Flash | 7 KB Flash | 7 KB Flash | 7 KB Flash | 7 KB Flash | 7 KB Flash |
| RAM | 368 bytes | 368 bytes | 368 bytes | 368 bytes | 368 bytes | 368 bytes |
| EEPROM | 256 bytes | 256 bytes | 256 bytes | 256 bytes | 256 bytes | 256 bytes |
| Max Clock Speed | 20 MHz | 20 MHz | 20 MHz | 20 MHz | 20 MHz | 20 MHz |
| Operating Temperature | -40C to +85C (industrial) | -40C to +85C | -40C to +85C | -40C to +125C (extended) | -40C to +125C (extended) | -40C to +85C |
| I/O Pins | 16 | 16 | 22 (QFN-28 with extras) | 16 | 22 | 16 |
Key Differentiators
- On-chip analog comparators without ADC overhead (vs PIC16F88-I/SO)
- Industrial temperature grade for harsh environments (vs PIC16F84A-20I/SO)
- Flexible packaging variants for any PCB style (vs PIC16F87-I/P (PDIP-18))
- Extended temperature option for automotive/under-hood (vs PIC16F87-E/SO)
Design Notes
The PIC16F87-I/SO requires a 4-5.5 V supply; operation below 4 V is not guaranteed. Place a 100 nF decoupling capacitor within 5 mm of VDD pin 14, and add a bulk 10 uF electrolytic or tantalum near the chip if switching loads share the same rail. For battery-powered designs, leverage nanoWatt sleep modes to drop quiescent current below 1 uA when the USART and PWM are idle.
Do not confuse the PIC16F87 (no ADC) with the PIC16F88 (10-bit ADC). Confirm the datasheet heading before ordering. Also note that the MCLR pin (1) must not be left floating - tie it to VDD through a 10 kohm resistor or directly to VDD if not using external reset. For in-circuit serial programming (ICSP), MCLR is pulled high to VPP (~13V) by the programmer; adding a diode or capacitor on MCLR is a common source of programming failures.
Place the crystal or resonator within 5 mm of pins 8 (OSC1) and 9 (OSC2). Keep high-current switching traces (relay drivers, PWM motor outputs on RC1/RC2) away from the oscillator pins to prevent injection of noise. If using the internal 8 MHz oscillator, leave OSC1/OSC2 as standard GPIO and skip the external crystal entirely to save BOM cost. Add a ground pour under the IC for thermal dissipation (low power but good practice).
The USART lines on RC6/TX and RC7/RX should be routed as a short matched pair if running above 115200 baud. Add a series resistor (22-100 ohm) near the MCU pin to dampen reflections on longer cable runs. The analog comparator inputs (RA0, RA1) should be guarded by a ground ring if the board has noisy digital traces, since the comparators have no internal hysteresis by default.
Compliance Information
RoHS compliant per Microchip product page. Not AEC-Q100 qualified as standard; extended-temperature E grade available for harsh environments but automotive formal qualification is not stated. Halogen-free per Microchip environmental policy.