PIC16F687-E/SO - 8-bit MCU, 3.5KB Flash, 20MHz, SOIC-20
N.º de pieza: PIC16F687-E/SO ✓ Activo| Cant. | Precio unitario | Total |
|---|---|---|
| 1 | $2.45 | $2,45 |
| 10 | $2.2 | $22,00 |
| 100 | $1.95 | $195,00 |
| 500 | $1.72 | $860,00 |
| 1.000 | $1.55 | $1.550,00 |
PIC16F687-E/SO Descripción general
A microcontroller (MCU) is a single-chip computer that combines a CPU, program memory, working RAM, non-volatile data storage, and programmable I/O peripherals on one silicon die. The PIC16 family uses a modified Harvard RISC core with only 35 single-word instructions and a 200 ns instruction cycle at 20 MHz, which gives it deterministic interrupt latency and predictable code execution - qualities that distinguish PIC mid-range devices from complex instruction-set (CISC) 8-bit MCUs and from Cortex-M0/M0+ 32-bit MCUs. PIC16 devices sit in the broader taxonomy: MCU -> 8-bit MCU -> RISC MCU -> flash MCU -> mid-range PIC -> PIC16Fxxx family.
Key specifications include a 2.0 V to 5.5 V wide operating voltage range (the "-E" suffix denotes the Extended industrial temperature grade of -40C to +125C), on-chip nanoWatt power management with multiple idle/sleep modes, and a 10-bit ADC with up to 12 input channels. Peripherals include one Enhanced USART, one MSSP (master SPI or I2C), one 8-bit and one 16-bit timer, and a capture/compare/PWM (CCP) module.
The 20 MHz RISC engine executes one instruction per 200 ns cycle, while the nanoWatt technology cuts sleep current below 1 uA for battery-backed and energy-harvesting designs. The 256-byte EEPROM supports 1M erase/write cycles typical and 40-year retention - useful for storing calibration constants, user settings, or runtime counters without external memory.
Typical applications include battery-powered sensor nodes, low-end consumer appliance controls, automotive body modules (under 125C), industrial sensor signal conditioning with ADC, LED lighting controllers with PWM dimming, and simple user-interface boards with button/switch inputs and indicator LEDs. The wide Vdd range simplifies designs powered from 2x AA cells, USB, or 5 V rails.
When designing with this part, place a 100 nF decoupling capacitor as close as possible to Vdd, and add a 10 uF bulk capacitor near the IC if the supply traces are longer than 25 mm. Leave the MCLR pin pulled high through a 10 kohm resistor unless external reset control is needed; the device does not require an external crystal if the internal 8 MHz oscillator is acceptable for the timing budget.
This page synthesizes distributor pricing, same-family alternatives, and practical design notes not found in a single manufacturer datasheet, helping engineers accelerate the PIC16F687-E/SO selection, sourcing, and board bring-up.
Alternativas directas para PIC16F687-E/SO — mismo encapsulado, compatible pin a pin. Se excluyen las piezas de otro encapsulado que requieren retrabajo de la PCB.
Variantes de esta serie
Modelos de la misma serie compatibles directamente con PIC16F687-E/SO (mismo factor de forma y huella) — difiere en Package, Timers, ADC, Internal Oscillator, Program Memory (Flash).
Herramienta de comparación rápida — seleccione piezas alternativas para compararlas lado a lado:
PIC16F687-I/SO
✅ Sustitución directa📋 Alternativa de referencia (no en el catálogo)
PIC16F687-E/SP
✅ Sustitución directa📋 Alternativa de referencia (no en el catálogo)
PIC16F685-E/SO
✅ Sustitución directa✓ En stock
$1.85 / unidad
Ver hoja de datos →PIC16F677-I/SO
✅ Sustitución directa✓ En stock
$1.05 / unidad
Ver hoja de datos →PIC16F677-E/SO
✅ Sustitución directa✓ En stock
$1.05 / unidad
Ver hoja de datos →PIC16F690-E/SO
✅ Sustitución directa✓ En stock
$2.28 / unidad
Ver hoja de datos →PIC16F687-E/SO Valores máximos y características eléctricas
| Product Type | 8-bit RISC Flash Microcontroller |
| Core Architecture | Mid-range PIC16 (modified Harvard RISC) |
| Instruction Set Size | 35 single-word instructions |
| Maximum Clock Speed | 20 MHz |
| Instruction Cycle Time | 200 ns at 20 MHz |
| Program Memory (Flash) | 3.5 KB |
| Data Memory (SRAM) | 128 bytes |
| Data EEPROM | 256 bytes |
| Operating Voltage Range | 2.0 V to 5.5 V |
| I/O Pins | 18 |
| ADC Channels | 12 x 10-bit |
| Timers | 1 x 8-bit, 1 x 16-bit |
| CCP/PWM Modules | 1 |
| Communication Peripherals | EUSART, MSSP (SPI/I2C) |
| Rango de temperatura de funcionamiento | -40C to +125C (Extended, "-E" grade) |
| Encapsulado | SOIC-20 (SO) wide body, 12.8 mm |
| Internal Oscillator | 8 MHz, software selectable |
| Power-Saving Modes | nanoWatt technology, multiple idle/sleep modes |
| Estado RoHS | Compliant |
| Programming Interface | ICSP (In-Circuit Serial Programming) |
Configuración de pines de PIC16F687-E/SO
| Pin 1 | RA3/AN3/Vref+/MCLR/Vpp — Digital I/O / Analog input 3 / ADC reference positive / Master Clear reset / Programming voltage |
| Pin 2 | RA4/AN4/T0CKI/C1OUT — Digital I/O / Analog input 4 / Timer0 clock input / Comparator 1 output |
| Pin 3 | RA5/AN5/SS/HLVDIN/C2OUT — Digital I/O / Analog input 5 / SPI slave select / High/Low-Voltage Detect input / Comparator 2 output |
| Pin 4 | RA0/AN0/C1IN+/ICSPDAT/ULPWU — Digital I/O / Analog input 0 / Comparator 1 non-inverting input / ICSP data / Ultra-Low-Power Wake-up |
| Pin 5 | RA1/AN1/C1IN-/Vref-/ICSPCLK — Digital I/O / Analog input 1 / Comparator 1 inverting input / ADC reference negative / ICSP clock |
| Pin 6 | RA2/AN2 — Digital I/O / Analog input 2 |
| Pin 7 | VSS — Ground reference |
| Pin 8 | RA7/OSC1/CLKIN — Digital I/O / Oscillator crystal input / External clock input |
| Pin 9 | RA6/OSC2/CLKOUT — Digital I/O / Oscillator crystal output / Clock output |
| Pin 10 | RC0/AN4 — Digital I/O / Analog input 4 (alternate) |
| Pin 11 | RC1/AN5 — Digital I/O / Analog input 5 (alternate) |
| Pin 12 | RC2/AN6 — Digital I/O / Analog input 6 |
| Pin 13 | RC3/AN7 — Digital I/O / Analog input 7 |
| Pin 14 | RC4/AN8 — Digital I/O / Analog input 8 |
| Pin 15 | RC5/AN9 — Digital I/O / Analog input 9 |
| Pin 16 | RC6/AN10/SS/TX/CK — Digital I/O / Analog input 10 / SPI SS / EUSART TX / EUSART clock |
| Pin 17 | RC7/AN11/RX/DT/SDO — Digital I/O / Analog input 11 / EUSART RX / EUSART data / SPI data out |
| Pin 18 | RB4/AN10 — Digital I/O / Analog input 10 (alternate) |
| Pin 19 | VDD — Positive supply voltage (2.0 V to 5.5 V) |
| Pin 20 | VSS — Ground reference (second VSS pin) |
Aplicaciones típicas
PIC16F687-E/SO es adecuado para 6 aplicacións: Battery-Powered Sensor Node, Consumer Appliance Control Board, LED Lighting Controller with PWM Dimming, Automotive Body Electronics Module, Industrial Sensor Signal Conditioning, Simple User Interface Board with Buttons and LEDs.
Battery-Powered Sensor Node
The PIC16F687-E/SO suits battery-powered sensor nodes because of its 2.0-5.5 V operating range (compatible with 2x AA, CR2032, or Li-ion cells), 12-channel 10-bit ADC for multi-sensor acquisition, and nanoWatt sleep modes that drop quiescent current below 1 uA between measurements. With 3.5 KB flash it can run Microchip's MPLAB XC8-compiled sensor-fusion code including I2C temperature/humidity sensor reads and periodic duty-cycled wake-up. The 256-byte EEPROM stores calibration coefficients across battery swaps. Realistic battery life for a 1% duty-cycle temperature logger exceeds 5 years on two AA cells.
Recomendado
Consumer Appliance Control Board
In consumer appliance controls such as coffee makers, air purifiers, and countertop kitchen devices, the PIC16F687-E/SO drives relays, triacs, keypads, and indicator LEDs from its 18 digital I/O. The Enhanced USART plus MSSP enables simple status LEDs over UART or a small OLED display over I2C. With -40C to +125C extended temperature grade the part tolerates elevated cabinet temperatures near heating elements or power-supply heatsinks. The 20 MHz clock gives sub-microsecond response for closed-loop PWM fan control. Typical code footprint for a kitchen timer with EEPROM preset recall fits within 3 KB.
Recomendado
LED Lighting Controller with PWM Dimming
The PIC16F687-E/SO drives LED lighting strings via its Capture/Compare/PWM (CCP) module and additional firmware PWM on RA0-RA5. The 16-bit timer/counter provides high-resolution PWM at low frequencies, supporting smooth logarithmic-dimming curves for warm-white color temperature mixing. With 2.0-5.5 V operation the MCU can run directly from a buck-converter output rail, eliminating an extra LDO. The Extended -40C to +125C grade handles sealed-fixture environments where ambient can climb above 70C at full LED current. The 18 I/O pins are sufficient for RGBW channel drive plus push-button input and status LED feedback.
Recomendado
Automotive Body Electronics Module
The PIC16F687-E/SO is qualified for under-dash and interior body-electronics modules in vehicles where ambient stays under 125C (cluster gauges, seat controllers, mirror adjusters, sunroof modules). Its 12-channel ADC reads switch-position voltages and Hall-effect sensors, while the EUSART connects to LIN or K-Line transceivers for body-network communication. The 256-byte EEPROM stores seat position, mirror presets, and learned user preferences across battery disconnects. NanoWatt sleep mode drops module quiescent current to under 1 uA to meet automotive 100 uA dark-current budgets when the ignition is off.
Recomendado
Industrial Sensor Signal Conditioning
In industrial 4-20 mA loop-powered transmitters, panel meters, and thermocouple cold-junction compensation boards, the PIC16F687-E/SO conditions analog sensor inputs through its 12-channel 10-bit ADC and outputs scaled linearized values over UART or SPI. The -40C to +125C extended grade handles outdoor enclosures and proximity to motor drives. The 256-byte EEPROM holds factory calibration constants that survive power cycling. The EUSART directly drives RS-485 transceivers for half-duplex multi-drop sensor networks on Modbus RTU. With 18 I/O it can scan multiple analog channels plus drive a small 7-segment display for local readout.
Recomendado
Simple User Interface Board with Buttons and LEDs
For keyboard controllers, remote-control keypads, simple HVAC thermostat user interfaces, and home-automation wall switches, the PIC16F687-E/SO scans matrix keypads via its digital I/O, debounces inputs in software, drives LED indicators or character LCDs, and reports state changes to a host controller over UART or I2C. The 3.5 KB flash is more than enough for debounce, hold-repeat, and simple backlight control firmware. The 2.0-5.5 V range lets the board run from a 3.3 V regulator or directly from 2x AA cells. The extended -40C to +125C grade supports outdoor wall-switch installations exposed to direct sun.
Recomendado
Resumen de productos recomendados
Datos de referencia de ingeniería para PIC16F687-E/SO — comparación, orientación de diseño e información de cumplimiento.
Guía de selección
Comparación con alternativas
| Parámetro | Este producto | PIC16F687-I/SO | PIC16F685-E/SO | PIC16F677-E/SO | PIC16F690-E/SO |
|---|---|---|---|---|---|
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Package | SOIC-20 (SO) | SOIC-20 (SO) - same | SOIC-20 (SO) - same | SOIC-20 (SO) - same | SOIC-20 (SO) - same |
| Flash Memory | 3.5 KB | 3.5 KB | 7 KB | 7 KB | 14 KB |
| SRAM | 128 B | 128 B | 256 B | 128 B | 512 B |
| EEPROM | 256 B | 256 B | 256 B | 256 B | 256 B |
| Maximum Clock | 20 MHz | 20 MHz | 20 MHz | 20 MHz | 20 MHz |
| Operating 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 5.5 V |
| I/O Pins | 18 | 18 | 18 | 18 | 20 |
| ADC Channels | 12 x 10-bit | 12 x 10-bit | 12 x 10-bit | 12 x 10-bit | 12 x 10-bit |
| Temperature Grade | -40C to +125C (Extended, -E) | -40C to +85C (Industrial, -I) | -40C to +125C (Extended, -E) | -40C to +125C (Extended, -E) | -40C to +125C (Extended, -E) |
| CCP/PWM Modules | 1 | 1 | 1 | 1 | 2 |
Diferenciadores clave
- Wider temperature range than -I grade (frente a PIC16F687-I/SO)
- Right-sized memory partition for 3 KB firmware footprints (frente a PIC16F685-E/SO)
- More EEPROM than -F677 family (frente a PIC16F677-E/SO)
- nanoWatt technology for sub-1 uA sleep current (frente a PIC16F690-E/SO)
Notas de diseño
Place a 100 nF ceramic decoupling capacitor as close as possible to the VDD pin (pin 19), with traces shorter than 5 mm to the IC. Add a bulk 10 uF tantalum or ceramic capacitor near the device if the supply trace runs longer than 25 mm. The two VSS pins (pin 7 and pin 20) must both be tied to ground; leaving pin 20 floating can cause intermittent ADC reference errors and brown-out resets under high digital switching loads.
Route the MCLR pin (pin 1, RA3) away from high-frequency switching traces and keep its pull-up resistor (typically 10 kohm to VDD) within 5 mm of the pin. If external reset control is not needed, leave pin 1 tied directly through the 10 kohm resistor. Place any decoupling capacitors for the ICSP programming header on the same side of the board so the PICkit or ICD programmer can drive clean Vpp levels during in-circuit serial programming.
When using the ADC for precision measurements, add a small RC filter (typically 1 kohm + 100 pF) between the analog source and each ANx pin to limit input bandwidth below the Nyquist rate of the 10-bit converter. Use a separate analog ground island connected to the digital ground at a single point near the VSS pins to avoid digital return currents corrupting the ADC reading. Average at least 16 samples in firmware for sub-LSB noise reduction.
Do not assume the internal 8 MHz oscillator is accurate enough for UART communication; the factory calibration is typically +/-2% across 2.0-5.5 V and -40C to +125C, which exceeds the +/-1.6% RS-232 baud-rate tolerance at high speeds. For UART or LIN use, either switch to a 20 MHz external crystal (HS mode) or use the internal oscillator with auto-baud detection and software trimming. Also note that the F687 has LESS flash than the F677/F685 despite the lower family number - this is a frequent source of code-size confusion in the PIC16F6xx family.
Estimated: at maximum 20 MHz operation and typical 5 V VDD, the PIC16F687-E/SO core current is about 8 mA active and below 1 uA in sleep. Power dissipation is therefore under 50 mW active and negligible in sleep - well below SOIC-20 thermal limits. No heatsink is required for any normal application. The Extended -40C to +125C grade is a silicon-level qualification and does not require additional thermal management beyond standard PCB copper pour for ground.
Información de cumplimiento
RoHS and lead-free compliant per Microchip product page and SOIC-20 package marking. Not AEC-Q100 qualified - for automotive applications, Microchip recommends the PIC16F687-E/SO only for non-safety body-electronics uses; for safety-critical or under-hood applications choose an AEC-Q100 qualified part such as PIC16F18446-E/SO.