PIC16F87-I/P - 8-bit 20MHz 7KB Flash MCU 18-PDIP | Microchip
MPN: PIC16F87-I/P ✓ Active| Qty | Unit Price | Extended |
|---|---|---|
| 1 | $6.1 | $6.10 |
| 10 | $5.45 | $54.50 |
| 100 | $4.65 | $465.00 |
| 500 | $4.12 | $2,060.00 |
| 1,000 | $3.78 | $3,780.00 |
PIC16F87-I/P Overview
What is a PIC16 mid-range microcontroller? The PIC16F family belongs to Microchip's mid-range 8-bit RISC microcontroller family, sitting between the baseline PIC10/12/16/17 devices and the enhanced PIC18 family. It executes 35 single-word instructions with a Harvard RISC architecture, providing deterministic 200 ns per instruction at 20 MHz, and is widely used in cost-sensitive embedded designs that need reliable Flash programmability, robust peripheral integration, and a broad third-party tool ecosystem. Within the broader taxonomy, PIC16 belongs to microcontroller -> 8-bit MCU -> embedded controller -> semiconductor.
Key features include 8 MHz internal RC oscillator (no external crystal required for cost-sensitive designs), wide 2.0–5.5 V supply range (true nanoWatt technology for battery applications), 10-bit ADC with up to 8 channels, in-circuit serial programming (ICSP) capability, and ICD debugging support. Brown-out Reset (BOR), Power-on Reset (POR), and Watchdog Timer (WDT) with on-chip RC oscillator enhance system reliability in industrial environments. The 18-PDIP package (-I/P suffix = industrial temperature grade, 300 mil PDIP) provides through-hole mounting for prototyping, education, and legacy designs.
Technical depth: the PIC16F87 uses Harvard architecture with separate program and data buses, allowing simultaneous instruction fetch and data access. The 14-bit instruction word enables direct byte and bit manipulation in a single cycle. The integrated nanoWatt features include multiple idle modes, sleep current as low as typical values, and a programmable weak pull-up on Port B for keypad and switch matrix applications.
Typical applications include automotive body and interior modules, industrial sensor interfaces, white goods and home appliances, HVAC control boards, motor control loops using CCP PWM, and consumer remote controls. The Addressable USART simplifies RS-232/RS-485 point-to-point and multi-drop communication for supervisory control networks.
Design consideration: when migrating from PIC16F87 to PIC16F88, designers gain an additional 2 KB of Flash and 2 comparators with selectable references, but pinout remains compatible. Always reserve the MCLR pin for ICSP programming and avoid sharing it with active circuitry.
This page synthesizes distributor pricing, drop-in package-compatible alternatives, AEO-optimized FAQ, and practical design notes not found in the manufacturer datasheet, helping engineers select the right PIC16 mid-range MCU for production.
Drop-in alternatives for PIC16F87-I/P — 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/P (same form factor and footprint) — differing in RoHS Status, Internal Oscillator, Package, Mounting Type, EEPROM Size.
Quick Comparison Tool — Select alternative parts for side-by-side comparison:
PIC16F88-I/P
✅ Drop-In✓ In Stock
$2.61 / Unit
View Datasheet →PIC16F87-E/P
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F88-E/P
✅ Drop-In✓ In Stock
$2.69 / Unit
View Datasheet →PIC16LF87-I/P
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F87-I/P Maximum Ratings & Electrical Characteristics
| Core Processor | PIC |
| Core Size | 8-Bit |
| Maximum Clock Speed | 20 MHz |
| Instruction Cycle | 200 ns |
| Program Memory Type | Flash |
| Program Memory Size | 7 KB (4K × 14 words) |
| RAM Size | 368 bytes |
| EEPROM Size | 256 bytes |
| I/O Pins | 16 |
| Supply Voltage | 2.0 V to 5.5 V (4 V to 5.5 V for full 20 MHz spec) |
| Operating Temperature | -40 °C to +85 °C (industrial, -I suffix) |
| ADC | 10-bit, up to 8 channels |
| Communication Interfaces | I²C, SPI, Addressable USART (AUSART) |
| Timers/PWM | 1× CCP, 2× 8-bit Timer, 1× 16-bit Timer, WDT |
| Comparators | 2 analog comparators |
| Internal Oscillator | 8 MHz (factory calibrated) |
| Package | 18-PDIP (0.300", 7.62 mm, through-hole) |
| Mounting Type | Through-Hole |
| MSL Level | 1 (unlimited floor life, through-hole) |
| RoHS Status | Compliant (lead-free PDIP) |
| Programming/Debug | ICSP + ICD 2 support |
| Brown-out Reset | Yes |
| Power-on Reset | Yes |
| Low-Power Modes | nanoWatt (Sleep, Idle, multiple clock modes) |
PIC16F87-I/P Pin Configuration
| Pin 1 | RA2/AN2/VREF-/CVREF — PORTA bit 2 / Analog input 2 / DAC negative reference / comparator voltage reference output |
| Pin 2 | RA3/AN3/VREF+ — PORTA bit 3 / Analog input 3 / ADC positive voltage reference |
| Pin 3 | RA4/T0CKI/C1OUT — PORTA bit 4 / Timer0 clock input / Comparator 1 output |
| Pin 4 | RA5/AN4/SS/C2OUT — PORTA bit 5 / Analog input 4 / SPI slave select / Comparator 2 output |
| Pin 5 | VSS — Ground reference (0 V) |
| Pin 6 | RB0/INT — PORTB bit 0 / External interrupt input |
| Pin 7 | RB1 — PORTB bit 1 (digital I/O) |
| Pin 8 | RB2 — PORTB bit 2 (digital I/O) |
| Pin 9 | RB3/PGM — PORTB bit 3 / Low-voltage programming input |
| Pin 10 | RB4 — PORTB bit 4 (interrupt-on-change) |
| Pin 11 | RB5 — PORTB bit 5 (interrupt-on-change) |
| Pin 12 | RB6/PGC — PORTB bit 6 / In-circuit debugger clock |
| Pin 13 | RB7/PGD — PORTB bit 7 / In-circuit debugger data |
| Pin 14 | VDD — Positive supply voltage (2.0 V to 5.5 V) |
| Pin 15 | RC6/TX/CK — PORTC bit 6 / USART asynchronous transmit / USART synchronous clock |
| Pin 16 | RC7/RX/DT — PORTC bit 7 / USART asynchronous receive / USART synchronous data |
| Pin 17 | RA0/AN0 — PORTA bit 0 / Analog input 0 / oscillator input |
| Pin 18 | RA1/AN1 — PORTA bit 1 / Analog input 1 / oscillator output |
Typical Applications
PIC16F87-I/P is suitable for 6 applications: Industrial Sensor Interface Module, Automotive Interior Lighting Controller, HVAC Thermostat Control Board, White Goods and Home Appliance Control, Consumer Remote Control and IR Transceiver, Educational Development Platform.
Industrial Sensor Interface Module
The PIC16F87-I/P's 16 digital I/O lines, 10-bit ADC with up to 8 analog channels, and I²C/SPI interfaces make it ideal for industrial 4-20 mA and 0-10 V sensor conditioning modules. The integrated AUSART handles RS-485 multi-drop polling for distributed sensor networks. With 368 bytes of RAM and 7 KB Flash, the MCU can run Modbus RTU slave firmware plus local linearization routines. The industrial -40 to +85 °C temperature grade and 5 V supply tolerance match factory floor requirements. The 18-PDIP package simplifies through-hole assembly for low-volume industrial SKUs. Pair with a MAX485 RS-485 transceiver and external op-amp signal conditioning.
Recommended
Automotive Interior Lighting Controller
The PIC16F87-I/P suits automotive interior LED lighting and dome lamp modules where cost-sensitive designs need PWM dimming and reliable communication. The CCP module provides hardware PWM for LED brightness control, while the AUSART interfaces with the body control module via LIN or UART. The internal 8 MHz oscillator eliminates external crystal cost. nanoWatt sleep modes drop quiescent current to microamp levels during vehicle off-state, preserving battery life. For AEC-Q100 qualified automotive variants, designers select the PIC16F87T-I/SO extended temperature version. The Addressable USART supports LIN-bus slave implementations through bit-banging or hardware framing.
Recommended
HVAC Thermostat Control Board
The PIC16F87-I/P's two analog comparators enable thermostat set-point detection and temperature sensor interfacing without external op-amps. The 10-bit ADC provides 0.5 °C resolution when paired with an NTC thermistor, sufficient for residential HVAC set-point accuracy. The CCP module drives TRIAC phase-angle control for heater elements, while the AUSART enables Modbus or BACnet connectivity to building automation systems. nanoWatt power-managed modes reduce standby power below 1 mA, meeting Energy Star thermostat requirements. The 256-byte EEPROM stores user schedules and calibration data across power cycles without battery backup.
Recommended
White Goods and Home Appliance Control
The PIC16F87-I/P delivers the reliability and cost balance needed for washing machine, dishwasher, and refrigerator control boards. The 7 KB Flash accommodates state-machine firmware for motor sequencing, water level sensing, and door interlock logic. The MSSP peripheral interfaces with LED display drivers or character LCDs for user interface, while the comparators detect water level and motor over-current conditions. The -40 to +85 °C industrial temperature grade handles appliance under-cabinet thermal environments. Brown-out Reset and Watchdog Timer ensure recovery from supply brownouts common in motor-driven appliances.
Recommended
Consumer Remote Control and IR Transceiver
The PIC16F87-I/P's low power consumption and integrated CCP/USART peripherals make it ideal for IR remote controls and short-range RF receivers. The CCP module generates 38 kHz carrier modulation for IR transmission, while the AUSART handles RF module UART interfaces. nanoWatt sleep modes extend battery life to multi-year levels on a single coin cell. The 7 KB Flash stores learned IR codes for universal remote applications. The internal 8 MHz oscillator eliminates crystal cost in cost-sensitive consumer SKUs.
Recommended
Educational Development Platform
The PIC16F87-I/P's 18-PDIP through-hole package is the de facto standard for university microcontroller courses and hobbyist learning kits. The DIP form factor fits breadboards and 28-pin PIC training boards. The PIC16 mid-range instruction set with 35 single-word instructions provides an accessible learning curve while teaching RISC architecture fundamentals. MPLAB X IDE and PICkit 4 offer free toolchains with extensive tutorial resources. The on-chip peripherals (ADC, USART, MSSP, CCP) provide hands-on exposure to embedded systems concepts without requiring external components. Industrial temperature grade ensures classroom lab reliability.
Recommended
Recommended Products Summary
Engineering reference data for PIC16F87-I/P — comparison, design guidance, and compliance information.
Selection Guide
Comparison with Alternatives
| Parameter | This Product | PIC16F88-I/P | PIC16F87-E/P | PIC16F88-E/P | PIC16LF87-I/P | PIC16F87-I/SO |
|---|---|---|---|---|---|---|
| Package | 18-PDIP | 18-PDIP - same | 18-PDIP - same | 18-PDIP - same | 18-PDIP - same | 18-SOIC (different) |
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Core / Speed | 8-bit PIC / 20 MHz | 8-bit PIC / 20 MHz | 8-bit PIC / 20 MHz | 8-bit PIC / 20 MHz | 8-bit PIC / 10 MHz | 8-bit PIC / 20 MHz |
| Flash Memory | 7 KB (4K × 14) | 8 KB (4K × 14) | 7 KB (4K × 14) | 8 KB (4K × 14) | 7 KB (4K × 14) | 7 KB (4K × 14) |
| 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 |
| Supply Voltage | 2.0 V to 5.5 V | 2.0 V to 5.5 V | 2.0 V to 5.5 V | 2.0 V to 5.5 V | 2.0 V to 3.6 V | 2.0 V to 5.5 V |
| Operating Temperature | -40 °C to +85 °C (I) | -40 °C to +85 °C (I) | -40 °C to +125 °C (E) | -40 °C to +125 °C (E) | -40 °C to +85 °C (I) | -40 °C to +85 °C (I) |
| Comparators | 2 | 2 w/ selectable Vref | 2 | 2 w/ selectable Vref | 2 | 2 |
Key Differentiators
- More Flash memory in same 18-PDIP footprint (vs PIC16F88-I/P)
- Extended temperature grade option in identical package (vs PIC16F87-E/P)
- Surface-mount alternative for high-volume SMD production (vs PIC16F87-I/SO)
Design Notes
Route a 100 nF decoupling capacitor within 5 mm of the VDD pin (pin 14) and a 10 µF bulk capacitor at the board power entry. The PIC16F87's ADC requires clean VDD; place the analog supply trace (AVDD) close to the digital VDD with ferrite-bead isolation if heavy switching loads share the rail. Per Microchip datasheet DS30292D, the analog input pins AN0-AN3 share PORTA pins that must be configured as analog inputs (ANSEL register) before ADC sampling for accurate 10-bit conversion.
Do not omit the 4.7 kΩ pull-down resistor on the RB3/PGM pin (pin 9) for low-voltage programming mode, otherwise the device may enter LVP mode unintentionally and fail to start in production. Configure the CONFIG word LVP bit to OFF for high-voltage programming only (MCLR pin used for VPP). Per Microchip datasheet DS30292D, an unprogrammed LVP bit defaults to ON for newer PIC16F87 revisions, so explicit CONFIG bit setting is required to disable LVP and free RB3 for general I/O use.
When using the AUSART at 19.2 kbaud or higher, keep the TX/RX traces short and avoid routing parallel to switching converter or relay coil traces. The PIC16F87's internal 8 MHz oscillator provides ±1% accuracy at 5 V per Microchip datasheet DS30292D, but UART baud rate accuracy degrades proportionally. For ±0.5% baud accuracy, switch to an external 20 MHz crystal on RA6/RA7 (only available on PIC16F88 18-pin variants with crystal driver, or use 20-pin PIC16F876A family).
Compliance Information
RoHS compliant per Microchip product page. Not AEC-Q100 qualified in the standard industrial grade; automotive designs should select PIC16F87T-I/SO AEC-Q100 qualified variants or PIC16F88T-I/SS automotive versions. Lead-free PDIP package confirmed by DigiKey and Mouser listings.