PIC16F687-I/SS - 8-Bit 20MHz 3.5KB Flash MCU | Microchip
MPN: PIC16F687-I/SS ✓ Active| Qty | Unit Price | Extended |
|---|---|---|
| 1 | $2.13 | $2.13 |
| 10 | $1.89 | $18.90 |
| 100 | $1.62 | $162.00 |
| 500 | $1.41 | $705.00 |
| 1,000 | $1.27 | $1,270.00 |
PIC16F687-I/SS Overview
A microcontroller (MCU) is a single-chip computer that contains a CPU, memory (Flash for program code, RAM for data, EEPROM for non-volatile data), and configurable I/O peripherals. PIC16 mid-range MCUs use a Harvard RISC architecture with only 35 single-word instructions, enabling compact code generation and predictable timing. The PIC16F687 sits in the low-pin-count (20-pin) PIC16F subfamily, targeting cost-sensitive embedded applications that need more analog and communication peripherals than entry-level PIC10/12/14 devices.
Key specifications include 18 digital I/O pins, an internal 8 MHz oscillator (factory calibrated to ±1%), an 8-channel 10-bit ADC, two analog comparators, a USART for asynchronous serial, an MSSP for SPI/I2C, and 2 capture/compare/PWM modules. The nanoWatt technology provides multiple low-power modes with currents under 1 µA in sleep, and the wide 2.0V-5.5V supply range supports both 3.3V and 5V designs directly.
The architecture uses a 14-bit instruction word with a hardware multiplier-free pipeline and a single-cycle oscillator startup. Self-programmability under software control, in-circuit debugging via ICD, and 100K erase/write cycle Flash endurance make it a robust platform for long-life embedded products.
Typical applications include consumer appliance control, sensor signal conditioning nodes, low-end remote controls, battery-powered instrumentation, LED lighting controllers, and industrial sensor front-ends. The combination of EEPROM, ADC, comparators, and serial interfaces makes it well suited as a turnkey 8-bit controller with minimal external components.
When designing, place a 100 nF decoupling capacitor within 5 mm of VDD, and use the internal oscillator configuration when crystal accuracy is not required to free two I/O pins. For noisy environments, enable the hardware watchdog timer and configure unused pins as outputs low to minimize current leakage.
This page synthesizes distributor pricing, drop-in alternatives, and practical design notes not found in the manufacturer datasheet alone, providing an engineer-ready profile of the PIC16F687-I/SS.
Drop-in alternatives for PIC16F687-I/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-I/SS (same form factor and footprint) — differing in Package, Timers, ADC, Core Architecture, Operating Temperature.
Quick Comparison Tool — Select alternative parts for side-by-side comparison:
PIC16F689-I/SS
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F685-I/SS
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F677-I/SS
✅ Drop-In✓ In Stock
$1.27 / Unit
View Datasheet →PIC16F687-E/SS
✅ Drop-In✓ In Stock
$1.22 / Unit
View Datasheet →PIC16F687-E/ML
✅ Drop-In✓ In Stock
$2.04 / Unit
View Datasheet →PIC16F687-I/SS Maximum Ratings & Electrical Characteristics
| Core | PIC16 mid-range 8-bit RISC |
| Instruction Set Width | 14-bit |
| Number of Instructions | 35 |
| Maximum Clock Speed | 20 MHz |
| Instruction Cycle Time | 200 ns |
| Program Memory (Flash) | 3.5 KB (2K x 14) |
| Data EEPROM | 128 bytes |
| Data SRAM | 256 bytes |
| Digital I/O Pins | 18 |
| Analog-to-Digital Converter | 8-channel, 10-bit |
| Analog Comparators | 2 |
| Supply Voltage (VDD) | 2.0 V to 5.5 V |
| Communication Peripherals | USART, MSSP (SPI/I2C) |
| Timers/PWM/CCP Modules | 2 CCP, 1 WDT |
| Internal Oscillator | 8 MHz (factory calibrated ±1%) |
| Package | 20-pin SSOP (5.30 mm body) |
| Operating Temperature | -40 °C to +85 °C (Industrial) |
| Flash Endurance | 100,000 erase/write cycles |
| RoHS Status | Compliant |
PIC16F687-I/SS Pin Configuration
| Pin 1 | MCLR/RA3 — Master Clear (reset) input or digital I/O RA3 |
| Pin 2 | RA4/C1OUT — Digital I/O RA4 or Comparator 1 output |
| Pin 3 | RA5/AN4/C2OUT — Digital I/O RA5, ADC input AN4, or Comparator 2 output |
| Pin 4 | RA0/AN0/C1IN+ — Digital I/O RA0, ADC input AN0, or Comparator 1 non-inverting input |
| Pin 5 | RA1/AN1/C2IN+ — Digital I/O RA1, ADC input AN1, or Comparator 2 non-inverting input |
| Pin 6 | RA2/AN2/VREF- — Digital I/O RA2, ADC input AN2, or ADC negative reference |
| Pin 7 | VSS — Ground reference |
| Pin 8 | RC0/T1OSO/T1CKI — Digital I/O RC0, Timer1 oscillator output, or Timer1 clock input |
| Pin 9 | RC1/T1OSI — Digital I/O RC1 or Timer1 oscillator input |
| Pin 10 | RC2/P1A/CCP1 — Digital I/O RC2, PWM output P1A, or Capture/Compare/PWM 1 |
| Pin 11 | RC3/AN7/P1B/CCP2 — Digital I/O RC3, ADC AN7, PWM P1B, or CCP2 |
| Pin 12 | RC4/AN8/C2OUT — Digital I/O RC4, ADC input AN8, or Comparator 2 output |
| Pin 13 | RC5/AN9 — Digital I/O RC5 or ADC input AN9 |
| Pin 14 | RC6/AN10/TX/CK — Digital I/O RC6, ADC AN10, USART TX, or USART clock |
| Pin 15 | RC7/AN11/RX/DT — Digital I/O RC7, ADC AN11, USART RX, or USART data |
| Pin 16 | RB4/AN10 — Digital I/O RB4 or ADC input AN10 |
| Pin 17 | RB5/AN11 — Digital I/O RB5 or ADC input AN11 |
| Pin 18 | RB6/ICSPCLK — Digital I/O RB6 or in-circuit serial programming clock |
| Pin 19 | RB7/ICSPDAT — Digital I/O RB7 or in-circuit serial programming data |
| Pin 20 | VDD — Positive supply voltage (2.0V to 5.5V) |
Typical Applications
PIC16F687-I/SS is suitable for 6 applications: Consumer Appliance Control, Battery-Powered Sensor Node, LED Lighting Controller, Industrial Sensor Front-End, Remote Control Transmitter, Automotive Body Electronics (Non-Safety).
Consumer Appliance Control
The PIC16F687-I/SS is ideal for consumer appliance control boards such as microwave oven user interfaces, washing machine control panels, and dishwasher user interfaces. Its 18 digital I/O pins drive keypad matrix scanning and 7-segment or LCD character displays directly. The integrated 8-channel 10-bit ADC reads temperature sensors and humidity sensors with 4.88 mV resolution at 5V. The PIC16F687's 256-byte SRAM buffers keypress events, while 128-byte EEPROM stores user-set preferences without backup battery. The wide 2.0-5.5V supply tolerates unregulated DC adapters and the nanoWatt sleep mode cuts standby power below 1 µA when the appliance is off, meeting Energy Star standby requirements.
Recommended
Battery-Powered Sensor Node
The PIC16F687-I/SS is well suited for battery-powered sensor nodes such as wireless thermostats, environmental monitors, and remote HVAC transmitters. Its nanoWatt technology delivers less than 1 µA sleep current with wake-up on interrupt, enabling multi-year battery life on two AA cells. The 8-channel 10-bit ADC digitizes thermistor, photocell, and battery voltage signals at 20 MHz with 200 ns instruction time. The integrated USART drives a sub-GHz RF module (MRF89XA) or Bluetooth LE transceiver. The 2.0-5.5V supply range supports direct LiSOCl2 primary cell operation without boost converter, reducing BOM cost by $0.30 per node.
Recommended
LED Lighting Controller
The PIC16F687-I/SS serves as a low-cost LED lighting controller for architectural dimmers, RGB color controllers, and decorative light strips. Its two CCP/PWM modules generate hardware PWM signals for LED dimming without software overhead. The 20 MHz clock supports up to 9.9-bit PWM resolution at 10 kHz, eliminating flicker in video applications. The 128-byte EEPROM stores brightness presets across power cycles. The integrated comparator provides zero-cross detection for TRIAC-based AC dimmers, eliminating dedicated zero-cross ICs. The 2.0-5.5V supply supports both 3.3V DC and 5V USB-powered luminaires directly.
Recommended
Industrial Sensor Front-End
The PIC16F687-I/SS fits industrial 4-20 mA sensor transmitters, RTD signal conditioners, and process control loops where 8-bit processing is sufficient. Its 8-channel 10-bit ADC reads bridge sensors, RTDs, and 4-20 mA current sense resistors with 4.88 mV resolution. The hardware watchdog timer (WDT) and brown-out reset (BOR) survive industrial EMI events better than pure software supervisors. The MSSP peripheral drives SPI or I2C DACs (MCP4921) and external EEPROMs. The industrial -40°C to +85°C temperature range supports factory floor and outdoor enclosure deployments without derating.
Recommended
Remote Control Transmitter
The PIC16F687-I/SS is a cost-effective 8-bit controller for IR/RF remote controls including TV remotes, garage door openers, and ceiling fan controllers. The 18 I/O pins scan a 4×5 keypad matrix with hardware interrupt-on-change, eliminating polling overhead. The USART or PWM drives IR LED at 38 kHz carrier frequency. The 128-byte EEPROM stores pairing codes and learned device IDs. Sleep current below 1 µA extends battery life to multi-year operation. The 200 ns instruction cycle debounces keypresses in hardware without external capacitor network, saving $0.05 per remote.
Recommended
Automotive Body Electronics (Non-Safety)
The PIC16F687-I/SS supports non-safety automotive body electronics such as window lift switches, mirror adjusters, and ambient lighting controllers in 12V automotive systems. The integrated comparators monitor switch contact bounce and battery voltage with 1.5 µs response time. The wide 2.0-5.5V supply requires an external LDO (LM7805) or TVS-protected regulator for 12V/24V automotive buses. For safety-critical body electronics, the PIC16F687-E/SS (extended temperature -40°C to +125°C) is recommended. According to Microchip automotive-grade documentation, AEC-Q100 qualification is not available on the PIC16F687 family.
Recommended
Recommended Products Summary
Engineering reference data for PIC16F687-I/SS — comparison, design guidance, and compliance information.
Selection Guide
Comparison with Alternatives
| Parameter | This Product | PIC16F689-I/SS | PIC16F685-I/SS | PIC16F677-I/SS | PIC16F687-E/SS |
|---|---|---|---|---|---|
| Package | 20-SSOP | 20-SSOP (same) | 20-SSOP (same) | 20-SSOP (same) | 20-SSOP (same) |
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Flash Memory | 3.5 KB | 7 KB (+100%) | 7 KB (+100%) | 2 KB (-43%) | 3.5 KB (same) |
| EEPROM | 128 bytes | 256 bytes (+100%) | 256 bytes (+100%) | 128 bytes (same) | 128 bytes (same) |
| Maximum Clock Speed | 20 MHz | 20 MHz (same) | 20 MHz (same) | 20 MHz (same) | 20 MHz (same) |
| Digital I/O Pins | 18 | 18 (same) | 18 (same) | 18 (same) | 18 (same) |
| CCP/PWM Modules | 2 | 2 (same) | 3 (+50%) | 2 (same) | 2 (same) |
| USART | Yes | Yes | Yes | No (removed) | Yes |
| Temperature Range | -40°C to +85°C (Industrial) | -40°C to +85°C | -40°C to +85°C | -40°C to +85°C | -40°C to +125°C (Extended) |
Key Differentiators
- Higher EEPROM density than PIC16F677 (vs PIC16F677-I/SS)
- Lower cost than PIC16F685 with same peripherals (vs PIC16F685-I/SS)
- Pin-compatible upgrade path to PIC16F689 (vs PIC16F689-I/SS)
- Industrial temperature grade (-40°C to +85°C) (vs PIC16F687-E/SS)
Design Notes
Place a 100 nF decoupling capacitor within 5 mm of the VDD pin, plus a 10 µF bulk capacitor at the supply input. According to Microchip datasheet DS40001262F, the PIC16F687 has no internal brown-out reset trip-point calibration, so add an external voltage supervisor (MCP100 or MCP809) if VDD drops below 2.0V during motor inrush or relay switching. The nanoWatt sleep mode draws <1 µA, but the internal oscillator continues unless OSCCON is configured to disable it.
When using the internal 8 MHz oscillator (factory calibrated to ±1%), leave RC0/RC1 (Timer1 oscillator pins) configured as digital outputs low or analog inputs to minimize leakage. According to datasheet DS40001262F, the ADC acquisition time requires a minimum 1.6 µs hold per source impedance of 10 kΩ; add a 1 kΩ series resistor for high-impedance sensors. The MCLR pin must be tied to VDD through a 10 kΩ pull-up for reliable operation.
Do not exceed the absolute maximum I/O sink/source current of 25 mA per pin or 90 mA per port (PORTA, PORTB, PORTC combined). According to Microchip datasheet DS40001262F, PIC16 mid-range devices latch-up at < 100 mA continuous. For LED driving, use a series resistor to limit current below 10 mA or buffer with a MOSFET. When migrating from PIC16F84A code, the interrupt vector is at 0x0004 and the configuration word is at 0x2007 - failure to update these is the most common porting bug.
For ADC accuracy on battery-voltage sensing, configure AN0-AN11 with acquisition time matched to source impedance: 1.6 µs minimum for <10 kΩ, 6.4 µs for >10 kΩ. According to Microchip datasheet DS40001262F, the ADC's conversion clock must be between 1.6 µs and 6.4 µs for full 10-bit linearity. Use VDD as VREF only when the supply is regulated to within 100 mV; for precision measurements, switch to internal 2.048V or 4.096V reference (where available).
Compliance Information
RoHS compliant per Microchip product page DS40001262F. Not AEC-Q100 qualified - choose PIC16F687-I/SL or other AEC-Q100 variants for automotive safety-critical applications. Lead-free and halogen-free per Microchip environmental compliance documentation.