PIC16F687-E/SS - 20MHz 8-bit MCU 3.5KB Flash | Microchip
MPN: PIC16F687-E/SS ✓ Active| Qty | Unit Price | Extended |
|---|---|---|
| 1 | $1.86 | $1.86 |
| 10 | $1.72 | $17.20 |
| 100 | $1.51 | $151.00 |
| 500 | $1.36 | $680.00 |
| 1,000 | $1.22 | $1,220.00 |
PIC16F687-E/SS Overview
A microcontroller (MCU) is a single-chip computer containing a CPU, non-volatile program memory, working RAM, and peripheral interfaces such as timers, ADC, and communication blocks. The PIC16F687 belongs to the mid-range 8-bit MCU category, positioned between baseline PIC10/12/16 devices and enhanced mid-range PIC16F1xxx parts. Within the broader taxonomy, it sits under embedded controller -> microcontroller -> 8-bit MCU -> flash-based MCU -> nanoWatt technology family. The PIC16F687 is widely used where low pin count, integrated EEPROM, and nanoWatt sleep current (<1 µA typical) make it attractive for battery-powered and portable designs.
Key features include the nanoWatt low-power architecture that drops supply current below 1 µA in Sleep mode, internal 8 MHz oscillator with software-tunable calibration, and on-board In-Circuit Serial Programming (ICSP) plus In-Circuit Debug (ICD) for development. The Enhanced USART block supports RS-232/RS-485 LIN master operation, while the MSSP port delivers SPI up to 5 MHz and I2C master/slave with 7-bit/10-bit addressing. The integrated 12-channel (8 external + internal) 10-bit ADC provides fast analog sampling for sensor interfaces, and the two analog comparators enable precise threshold detection without external components.
The device uses Harvard architecture with separate program and data buses, an 8-bit ALU and a hardware stack depth of 8 levels, and supports interrupts with context save/restore. The 35 single-word instruction set keeps firmware compact, and the C-compiler-friendly architecture allows efficient code generation with MPLAB XC8. The flash program memory supports up to 100,000 erase/write cycles and EEPROM supports 1,000,000 erase/write cycles, both retaining data for 40+ years.
Typical applications include consumer white-goods and appliance controls, industrial sensor nodes and data loggers, battery-powered remote controls and metering, automotive interior accessories (non-safety), low-cost HVAC fan and thermostat controls, and standalone 8-bit controller boards replacing discrete logic. The wide 2.0-5.5V operating range lets it ride directly on 2xAA alkaline, lithium coin-cell, or 3.3V/5V regulated rails.
When designing with this MCU, place 100 nF decoupling capacitors on every VDD pin as close to the package as possible and add a 10 µF bulk capacitor near the supply entry. The MCLR pin must be tied to VDD through a 10 kΩ resistor for normal operation, and unused I/O pins should be configured as outputs low to minimize sleep current. Programming is performed via ICSP using MPLAB X IDE and MPLAB XC8 compiler.
This page synthesizes distributor pricing as of 2026-09-21, drop-in same-package alternatives, and practical design notes not found in the manufacturer datasheet alone, supporting faster vendor selection and PCB rework decisions.
Drop-in alternatives for PIC16F687-E/SS — 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 PIC16F687-E/SS (same form factor and footprint) — differing in Package, Communication, Timers, ADC, I/O Pins.
Quick Comparison Tool — Select alternative parts for side-by-side comparison:
PIC16F687-I/SS
✅ Drop-In✓ In Stock
$1.27 / Unit
View Datasheet →PIC16F687T-E/SS
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F685-E/SS
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F677-E/SS
✅ Drop-In✓ In Stock
$1.41 / Unit
View Datasheet →PIC16F690-I/SS
✅ Drop-In✓ In Stock
$1.41 / Unit
View Datasheet →PIC16F687-E/SS Maximum Ratings & Electrical Characteristics
| Core Architecture | PIC16 mid-range 8-bit (Harvard, x14 instruction) |
| Program Memory | 3.5 KB Flash (2K x 14 words) |
| RAM | 128 bytes |
| EEPROM | 256 bytes |
| Maximum Clock Speed | 20 MHz |
| Instruction Cycle | 200 ns |
| Supply Voltage (Vdd) | 2.0 V to 5.5 V |
| I/O Pins | 18 |
| ADC | 10-bit, 12 channels (8 external + internal) |
| Analog Comparators | 2 |
| Timers | 3 (Timer0, Timer1, Timer2) |
| Communication | 1x Enhanced USART, 1x MSSP (SPI/I2C) |
| Internal Oscillator | 8 MHz (calibrated, software-tunable) |
| Operating Temperature Range | -40C to +125C (E = extended) |
| Package | 20-pin SSOP (5.30 mm / 0.209 inch body) |
| Mounting Type | Surface Mount |
| MSL Level | 1 |
| RoHS Status | Compliant |
PIC16F687-E/SS Pin Configuration
| Pin 1 | RA0/AN0/C1IN+/ICSPDAT — Bidirectional I/O / ADC channel 0 / comparator input / ICSP data |
| Pin 2 | RA1/AN1/C1IN-/VREF+/ICSPCLK — Bidirectional I/O / ADC channel 1 / comparator ref / ICSP clock |
| Pin 3 | RA2/AN2/C1OUT — Bidirectional I/O / ADC channel 2 / comparator 1 output |
| Pin 4 | RA3/MCLR/VPP — Bidirectional I/O / Master Clear reset / programming voltage |
| Pin 5 | RA4/AN3/C2OUT/T0CKI — Bidirectional I/O / ADC channel 3 / comparator 2 output / Timer0 clock |
| Pin 6 | RA5/AN4/SS/C2IN-/C1IN+ — Bidirectional I/O / ADC channel 4 / SPI slave select |
| Pin 7 | RA6/OSC2/CLKO — Bidirectional I/O / crystal output / clock output |
| Pin 8 | RA7/OSC1/CLKI — Bidirectional I/O / crystal input / clock input |
| Pin 9 | VSS — Ground reference |
| Pin 10 | VDD — Positive supply voltage (2.0 V to 5.5 V) |
| Pin 11 | RC0/AN5 — Bidirectional I/O / ADC channel 5 |
| Pin 12 | RC1/AN6 — Bidirectional I/O / ADC channel 6 |
| Pin 13 | RC2/AN7/P1D — Bidirectional I/O / ADC channel 7 / PWM output |
| Pin 14 | RC3/AN8/P1C — Bidirectional I/O / ADC channel 8 / PWM output |
| Pin 15 | RC4/AN9/C2IN+/SDI/SDA — Bidirectional I/O / ADC channel 9 / SPI data in / I2C data |
| Pin 16 | RC5/AN10/C2IN-/SDO — Bidirectional I/O / ADC channel 10 / SPI data out |
| Pin 17 | RC6/AN11/TX/CK — Bidirectional I/O / ADC channel 11 / USART TX / clock |
| Pin 18 | RC7/AN12/RX/DT — Bidirectional I/O / ADC channel 12 / USART RX / data |
| Pin 19 | RB4/AN10/SDI/SDA — Bidirectional I/O / SPI data in / I2C data |
| Pin 20 | RB5/AN11/RX/DT — Bidirectional I/O / USART RX / data |
Typical Applications
PIC16F687-E/SS is suitable for 6 applications: Consumer Appliance Control, Industrial Sensor Node, Battery-Powered Remote Control, Automotive Interior Accessory, Low-Cost HVAC Fan and Thermostat Control, Standalone 8-bit Logic Replacement.
Consumer Appliance Control
The PIC16F687-E/SS is well-suited for consumer appliance control boards such as coffee makers, toaster ovens, rice cookers and small kitchen electronics where 18 digital I/O pins can drive relays, keypads, LED indicators and 7-segment displays. With 3.5 KB flash storing the user interface state machine and 256 bytes EEPROM retaining last settings across power cycles, the MCU handles wash-cycle programs, timer logic and buzzer feedback without external memory. The integrated 10-bit ADC reads temperature from an NTC thermistor for closed-loop heating control, while two analog comparators provide zero-crossing detection on the AC mains for TRIAC firing. The 2.0-5.5V operating range simplifies power supply design from a 5V rectified rail, and the nanoWatt sleep mode drops standby current below 1 µA for Energy Star compliance on white goods.
Recommended
Industrial Sensor Node
In industrial 4-20 mA loop-powered sensor nodes, the PIC16F687-E/SS acts as a low-power front-end digitizing analog signals from pressure, flow or level transducers. Its 12-channel 10-bit ADC captures up to 8 external sensor inputs plus internal references for cold-junction compensation, while the MSSP I2C master reads a companion EEPROM for calibration data. The Enhanced USART drives an RS-485 transceiver for MODBUS RTU communication over a half-duplex twisted pair, supporting 250 kbps at 20 MHz instruction clock. nanoWatt sleep modes drop the MCU below 1 µA between measurements, allowing 4-20 mA loop operation with minimal voltage drop across the shunt. The extended -40C to +125C temperature grade covers outdoor installations, factory floor cabinets and remote tank farms.
Recommended
Battery-Powered Remote Control
Battery-powered remote controls for TVs, set-top boxes, ceiling fans and RF-controlled smart-home devices benefit from the PIC16F687-E/SS nanoWatt architecture, which holds Sleep current below 1 µA typical and extends coin-cell life to multiple years. The MCU wakes on a key-press interrupt from a 4x4 matrix keypad, drives an IR LED via PWM for NEC/RC5 transmission, and uses the internal 8 MHz oscillator to avoid an external crystal for compact 20-SSOP board layouts. The 3.5 KB flash comfortably holds IR protocol tables and pairing logic, while the 128 bytes of RAM handle transmit buffers and debounce state machines. Direct 2.0V operation supports a single CR2032 lithium cell without boost converters, simplifying BOM and reducing BOM cost.
Recommended
Automotive Interior Accessory
The PIC16F687-E/SS powers interior automotive accessories such as ambient lighting controllers, dome lamp timers, seat heater switches and USB charger indicators that do not require full AEC-Q100 qualification. Its -40C to +125C extended temperature grade survives under-dash thermal stress, while 3.5 KB flash stores fade tables for RGB ambient lighting and seat-position memory presets in EEPROM. The MSSP SPI master drives an APA102 LED strip with 30 Hz refresh, and the Enhanced USART interfaces to the vehicle CAN bus via an external MCP2515 stand-alone controller. The 20-SSOP package is small enough to fit inside a dome-light housing, and the 2.0-5.5V supply range survives load-dump transients when paired with a TVS diode and 5V LDO.
Recommended
Low-Cost HVAC Fan and Thermostat Control
The PIC16F687-E/SS is an excellent fit for low-cost HVAC fan controllers and 7-day programmable thermostats that drive triac-controlled blower motors, 24VAC thermostats and 5-wire zone valves. The 10-bit ADC reads a 10 kΩ NTC thermistor with 0.5°C resolution using the internal bandgap reference, while two analog comparators detect zero-crossing for triac dimming of fan speed stages. The MSSP I2C master drives a 64x128 OLED display for temperature and humidity readouts, and the EEPROM stores user schedule presets through power cycles. nanoWatt Sleep current below 1 µA is critical for line-powered thermostats where standby parasitic draw must stay below 1 W to meet DOE energy efficiency standards.
Recommended
Standalone 8-bit Logic Replacement
Designers replacing discrete 74HC logic with a single MCU use the PIC16F687-E/SS to consolidate glue logic, sequencers and PWM generators into a single 20-SSOP package. With 18 I/O pins the part can replace 2-3 standard logic ICs while adding programmability, conditional sequences and EEPROM-backed configuration storage. The integrated Timer2 module generates hardware PWM for LED dimming, motor speed control or audio tones without CPU overhead, and the 35-instruction set enables a tiny state machine in less than 1 KB of flash. Compared to discrete logic, the PIC16F687-E/SS reduces PCB area by 50-70% and BOM cost by $0.50-$1.00 per board while gaining firmware flexibility for late-stage design changes.
Recommended
Recommended Products Summary
Engineering reference data for PIC16F687-E/SS — comparison, design guidance, and compliance information.
Selection Guide
Comparison with Alternatives
| Parameter | This Product | PIC16F687-I/SS | PIC16F687T-E/SS | PIC16F685-E/SS | PIC16F677-E/SS | PIC16F690-I/SS |
|---|---|---|---|---|---|---|
| Package | 20-SSOP (5.30 mm) | 20-SSOP - same | 20-SSOP - same | 20-SSOP - same | 20-SSOP - same | 20-SSOP - same |
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Program Flash | 3.5 KB | 3.5 KB | 3.5 KB | 7 KB | 3.5 KB | 7 KB |
| RAM | 128 bytes | 128 bytes | 128 bytes | 128 bytes | 128 bytes | 256 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 +125C (E) | -40C to +85C (I) | -40C to +125C (E) | -40C to +125C (E) | -40C to +125C (E) | -40C to +85C (I) |
| I/O Pins | 18 | 18 | 18 | 18 | 16 | 18 |
| Enhanced USART | Yes | Yes | Yes | Yes | No | Yes |
Key Differentiators
- Highest analog channel count in PIC16F68x family (vs PIC16F677-E/SS)
- Smaller flash footprint with same Enhanced USART as PIC16F685 (vs PIC16F685-E/SS)
- Extended -40C to +125C temperature grade standard (vs PIC16F687-I/SS)
Design Notes
Place a 100 nF decoupling capacitor as close as possible to the VDD pin (pin 10) and a 10 µF bulk capacitor near the supply entry point. For battery-powered designs, add a 100 kΩ-1 MΩ pull-down on MCLR (pin 4) so that the device does not enter Programming mode if MCLR floats during power-up. nanoWatt Sleep mode draws below 1 µA only when the WDT and BOR are disabled and the internal oscillator is switched to LFINTOSC (31 kHz) before the SLEEP instruction.
The 20-SSOP package has a 0.65 mm pitch and 5.30 mm body width, requiring 0.4 mm-wide traces between pads and 0.20 mm solder mask sliver. Use a 4-layer PCB with a continuous ground plane under the SSOP footprint to minimize EMI coupling into the analog ADC inputs. Keep crystal traces (RA6/OSC2 and RA7/OSC1) shorter than 10 mm with a ground guard ring; for designs that use the internal 8 MHz oscillator, leave RA6 and RA7 as digital I/O without the crystal footprint.
Estimated: At 20 MHz with 5 V supply the MCU draws approximately 11 mA active; do not power the device directly from a current-limited USB port without a 100 µF bulk capacitor. Do not exceed 5.5 V on any pin or 9 V on MCLR (programming mode). When using ADC channel AN3 (pin 5) the digital input buffer on that pin must be disabled via the ANSEL register to prevent parasitic current. For I2C bus pull-ups, use 4.7 kΩ at 400 kHz Fast mode and 10 kΩ at 100 kHz Standard mode.
Route the ICSP lines (ICSPCLK on pin 1 and ICSPDAT on pin 2) as a 2-pin header with 0.1 inch spacing on the production PCB to allow MPLAB ICD 3 / PICkit 4 programming without needing a socket. Keep the ICSP traces short and parallel to avoid noise coupling into the analog ADC. If RA0/RA1 are used for analog sensing, isolate them from the ICSP signals with a ground trace to prevent programming noise from corrupting ADC samples.
Compliance Information
RoHS compliant per Microchip product page. SSOP package is lead-free (Pb-free). Not AEC-Q100 qualified - see Microchip automotive part numbers for AEC-Q100 variants. Halogen-free per Microchip material declaration.