PIC16F887-E/PT - 8-Bit 20MHz MCU 14KB Flash 44-TQFP | Microchip
MPN: PIC16F887-E/PT ✓ Active| Qty | Unit Price | Extended |
|---|---|---|
| 1 | $4.2 | $4.20 |
| 10 | $3.78 | $37.80 |
| 100 | $3.4 | $340.00 |
| 500 | $3.05 | $1,525.00 |
| 1,000 | $2.75 | $2,750.00 |
PIC16F887-E/PT Overview
A microcontroller (MCU) is a single-chip computer that contains a CPU, RAM, non-volatile memory (Flash/EEPROM), and peripherals such as timers, ADC, communication ports, and I/O pins on one integrated die. The PIC16F belongs to the mid-range PIC architecture hierarchy, which spans PIC10/12/14/16/18/24/32 families, where PIC16F sits between baseline (PIC10/12/16) and enhanced mid-range (PIC18) in terms of instruction set capability and peripheral integration.
Key features include a 14-channel 10-bit ADC, two analog comparators, one Capture/Compare/PWM (CCP) and one Enhanced CCP module, a USART, MSSP (SPI/I2C), and nanoWatt power management for low-power sleep modes. The E suffix denotes the extended temperature range of -40C to +125C.
The PIC16F887 uses a Harvard RISC architecture with only 35 single-word instructions and 200 ns instruction execution at 20 MHz. Self-programmability supports in-application firmware updates, and ICD (In-Circuit Debug) simplifies development with Microchip's MPLAB X IDE and PICkit debuggers.
Typical applications include industrial control systems, sensor interface modules, home appliance controllers, automotive body electronics, and consumer device mainboards where a balance of GPIO count, on-chip peripherals, and Flash-based flexibility is required.
When designing with the PIC16F887, ensure decoupling capacitors are placed near VDD/AVDD pins and that the MCLR pin is pulled high through a resistor per Microchip guidance. Choose this MCU when you need more GPIO and peripheral channels than a PIC16F84/88 can offer, but do not need the larger memory and instruction set of a PIC18F series part.
This page synthesizes distributor pricing, parametric drop-in alternatives, and practical engineering design notes not assembled in the manufacturer datasheet alone.
Drop-in alternatives for PIC16F887-E/PT — 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 PIC16F887-E/PT (same form factor and footprint) — differing in Package, Communication, Core Architecture, Operating Temperature, ADC.
Quick Comparison Tool — Select alternative parts for side-by-side comparison:
PIC16F887-I/PT
✅ Drop-In✓ In Stock
$1.66 / Unit
View Datasheet →PIC16F887T-E/PT
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F887-E/P
✅ Drop-In✓ In Stock
$3.4 / Unit
View Datasheet →PIC16F884-E/PT
✅ Drop-In✓ In Stock
$2.05 / Unit
View Datasheet →PIC16F884T-I/PT
✅ Drop-In✓ In Stock
$2.3 / Unit
View Datasheet →PIC16F884-I/P
✅ Drop-In✓ In Stock
$2.62 / Unit
View Datasheet →PIC16F887-E/PT Maximum Ratings & Electrical Characteristics
| Core Architecture | PIC16 (Harvard RISC, 8-bit) |
| Instruction Set | 35 single-word instructions |
| Maximum CPU Frequency | 20 MHz |
| Instruction Execution Time | 200 ns (at 20 MHz) |
| Program Memory (Flash) | 14 KB (8K x 14 words) |
| Data SRAM | 368 bytes |
| Data EEPROM | 256 bytes |
| I/O Pins | 36 |
| ADC | 14 channels, 10-bit |
| Comparators | 2 |
| CCP / ECCP Modules | 1 CCP + 1 Enhanced CCP |
| Timers | 3 (Timer0/1/2) |
| Communication | 1x USART, 1x MSSP (SPI / I2C) |
| Operating Voltage (VDD) | 2.0 V to 5.5 V |
| Operating Temperature Range | -40C to +125C (E suffix) |
| Package | 44-pin TQFP (PT), 10x10 mm |
| Mounting Type | Surface Mount |
| MSL Level | 3 (168 hours) |
| RoHS Status | Compliant |
| Self-Programming | Yes |
| In-Circuit Debug (ICD) | Yes |
| Power-Saving Modes | nanoWatt (Sleep, Idle, etc.) |
PIC16F887-E/PT Pin Configuration
| Pin 1 | RA0/AN0/ULPWU — PORTA bit 0 / ADC ch0 / Ultra-Low-Power Wake-up |
| Pin 2 | RA1/AN1 — PORTA bit 1 / ADC ch1 |
| Pin 3 | RA2/AN2/VREF- — PORTA bit 2 / ADC ch2 / ADC VREF- |
| Pin 4 | RA3/AN3/VREF+ — PORTA bit 3 / ADC ch3 / ADC VREF+ |
| Pin 5 | RA4/AN4/C1OUT/T0CKI — PORTA bit 4 / ADC ch4 / Comparator 1 out / Timer0 clock in |
| Pin 6 | RA5/AN5/SS/HLVDIN/C2OUT — PORTA bit 5 / ADC ch5 / SPI slave select / HLVD input / Comparator 2 out |
| Pin 7 | RA6/OSC2/CLKO — PORTA bit 6 / Crystal output / Clock output |
| Pin 8 | RA7/OSC1/CLKI — PORTA bit 7 / Crystal input / Clock input |
| Pin 9 | VDD — Positive supply voltage |
| Pin 10 | VSS — Ground reference |
| Pin 11 | RB0/INT/AN12 — PORTB bit 0 / External interrupt / ADC ch12 |
| Pin 12 | RB1/AN10 — PORTB bit 1 / ADC ch10 |
| Pin 13 | RB2/AN8 — PORTB bit 2 / ADC ch8 |
| Pin 14 | RB3/AN9/PGM — PORTB bit 3 / ADC ch9 / Low-voltage ICSP |
| Pin 15 | RB4/AN11 — PORTB bit 4 / ADC ch11 |
| Pin 16 | RB5/AN13 — PORTB bit 5 / ADC ch13 |
| Pin 17 | RB6/PGC — PORTB bit 6 / ICSP clock |
| Pin 18 | RB7/PGD — PORTB bit 7 / ICSP data |
| Pin 19 | VSS — Ground reference |
| Pin 20 | VDD — Positive supply voltage |
| Pin 21 | RC0/T1OSO/T1CKI — PORTC bit 0 / Timer1 oscillator out / Timer1 clock in |
| Pin 22 | RC1/T1OSI/CCP2 — PORTC bit 1 / Timer1 oscillator in / Enhanced CCP2 |
| Pin 23 | RC2/CCP1/P1A — PORTC bit 2 / CCP1 / PWM P1A output |
| Pin 24 | RC3/SCK/SCL — PORTC bit 3 / SPI clock / I2C clock |
| Pin 25 | RC4/SDI/SDA — PORTC bit 4 / SPI data in / I2C data |
| Pin 26 | RC5/SDO — PORTC bit 5 / SPI data out |
| Pin 27 | RC6/TX/CK — PORTC bit 6 / USART TX / USART clock |
| Pin 28 | RC7/RX/DT — PORTC bit 7 / USART RX / USART data |
| Pin 29 | RD0 — PORTD bit 0 |
| Pin 30 | RD1 — PORTD bit 1 |
| Pin 31 | RD2 — PORTD bit 2 |
| Pin 32 | RD3 — PORTD bit 3 |
| Pin 33 | RD4 — PORTD bit 4 |
| Pin 34 | RD5 — PORTD bit 5 |
| Pin 35 | RD6 — PORTD bit 6 |
| Pin 36 | RD7 — PORTD bit 7 |
| Pin 37 | VSS — Ground reference |
| Pin 38 | VDD — Positive supply voltage |
| Pin 39 | RE0/RD/AN5 — PORTE bit 0 / Parallel slave port read / ADC ch5 alt |
| Pin 40 | RE1/WR/AN6 — PORTE bit 1 / Parallel slave port write / ADC ch6 |
| Pin 41 | RE2/CS/AN7 — PORTE bit 2 / Parallel slave port chip select / ADC ch7 |
| Pin 42 | VDD — Positive supply voltage |
| Pin 43 | VSS — Ground reference |
| Pin 44 | MCLR/VPP/RE3 — Master clear reset / Programming voltage / PORTE bit 3 |
Typical Applications
PIC16F887-E/PT is suitable for 7 applications: Industrial Control Systems, Home Appliance Controllers, Sensor Interface Modules, Automotive Body Electronics, Consumer Device Mainboards, Educational and Hobby Development, Power Supply Monitoring and Battery Management.
Industrial Control Systems
The PIC16F887-E/PT fits industrial control designs with its 36 I/O pins, 14-channel 10-bit ADC, and extended -40C to +125C temperature grade. Its 14 KB Flash accommodates state-machine-based PLC logic, sensor scanning loops, and Modbus RTU over USART. The nanoWatt sleep modes draw under 1 uA typical, supporting battery-backed remote terminals. The 44-pin TQFP and Microchip MPLAB X toolchain shorten time-to-prototype for industrial sensor hubs.
Recommended
Home Appliance Controllers
The PIC16F887-E/PT suits washing-machine, dishwasher, microwave, and HVAC control boards that need to drive relays, triacs, and displays while monitoring sensors. The Enhanced CCP module generates precise PWM for motor speed or heating-element control, while the 14-channel ADC reads temperature, water level, and current sensors. With self-programming Flash, manufacturers can ship firmware updates to installed appliances. The 44-pin TQFP footprint is industry-standard for white-goods mainboards.
Recommended
Sensor Interface Modules
The PIC16F887-E/PT is well matched to multi-sensor data-acquisition front ends: 14 ADC channels handle thermistors, pressure sensors, and potentiometers simultaneously, while the USART and MSSP forward digitized data to a host MCU or wireless module. Its 256-byte EEPROM stores calibration constants non-volatilely. With 20 MHz CPU clock, oversampling and digital filtering are feasible in firmware without external DSP.
Recommended
Automotive Body Electronics
The PIC16F887-E/PT operates over -40C to +125C and supports automotive body-control modules such as window lifters, mirror adjusters, interior lighting, and seat controllers. Its Enhanced CCP drives PWM-controlled mirror motors, while the MSSP handles LIN slave communication via an external LIN transceiver. With 36 I/O pins and 14 KB Flash, designers can consolidate what previously required multiple smaller MCUs into a single chip.
Recommended
Consumer Device Mainboards
The PIC16F887-E/PT powers remote controls, toys, small appliances, and consumer accessories that need USB HID, IR transmit/receive, or display driving. The 20 MHz CPU clock supports real-time bit-banging protocols and the Enhanced CCP drives PWM backlight dimming. Self-programmability enables factory-side firmware personalization per SKU. The 44-pin TQFP is easy to assemble with standard SMT lines.
Recommended
Educational and Hobby Development
The PIC16F887-E/PT is widely adopted in universities and maker projects because it pairs the PIC16F family simplicity with enough Flash for meaningful C-based projects. Microchip's MPLAB X IDE, XC8 compiler, and PICkit debugger ecosystem are free and mature, with the PIC16F887 supported on the PICkit 3 and PICkit 4. The 44-pin TQFP is available on low-cost development boards from suppliers such as MikroElektronika and Olimex.
Recommended
Power Supply Monitoring and Battery Management
The PIC16F887-E/PT integrates well into SMBus battery monitors, smart-battery packs, and DC rail supervisors. Its 14-channel ADC samples pack voltage, charge current, and per-cell voltages; USART or MSSP communicates with a host charger or gauge IC. The nanoWatt sleep mode drops quiescent current under 1 uA, preserving battery life when the system is idle. The 256-byte EEPROM logs cycle counts and fault history.
Recommended
Recommended Products Summary
Engineering reference data for PIC16F887-E/PT — comparison, design guidance, and compliance information.
Selection Guide
Comparison with Alternatives
| Parameter | This Product | PIC16F887-I/PT | PIC16F887T-E/PT | PIC16F887-E/P | PIC16F884-E/PT | PIC16F884T-I/PT | PIC16F884-I/P |
|---|---|---|---|---|---|---|---|
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Package | 44-pin TQFP (PT), 10x10 mm | 44-pin TQFP (PT) - same | 44-pin TQFP (PT) - same | 44-pin TQFP (PT) - same | 44-pin TQFP (PT) - same | 44-pin TQFP (PT) - same | 44-pin TQFP (PT) - same |
| Flash Program Memory | 14 KB (8K x 14) | 14 KB | 14 KB | 14 KB | 7 KB (-50%) | 7 KB (-50%) | 7 KB (-50%) |
| Data SRAM | 368 bytes | 368 bytes | 368 bytes | 368 bytes | 368 bytes | 368 bytes | 368 bytes |
| Data EEPROM | 256 bytes | 256 bytes | 256 bytes | 256 bytes | 256 bytes | 256 bytes | 256 bytes |
| I/O Pins | 36 | 36 | 36 | 36 | 36 | 36 | 36 |
| ADC Channels x Resolution | 14 x 10-bit | 14 x 10-bit | 14 x 10-bit | 14 x 10-bit | 14 x 10-bit | 14 x 10-bit | 14 x 10-bit |
| Maximum CPU Frequency | 20 MHz | 20 MHz | 20 MHz | 20 MHz | 20 MHz | 20 MHz | 20 MHz |
| Operating Temperature | -40C to +125C (E) | -40C to +85C (I) | -40C to +125C (E) | -40C to +125C (E) | -40C to +125C (E) | -40C to +85C (I) | -40C to +85C (I) |
| Self-Programming / ICD | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Key Differentiators
- Largest Flash in the 44-pin TQFP PIC16F88x family (vs PIC16F884-E/PT)
- Extended temperature grade for harsh environments (vs PIC16F887-I/PT)
- 36 GPIO and 14-channel ADC in single 44-pin TQFP (vs PIC16F886-I/SP)
Design Notes
Decouple each VDD/VSS pair with a 100 nF ceramic capacitor placed within 3 mm of the IC pins, and add a bulk 10 uF tantalum or aluminum polymer capacitor near the MCU supply input. The PIC16F887 supports 2.0 V to 5.5 V operation, so the regulator should be chosen with output accuracy better than +/-3% to keep ADC VREF errors under 1 LSB at 10-bit resolution. For battery-powered designs, route the MCU to nanoWatt sleep and wake via WDT or external interrupt to minimize quiescent current.
Place the ICSP pins (RB6/PGC, RB7/PGD, MCLR/VPP) on accessible board-edge or test-point pads so that a PICkit 3/4 or ICD 3/4 can program and debug the assembled board without rework. MCLR must be pulled up to VDD through a 10 kohm resistor and decoupled with a 100 nF cap to VSS to suppress in-circuit reset noise. Keep the 44-pin TQFP land pattern on a 0.8 mm pitch and route the crystal traces within a guard ring tied to ground for EMI suppression.
Configuration bits (FOSC, WDTE, PWRTE, BOREN, LVP, etc.) must be set correctly before the first code execution; an incorrect FOSC selection can leave the MCU without a clock and appear dead. Do not leave unused I/O pins floating - configure them as outputs or inputs with weak pull-ups - because floating CMOS inputs can draw mid-rail current and cause noise coupling into adjacent ADC channels. Avoid using the ICSP pins RB6/RB7 as GPIO unless you have a robust in-circuit programming strategy, as doing so can lock out field firmware updates.
When using the 14-channel 10-bit ADC, ensure that analog traces are kept short and routed away from digital switching signals like PWM outputs and the oscillator traces to minimize crosstalk. Add a small RC low-pass filter (10 ohm + 100 nF) on each analog input if the source impedance exceeds 2.5 kohm, otherwise ADC acquisition time may be insufficient and conversions will be inaccurate. Use AVSS as the dedicated analog ground and tie it to digital ground at one point near the MCU.
Compliance Information
RoHS and lead-free per Microchip product page; REACH compliance per Microchip policy. The PIC16F887 family is not AEC-Q100 qualified - for AEC-Q100 automotive applications, use the PIC16F193x family instead.