PIC16F870-E/SP - 8-bit MCU, 3.5KB Flash, 20MHz, 28-SPDIP | Microchip
MPN: PIC16F870-E/SP ✓ Active| Qty | Unit Price | Extended |
|---|---|---|
| 1 | $4.4158 | $4.42 |
| 10 | $3.97 | $39.70 |
| 100 | $3.53 | $353.00 |
| 500 | $3.17 | $1,585.00 |
| 1,000 | $2.85 | $2,850.00 |
PIC16F870-E/SP Overview
A microcontroller (MCU) is a single-chip computer that integrates a CPU, memory (Flash program storage, RAM for data, EEPROM for non-volatile storage), and a configurable set of analog and digital peripherals. The PIC16F870 sits within the taxonomy of embedded MCU -> 8-bit RISC MCU -> mid-range PIC16 family -> 28-pin mid-range variant. Its nanoWatt Technology power management gives engineers a low-power path for battery or energy-harvesting designs, while its 5-channel 10-bit Analog-to-Digital converter enables direct sensor interfacing without an external ADC.
Key features include five 10-bit ADC channels, two additional 8/16-bit timers with capture/compare/PWM (CCP) functionality, an integrated Universal Asynchronous Receiver Transmitter (USART), in-circuit debugger (ICD) support, and self-programming capability. The Harvard RISC architecture with separate program and data buses eliminates Von Neumann bottleneck, and 22 digital I/O pins (shared with analog and peripheral functions) provide ample GPIO for typical embedded designs.
Typical applications span industrial control panels, sensor monitoring nodes, low-speed serial interfaces, and small appliance controllers where an 8-bit processor, modest memory, and integrated peripherals are sufficient. The 28-pin SPDIP package is socket-friendly, making it well-suited for prototypes, educational platforms, and low-volume production.
When designing with this device, budget for the ADC acquisition time in higher-impedance sensor networks and use Microchip's ICD interface for in-system debugging via the RB3/RB6/RB7 pins. Avoid using RB4-RB7 for high-impedance inputs because the ICD interface owns these signals during in-circuit programming.
Drop-in alternatives for PIC16F870-E/SP — 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 PIC16F870-E/SP (same form factor and footprint) — differing in Package, Mounting Type, Timers, ADC, Core Architecture.
Quick Comparison Tool — Select alternative parts for side-by-side comparison:
PIC16F870-I/SP
✅ Drop-In✓ In Stock
$2.18 / Unit
View Datasheet →PIC16F870-E/SO
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F873A-E/SP
✅ Drop-In✓ In Stock
$4.62 / Unit
View Datasheet →PIC16F872A-I/SP
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F871-E/SP
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F870-E/SP Maximum Ratings & Electrical Characteristics
| Program Memory Type | Flash |
| Program Memory Size | 3.5 KB (2048 words x 14-bit) |
| RAM | 128 bytes |
| EEPROM Data Memory | 64 bytes |
| CPU Architecture | 8-bit RISC (PIC16 mid-range, Harvard) |
| Instruction Set | 35 single-word instructions |
| Instruction Cycle Time | 200 ns |
| Maximum Clock Speed | 20 MHz |
| Supply Voltage (Operating) | 4.0 V to 5.5 V |
| I/O Pins | 22 |
| ADC | 5 channels, 10-bit |
| Timers | TMR0, TMR1, TMR2 (3 timers + WDT) |
| Capture/Compare/PWM | 1 CCP module + 1 enhanced ECCP |
| Serial Interface | USART (SCI) |
| Package | 28-pin SPDIP (Skinny Plastic DIP, 0.300") |
| Mounting Type | Through-hole |
| Operating Temperature Range | -40 C to +125 C (Extended, "-E" suffix) |
| Power-Saving Technology | nanoWatt Technology |
| In-Circuit Debugging | ICD-supported (RB3/RB6/RB7) |
| Self-Programming | Yes (Flash program memory) |
PIC16F870-E/SP Pin Configuration
| Pin 1 | RA2 — GPIO / AN2 / VREF- |
| Pin 2 | RA3 — GPIO / AN3 / VREF+ |
| Pin 3 | RA4 — GPIO / AN4 / T0CKI |
| Pin 4 | MCLR — Master Clear / Reset input |
| Pin 5 | VSS — Ground |
| Pin 6 | RB0 — GPIO / INT0 |
| Pin 7 | RB1 — GPIO / RX (USART receive) |
| Pin 8 | RB2 — GPIO / TX (USART transmit) |
| Pin 9 | RB3 — GPIO / CCP1 / PGD (ICD data) |
| Pin 10 | RB4 — GPIO / PGM (low-voltage programming) |
| Pin 11 | RB5 — GPIO |
| Pin 12 | RB6 — GPIO / PGC (ICD clock) |
| Pin 13 | RB7 — GPIO / TX2 / ICSPCLK |
| Pin 14 | VSS — Ground |
| Pin 15 | OSC1 — Crystal/oscillator input |
| Pin 16 | OSC2 — Crystal/oscillator output |
| Pin 17 | RC0 — GPIO / T1OSO / T13CKI |
| Pin 18 | RC1 — GPIO / T1OSI / CCP2 |
| Pin 19 | RC2 — GPIO / CCP1 |
| Pin 20 | RC3 — GPIO |
| Pin 21 | RC4 — GPIO |
| Pin 22 | RC5 — GPIO |
| Pin 23 | RC6 — GPIO / TX (USART) |
| Pin 24 | RC7 — GPIO / RX (USART) |
| Pin 25 | VSS — Ground |
| Pin 26 | VDD — Positive supply (4.0-5.5V) |
| Pin 27 | RA0 — GPIO / AN0 |
| Pin 28 | RA1 — GPIO / AN1 |
Typical Applications
PIC16F870-E/SP is suitable for 6 applications: Industrial Sensor Monitoring, White Goods and Appliance Controllers, Low-Speed Serial Bridge (USART-to-UART), Battery-Powered Edge Sensor Nodes, Educational Microcontroller Platforms, HVAC Fan and Blower Controllers.
Industrial Sensor Monitoring
The PIC16F870-E/SP fits industrial sensor monitoring because its 5-channel 10-bit ADC provides direct interface to analog transducer outputs such as strain gauges, thermocouples via amplifiers, and 4-20 mA current loops, while its nanoWatt power-saving modes support battery and energy-harvesting nodes. Placed between the sensor bridge and a Modbus or UART link to a PLC, the part samples at the on-chip ADC with 10-bit resolution (4.88 mV per LSB at 5V) and forwards data via the integrated USART. Unlike an external ADC solution, integrating on-chip eliminates extra BOM and the 28-SPDIP package is socket-friendly for field-serviceability in industrial panels.
Recommended
White Goods and Appliance Controllers
The PIC16F870-E/SP fits appliance controllers because its 28-pin count provides enough GPIO for relays, triac drivers, button matrices, and segment displays, while its -40 C to +125 C extended temperature range supports under-hood or motor-bearing thermal environments. Placed as the system controller in a washing machine, dishwasher, or oven user interface, the part handles front-panel scanning, PWM-driven motor/valve control via the ECCP module, and timer-driven state machines across 35 single-word instructions. Compared to logic-only solutions, integrating a programmable controller eliminates ASIC NRE and accelerates feature differentiation.
Recommended
Low-Speed Serial Bridge (USART-to-UART)
The PIC16F870-E/SP fits isolated RS-232/RS-485 bridges because its integrated USART provides hardware framing for asynchronous serial protocols at up to 19.2 kbaud or higher depending on oscillator, eliminating bit-banged software UART overhead. Placed between an industrial UART endpoint and an isolated RS-485 link, the device buffers data using its 128-byte RAM and dispatches via the CCP module for flow-control timing, with the extended -40 C to +125 C range suiting outdoor or factory-floor mounting. Compared to a dedicated UART bridge IC, the programmable MCU allows protocol adaptation and firmware field updates via the on-chip Flash self-programming.
Recommended
Battery-Powered Edge Sensor Nodes
The PIC16F870-E/SP fits battery-powered edge nodes because its nanoWatt technology offers sleep currents in the microamp range and the 4.0-5.5V supply range aligns directly with single-cell Li-ion or four-cell NiMH stacks. Placed on a wireless sensor board, the part wakes periodically to sample via the 10-bit ADC, transmits over the USART to a sub-GHz radio, and returns to sleep, with 128-byte RAM sufficient for small buffers and 64-byte EEPROM enabling non-volatile calibration storage. Unlike ARM Cortex-M0 alternatives, the PIC16F870's deterministic 8-bit RISC pipeline simplifies latency budgeting and reduces power-management firmware complexity.
Recommended
Educational Microcontroller Platforms
The PIC16F870-E/SP fits education platforms because its 28-SPDIP through-hole package sits cleanly in 0.300" wide IC sockets on breadboards and trainer boards, allowing easy insertion and replacement by students. Placed at the heart of an introductory embedded-systems course, the device exercises GPIO, ADC, timers, PWM, and USART using the same instruction set taught in academic materials, while the on-chip ICD interface via RB3/RB6/RB7 enables single-step debugging without a header-swapping emulator. Compared to QFN-only modern MCUs, the SPDIP variant allows continuity in legacy lab kits and breadboard prototyping.
Recommended
HVAC Fan and Blower Controllers
The PIC16F870-E/SP fits HVAC fan controllers because its ECCP module generates PWM at 10-bit resolution for variable-speed brushless DC motor drives, while the 5-channel 10-bit ADC reads tachometer feedback, thermistor inputs, and supply voltage. Placed on a fan-controller PCB, the device regulates RPM against temperature setpoints using its timers and PWM, with on-chip EEPROM (64 bytes) storing calibration constants and user preferences across power cycles. Compared to analog fan controllers, the programmable MCU implements soft-start curves, fault diagnostics, and communication-based speed override from a building-management system.
Recommended
Recommended Products Summary
Engineering reference data for PIC16F870-E/SP — comparison, design guidance, and compliance information.
Selection Guide
Comparison with Alternatives
| Parameter | This Product | PIC16F870-I/SP | PIC16F870-E/SO | PIC16F873A-E/SP | PIC16F872A-I/SP | PIC16F871-E/SP |
|---|---|---|---|---|---|---|
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Package | 28-SPDIP (0.300") | 28-SPDIP - same | 28-SOIC - same footprint | 28-SPDIP - same | 28-SPDIP - same | 28-SPDIP - same |
| Program Memory | 3.5 KB Flash | 3.5 KB Flash | 3.5 KB Flash | 7 KB Flash | 3.5 KB Flash | 3.5 KB Flash |
| RAM | 128 bytes | 128 bytes | 128 bytes | 192 bytes | 128 bytes | 128 bytes |
| EEPROM | 64 bytes | 64 bytes | 64 bytes | 128 bytes | 64 bytes | 64 bytes |
| ADC | 5x 10-bit | 5x 10-bit | 5x 10-bit | 8x 10-bit | 5x 10-bit | 8x 10-bit |
| Operating Temperature | -40 C to +125 C (Extended) | -40 C to +85 C (Industrial) | -40 C to +125 C (Extended) | -40 C to +125 C (Extended) | -40 C to +85 C (Industrial) | -40 C to +125 C (Extended) |
| Max Clock Speed | 20 MHz | 20 MHz | 20 MHz | 20 MHz | 20 MHz | 20 MHz |
| CCP Modules | 1 CCP + 1 ECCP | 1 CCP + 1 ECCP | 1 CCP + 1 ECCP | 2 CCP | 1 CCP + 1 ECCP | 2 CCP |
Key Differentiators
- Extended-temperature, Flash-based mid-range MCU in 28-SPDIP (vs PIC16F870-I/SP)
- Through-hole SPDIP package for prototyping and legacy (vs PIC16F870-E/SO)
- Code-compatible upgrade path to 7 KB Flash on same footprint (vs PIC16F873A-E/SP)
- Self-programming and ICD in-circuit debug on-chip (vs PIC16F872A-I/SP)
Design Notes
Place a 100 nF decoupling capacitor as close as physically possible to the VDD pin (pin 26) with the ground return via the VSS pin (pin 25), keeping the trace loop area under 5 mm square to suppress switching transients during current spikes on the output drivers. For designs that also reference analog signals, consider a separate filtered 100 nF + 10 uF RC network on the AV analog rails if present, because the PIC16F870 shares VDD with the ADC supply. Estimated: trace inductance of 1 nH/mm and 50 mA transient gives ~5 mV drop; a tight bypass placement caps the peak.
Do not leave the MCLR pin floating; tie it through a 10 kohm pull-up to VDD or follow the in-circuit programming schematic in Microchip datasheet 30569b. Floating MCLR causes intermittent resets and unpredictable initialization. For low-voltage programming (LVP) enabled, leave RB4 unjumpered on the PGM pin; for high-voltage programming (HVP), the MCLR rail must meet the Vih level specified in the datasheet.
When using the in-circuit debugger (ICD), the RB3/RB6/RB7 pins are temporarily driven by the debugger during programming and debugging, so avoid designing high-impedance analog inputs on these pins that are sensitive to the brief loading applied. RB4-RB7 are weak-pull-up enabled in code, but external pull-ups on those pins can mask the ICD handshake. Add a 4.7 kohm or larger resistor on the PGD/PGC lines if you intend the bus to remain multi-dropped during programming.
The nanoWatt technology modes (Sleep, RC idle) drop supply current to single-digit microamps depending on frequency and peripherals active, but accurate datasheet figures require setting the configuration bits to disable the brown-out reset if not used in battery-powered designs. Brown-out reset (BOR) consumes an additional ~25 uA typical according to Microchip datasheet 30569b; disable BOR in software for lowest sleep current at the cost of losing the brown-out safety net on low battery conditions.
Compliance Information
RoHS/REACH compliance not explicitly stated in the provided verified web data; Microchip product page would confirm. The PIC16F870-E/SP is not AEC-Q100 qualified; it targets industrial embedded applications rather than automotive under-hood use.