PIC16F87-E/SO - 8-bit 20MHz 7KB Flash MCU | Microchip SOIC-18
MPN: PIC16F87-E/SO ✓ Active| Qty | Unit Price | Extended |
|---|---|---|
| 1 | $4.77 | $4.77 |
| 10 | $4.3 | $43.00 |
| 100 | $3.78 | $378.00 |
| 500 | $3.4 | $1,700.00 |
| 1,000 | $3 | $3,000.00 |
PIC16F87-E/SO Overview
A PIC microcontroller (Programmable Interface Controller) is an 8-bit Harvard-architecture MCU built around a RISC instruction set. The PIC16F87 sits inside the PIC16 mid-range family (PIC16 -> PIC mid-range -> 8-bit MCU -> microcontroller -> semiconductor). The 'F' in the part number indicates Flash program memory, 'E' denotes the extended industrial temperature grade (-40C to +125C), and '/SO' specifies the 18-lead Small Outline Integrated Circuit (SOIC) package. This category of MCU is widely used where deterministic real-time control, low power consumption (nanoWatt technology), and compact code footprint are required.
Key features of the PIC16F87 include 8 MHz internal oscillator, 256 bytes of EEPROM data memory, 368 bytes of SRAM, a USART with addressable mode, a Capture/Compare/PWM (CCP) peripheral, two analog comparators, and a 10-bit ADC with up to 8 channels depending on package variant. The 18-pin SOIC device provides 16 digital I/O lines and operates across a 4 V to 5.5 V supply range, drawing microamp-level standby currents in Sleep mode thanks to nanoWatt power-management technology.
The architecture uses a 14-bit wide instruction word with a 35-instruction RISC set, yielding 200 ns instruction execution at 20 MHz. Separate code and data buses (Harvard architecture) allow simultaneous instruction fetch and data access, improving throughput over von Neumann designs at the same clock rate. On-chip in-circuit serial programming (ICSP) allows firmware updates after PCB assembly, and the device supports interrupt-driven peripherals and multiple oscillator modes (INTOSC, HS, XT, LP, RC).
Typical applications include advantage analog and integrated level sensing in automotive sensor nodes, white-goods and appliance control boards, industrial measurement and monitoring, low-power remote sensor nodes, and consumer-electronic user-interface controllers. The combination of on-chip comparators, PWM and ADC in a small SOIC-18 footprint is well suited to closed-loop analog feedback designs.
When designing with the PIC16F87-E/SO, note that the 18-pin variant has fewer I/O than the 28-pin PIC16F87 family members; verify pin allocation for ADC, comparator and PWM channels against your firmware plan. Always tie the MCLR pin through a proper reset network and place a 0.1uF decoupling capacitor as close as possible to VDD.
This page synthesizes distributor pricing, drop-in alternatives and practical design notes not found in the manufacturer datasheet, optimized for engineers selecting or second-sourcing the PIC16F87-E/SO.
Drop-in alternatives for PIC16F87-E/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-E/SO (same form factor and footprint) — differing in Operating Temperature, Package, Internal Oscillator, Mounting Type, RoHS Status.
Quick Comparison Tool — Select alternative parts for side-by-side comparison:
PIC16F87T-E/SO
✅ Drop-In✓ In Stock
$4.25 / Unit
View Datasheet →PIC16F87-I/SO
✅ Drop-In✓ In Stock
$4.93 / Unit
View Datasheet →PIC16F87-E/ML
✅ Drop-In✓ In Stock
$3.5 / Unit
View Datasheet →PIC16F87-E/SO Maximum Ratings & Electrical Characteristics
| Product Type | 8-bit Microcontroller (MCU) |
| Family | PIC16 mid-range (PIC16F87) |
| Architecture | Harvard RISC, 14-bit instruction word |
| Program Memory | 7 KB (4K x 14) Flash |
| Data SRAM | 368 bytes |
| Data EEPROM | 256 bytes |
| Maximum CPU Clock | 20 MHz |
| Instruction Execution | 200 ns at 20 MHz |
| Instruction Set | 35 single-word instructions |
| Supply Voltage (VDD) | 4 V to 5.5 V |
| Internal Oscillator | 8 MHz (INTOSC) |
| I/O Pins | 16 |
| ADC | 10-bit, up to 8 channels |
| Comparators | 2 on-chip analog comparators |
| PWM / CCP | 1 Capture/Compare/PWM module |
| Communication | Addressable USART |
| Operating Temperature | -40C to +125C (extended, 'E' grade) |
| Package | 18-pin SOIC (SO) |
| Mounting Type | Surface Mount |
| Power-Saving Technology | nanoWatt (Sleep mode < 1 uA typical) |
| Programming Interface | ICSP (In-Circuit Serial Programming) |
| RoHS Status | Compliant |
PIC16F87-E/SO Pin Configuration
| Pin 1 | RA2/AN2/VREF- — GPIO / analog input channel 2 / negative voltage reference |
| Pin 2 | RA3/AN3/VREF+ — GPIO / analog input channel 3 / positive voltage reference |
| Pin 3 | RA4/T0CKI — GPIO / Timer0 clock input (open-drain) |
| Pin 4 | RA5/AN4/SS — GPIO / analog input channel 4 / SPI slave select |
| Pin 5 | VSS — Ground reference |
| Pin 6 | RB0/INT — GPIO / external interrupt input |
| Pin 7 | RB1 — GPIO |
| Pin 8 | RB2 — GPIO |
| Pin 9 | RB3/PGM — GPIO / low-voltage programming input |
| Pin 10 | RB4 — GPIO / interrupt-on-change |
| Pin 11 | RB5 — GPIO / interrupt-on-change |
| Pin 12 | RB6/PGC — GPIO / ICSP clock (in-circuit serial programming) |
| Pin 13 | RB7/PGD — GPIO / ICSP data (in-circuit serial programming) |
| Pin 14 | VDD — Positive supply (4.0 V to 5.5 V) |
| Pin 15 | RC6/TX/CK — GPIO / USART asynchronous transmit / synchronous clock |
| Pin 16 | RC7/RX/DT — GPIO / USART asynchronous receive / synchronous data |
| Pin 17 | RA0/AN0 — GPIO / analog input channel 0 |
| Pin 18 | RA1/AN1 — GPIO / analog input channel 1 |
Typical Applications
PIC16F87-E/SO is suitable for 6 applications: Appliance and White-Goods Control Board, Industrial Sensor and Monitor Node, Automotive Body and Convenience Module, Battery-Powered Remote Sensor / IoT Edge Node, Consumer User-Interface Controller, Analog Front-End / Comparator-Based Protection Circuit.
Appliance and White-Goods Control Board
The PIC16F87-E/SO fits appliance controllers because its on-chip analog comparators and 10-bit ADC support direct sensing of temperature, level and voltage signals without external op-amps. Its 35-instruction RISC core at 20 MHz executes 5 MIPS, sufficient for brushed-DC motor PWM loops and user-interface debouncing. The nanoWatt Sleep mode draws under 1 uA typical, allowing standby power budgets that meet Energy Star requirements for washers, dryers and refrigerators. Industrial -40C to +125C qualification lets the same part serve under-hood and inside-cabinet zones.
Recommended
Industrial Sensor and Monitor Node
The PIC16F87-E/SO is a strong fit for industrial 4-20 mA loop transmitters, RTD conditioning boards and low-cost PLCs because the integrated addressable USART enables direct RS-485 protocol handling without an external transceiver in some configurations. With 256 bytes of EEPROM and 368 bytes of SRAM, calibration constants and rolling logs can be stored on-chip, reducing external component count. The 20 MHz clock and deterministic 200 ns instruction cycle ensure tight control-loop timing for solenoid, valve and relay drivers.
Recommended
Automotive Body and Convenience Module
The PIC16F87-E/SO supports interior automotive convenience functions such as seat controllers, mirror adjusters, lighting PWM drivers and HVAC blend-door actuators. Its -40C to +125C operating range satisfies cabin and under-hood thermal stress, while the on-chip 10-bit ADC reads position feedback from potentiometers and Hall sensors. The CCP/PWM module provides up to 10-bit resolution PWM for brushed DC motor speed control and LED dimming, eliminating the need for an external timer IC. Addressable USART enables LIN-bus slave implementations.
Recommended
Battery-Powered Remote Sensor / IoT Edge Node
The PIC16F87-E/SO suits remote sensor and IoT edge nodes because its nanoWatt Sleep mode drops quiescent current to sub-1 uA, enabling multi-year battery life on a 2xAA pack when paired with an external boost converter. The 8 MHz internal oscillator eliminates a crystal, reducing BOM cost. The 10-bit ADC and two analog comparators allow direct connection of thermistors, photodiodes and PIR motion sensors. Addressable USART connects to sub-GHz radios (eg, MRF89XA) for wireless telemetry links.
Recommended
Consumer User-Interface Controller
For consumer products such as coffee machines, microwave ovens, washing machines and air purifiers, the PIC16F87-E/SO provides enough MIPS for capacitive touch scanning through its ADC and 35-instruction core. 16 I/O lines comfortably drive 4x4 keypads, 7-segment displays and LED status bars. Its 7 KB Flash is sufficient for menu logic, EEPROM holds user preferences across power cycles, and the extended temperature grade survives steam and heat. The SOIC-18 package supports both hand-soldered prototypes and high-volume reflow lines.
Recommended
Analog Front-End / Comparator-Based Protection Circuit
The PIC16F87-E/SO contains two on-chip analog comparators with programmable reference, ideal for battery over-voltage, under-voltage and over-current protection in charger and power-tool designs. Combined with the CCP/PWM module, the MCU can shut down a MOSFET driver within microseconds of a fault. The 10-bit ADC simultaneously logs the fault condition to EEPROM for diagnostics. The RISC architecture guarantees deterministic interrupt latency, critical for safety-conscious hardware where firmware response time must be bounded.
Recommended
Recommended Products Summary
Engineering reference data for PIC16F87-E/SO — comparison, design guidance, and compliance information.
Selection Guide
Comparison with Alternatives
| Parameter | This Product | PIC16F87T-E/SO | PIC16F87-I/SO | PIC16F87-E/ML |
|---|---|---|---|---|
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Package | 18-pin SOIC | 18-pin SOIC (same) | 18-pin SOIC (same) | 28-pin QFN (different) |
| Program Flash | 7 KB (4K x 14) | 7 KB (4K x 14) | 7 KB (4K x 14) | 7 KB (4K x 14) |
| Max CPU Clock | 20 MHz | 20 MHz | 20 MHz | 20 MHz |
| Operating Temperature | -40C to +125C (E grade) | -40C to +125C (E grade) | -40C to +85C (I grade) | -40C to +125C (E grade) |
| SRAM | 368 bytes | 368 bytes | 368 bytes | 368 bytes |
| EEPROM | 256 bytes | 256 bytes | 256 bytes | 256 bytes |
| I/O Pins | 16 | 16 | 16 | 16 |
| ADC | 10-bit, up to 8 channels | 10-bit, up to 8 channels | 10-bit, up to 8 channels | 10-bit, up to 8 channels |
| Unit Price (1 pc) | USD 4.77 | USD 4.50 typical | USD 4.20 typical | USD 5.10 typical |
Key Differentiators
- Extended -40C to +125C industrial temperature grade (vs PIC16F87-I/SO)
- Integrated addressable USART for LIN/MIDI/9-bit protocols (vs PIC16F873A-I/SO (28-pin SOIC))
- Tube packaging for hand-assembly and prototyping (vs PIC16F87T-E/SO)
Design Notes
Place a 0.1 uF decoupling capacitor as close as possible to the VDD pin (pin 14) and a bulk 10 uF tantalum or ceramic capacitor at the board-level supply rail. The PIC16F87-E/SO has nanoWatt technology and draws less than 1 uA in Sleep mode, but high-speed digital switching still requires low-impedance VDD to avoid supply-noise-induced ADC errors. Tie the MCLR pin through a 10 kohm pull-up to VDD and add a 100 nF cap to ground for clean reset behavior.
Route the ICSP clock (PGC, pin 12) and data (PGD, pin 13) traces as short as possible, away from switching power traces. Keep analog inputs (AN0-AN4 on pins 17, 18, 1, 2, 4) on a separate analog copper pour with its own return path to the AGND/AVSS pin to avoid digital switching noise coupling into ADC conversions. For SOIC-18, allocate at least 0.5 mm clearance between analog and digital signals on the top layer.
Do not exceed the absolute maximum VDD of 7.0 V or the ESD rating of 2 kV HBM; these will permanently damage the Flash memory and analog comparators. Never drive RB3/PGM (pin 9) high during normal operation because it enables low-voltage programming mode and can lock the device. The configuration bits (oscillator, BOR, watchdog) must be explicitly set in code or the device will start with factory defaults that may not match your design assumptions.
Compliance Information
RoHS compliant and lead-free per Microchip product page; not AEC-Q100 qualified (industrial grade, not automotive-qualified - for AEC-Q100 PIC16, see PIC16F18855 family).