PIC16F870-I/SS - 8-Bit 20MHz 3.5KB Flash MCU 28-SSOP | Microchip
MPN: PIC16F870-I/SS β Active| Qty | Unit Price | Extended |
|---|---|---|
| 1 | $3.85 | $3.85 |
| 10 | $3.46 | $34.60 |
| 100 | $3.1 | $310.00 |
| 500 | $2.78 | $1,390.00 |
| 1,000 | $2.47 | $2,470.00 |
PIC16F870-I/SS Overview
A mid-range PIC microcontroller such as the PIC16F870 belongs to a class of 8-bit Harvard-architecture microcontrollers that separates program and data memory buses, allowing simultaneous fetch and execute in a single instruction cycle. The PIC16F876A family tree sits between baseline PIC10/12 devices and high-performance PIC18 parts; it is targeted at cost-sensitive embedded control with on-chip peripherals and self-programming support for in-application firmware updates. The 28-SSOP (Shrink Small Outline Package) provides a compact 0.65 mm pitch footprint while maintaining 22 digital I/O lines.
Key features include 22 I/O pins, a programmable code-protection scheme, nanoWatt power management for low-power sleep operation, an on-chip In-Circuit Debugger (ICD), and 64 bytes of EEPROM rated for 100K erase/write cycles. The USART supports RS-232 and RS-485 comms, while the MSSP module handles both SPI and I2C master/slave protocols. Five 10-bit ADC channels enable direct sensor interfacing without external analog components.
The device operates from 4.0V to 5.5V (PIC16F870) or 2.0V to 5.5V (PIC16LF870 variant). Built around Microchip's enhanced mid-range core, the PIC16F870 supports 14-bit instruction word, hardware multiplier, and 8-level hardware stack. Self-programming enables bootloader-style firmware updates via any of the serial interfaces.
Typical applications include industrial sensor monitoring, HVAC fan controllers, small appliance control, automotive body electronics, low-end instrumentation, and battery-charging regulators. The 28-pin SSOP package makes it suitable for space-constrained PCB designs where 40-pin DIP variants (PIC16F871) are too large.
When designing with the PIC16F870-I/SS, ensure the system clock configuration (HS, XT, RC, or internal) matches the timing requirements of the application. Decoupling capacitors (0.1 uF and 10 uF) must be placed close to VDD/VSS pins, and unused I/O should be configured as outputs low to minimize current draw.
This page synthesizes distributor pricing, SSOP-packaged drop-in alternatives, and practical design notes that go beyond the manufacturer datasheet to accelerate your component selection and PCB layout decisions.
Drop-in alternatives for PIC16F870-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 PIC16F870-I/SS (same form factor and footprint) β differing in Package, Self-Programming, Mounting Type, ADC, Core Architecture.
Quick Comparison Tool β Select alternative parts for side-by-side comparison:
PIC16F870-E/SS
β Drop-Inπ Reference alternative (not in catalog)
PIC16F870T-I/SS
β Drop-Inβ In Stock
$2.55 / Unit
View Datasheet βPIC16LF870-I/SS
β Drop-Inπ Reference alternative (not in catalog)
PIC16F870-I/SP
β Drop-Inβ In Stock
$2.18 / Unit
View Datasheet βPIC16F876A-I/SS
β Drop-Inπ Reference alternative (not in catalog)
PIC16F870-I/SS Maximum Ratings & Electrical Characteristics
| Core | PIC16 mid-range 8-bit RISC |
| Instruction Set | 35 instructions, 14-bit wide |
| Operating Frequency | DC to 20 MHz (200 ns instruction cycle) |
| Program Memory (Flash) | 3.5 KB (2K x 14 words) |
| Data RAM | 128 bytes |
| Data EEPROM | 64 bytes |
| I/O Pins | 22 |
| Timers | 2 x 8-bit, 1 x 16-bit |
| ADC | 10-bit, 5 channels |
| Serial Interfaces | USART (RS-232/RS-485), MSSP (SPI/I2C) |
| CCP Module | Capture/Compare/PWM, 1 module |
| Operating Voltage (PIC16F870) | 4.0 V to 5.5 V |
| Operating Temperature (Industrial -I) | -40 C to +85 C |
| Package | 28-pin SSOP (5.30 mm body, 0.65 mm pitch) |
| On-chip Debug | ICD (In-Circuit Debugger) |
| Self-Programming | Yes (flash program memory) |
| Hardware Stack | 8 levels |
| RoHS Status | Compliant |
PIC16F870-I/SS Pin Configuration
| Pin 1 | MCLR/VPP/RA5 β Master Clear (reset) input / programming voltage / PORTA bit 5 |
| Pin 2 | RA0/AN0 β PORTA bit 0 / Analog input channel 0 |
| Pin 3 | RA1/AN1 β PORTA bit 1 / Analog input channel 1 |
| Pin 4 | RA2/AN2/CVREF β PORTA bit 2 / Analog input channel 2 / Comparator voltage reference output |
| Pin 5 | RA3/AN3/VREF+ β PORTA bit 3 / Analog input channel 3 / Positive voltage reference |
| Pin 6 | RA4/AN4/T0CKI β PORTA bit 4 / Analog input channel 4 / Timer 0 clock input |
| Pin 7 | RA5/AN5/SS β PORTA bit 5 / Analog input channel 5 / Slave Select for SPI |
| Pin 8 | VSS β Ground reference |
| Pin 9 | OSC1/CLKI β Crystal oscillator input / external clock input |
| Pin 10 | OSC2/CLKO β Crystal oscillator output / clock output |
| Pin 11 | RC0/T1OSO/T1CKI β PORTC bit 0 / Timer 1 oscillator output / Timer 1 clock input |
| Pin 12 | RC1/T1OSI/CCP2 β PORTC bit 1 / Timer 1 oscillator input / CCP2 module |
| Pin 13 | RC2/CCP1 β PORTC bit 2 / Capture/Compare/PWM 1 |
| Pin 14 | RC3/SCK/SCL β PORTC bit 3 / SPI clock / I2C clock |
| Pin 15 | RC4/SDI/SDA β PORTC bit 4 / SPI data in / I2C data |
| Pin 16 | RC5/SDO β PORTC bit 5 / SPI data out |
| Pin 17 | RC6/TX/CK β PORTC bit 6 / USART transmit / clock |
| Pin 18 | RC7/RX/DT β PORTC bit 7 / USART receive / data |
| Pin 19 | VSS β Ground reference |
| Pin 20 | VDD β Positive supply voltage |
| Pin 21 | RB0/INT β PORTB bit 0 / External interrupt |
| Pin 22 | RB1 β PORTB bit 1 |
| Pin 23 | RB2 β PORTB bit 2 |
| Pin 24 | RB3/PGM β PORTB bit 3 / Low-voltage programming input |
| Pin 25 | RB4 β PORTB bit 4 |
| Pin 26 | RB5/PGM β PORTB bit 5 / Low-voltage programming input |
| Pin 27 | RB6/PGC β PORTB bit 6 / ICSP clock |
| Pin 28 | RB7/PGD β PORTB bit 7 / ICSP data |
Typical Applications
PIC16F870-I/SS is suitable for 6 applications: Industrial Sensor Monitoring, Small Appliance Control, HVAC Fan and Blower Controller, Battery Charging Regulator, Automotive Body Electronics, Low-End Instrumentation and Data Loggers.
Industrial Sensor Monitoring
The PIC16F870-I/SS fits industrial sensor monitoring nodes where a compact SSOP-28 footprint, 5-channel 10-bit ADC, and USART serial communication are needed. Its 3.5 KB flash comfortably hosts RTD/thermocouple linearization tables and Modbus RTU framing logic for a single sensor node. The 22 I/O pins accommodate 4-20 mA loop interfaces, status LEDs, and watchdog relay drivers. The -40 C to +85 C industrial temperature rating supports factory-floor deployments. Pair with a PIC16F870-I/SS to scale cost-sensitive distributed sensor networks across 24 V industrial rails.
Recommended
Small Appliance Control
The PIC16F870-I/SS powers small appliance controllers such as coffee makers, bread machines, and countertop ovens. Its Capture/Compare/PWM module drives TRIAC phase-angle control for heating elements, while the 16-bit timer provides precise timing for brew cycles and toasting profiles. The 5-channel ADC reads NTC thermistors, water-level sensors, and keypad inputs. With 22 I/O pins, the same die handles LCD multiplexing, buzzer drive, and safety interlocks in a single chip, reducing BOM cost. Self-programming flash supports late-stage firmware customization per appliance model.
Recommended
HVAC Fan and Blower Controller
The PIC16F870-I/SS controls variable-speed HVAC fans using its CCP PWM module and 16-bit timer to generate phase-correct PWM up to 20 kHz. The 5-channel ADC samples temperature, humidity, and pressure sensors, while the USART relays status to the building management system via RS-485. The 128 B RAM holds current fan curve tables, and 3.5 KB flash fits state-machine control logic plus fault diagnostics. Industrial temperature range and 22 I/O support optocoupled triac drivers and tachometer feedback. Deploy with a PIC16F870-I/SS as the main controller and PIC12F series as remote sensor endpoints.
Recommended
Battery Charging Regulator
The PIC16F870-I/SS implements CC/CV battery charging profiles using its 10-bit ADC for voltage and current sensing, plus the PWM module for buck-converter duty-cycle control. The 64 B EEPROM stores charging profiles for Li-Ion, NiMH, and lead-acid chemistries without rewriting flash. The MSSP I2C interface talks to battery gas gauges and SMBus smart batteries, while the USART provides diagnostics to a host controller. With 128 B RAM and 3.5 KB flash, full state-machine charging logic fits. The 4.0 V to 5.5 V supply range accommodates single-cell Li-Ion plus boost converters.
Recommended
Automotive Body Electronics
The PIC16F870-I/SS supports automotive body modules such as seat controllers, mirror adjusters, and lighting dimmers. Its 22 I/O drive H-bridges and LED strings via MOSFET gate drivers, while the ADC reads Hall-effect position sensors and current shunts. The USART/MSSP interfaces connect to LIN or CAN sub-modules for body-network integration. While the industrial -I variant operates to +85 C, automotive designs typically select the PIC16F870-E/SS extended-temperature variant from the same die. The SSOP-28 footprint fits tight door-panel and headliner PCB layouts.
Recommended
Low-End Instrumentation and Data Loggers
The PIC16F870-I/SS powers low-cost portable instrumentation such as hand-held multimeters, pH meters, and environmental data loggers. Its 10-bit ADC captures sensor signals at up to 5 channels, and the 64 B EEPROM stores calibration constants between power cycles. The 128 B RAM buffers sample arrays before flushing to external EEPROM via I2C. The USART streams logged data to a PC for analysis. Industrial temperature support and low nanoWatt sleep current extend battery life in field-deployed instruments. Designers leverage self-programming flash for bootloader-style firmware updates in the field.
Recommended
Recommended Products Summary
Engineering reference data for PIC16F870-I/SS β comparison, design guidance, and compliance information.
Selection Guide
Comparison with Alternatives
| Parameter | This Product | PIC16F870-E/SS | PIC16F870T-I/SS | PIC16LF870-I/SS | PIC16F870-I/SP | PIC16F876A-I/SS |
|---|---|---|---|---|---|---|
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Package | 28-SSOP (0.65 mm pitch) | 28-SSOP (0.65 mm pitch) - same | 28-SSOP (0.65 mm pitch) - same | 28-SSOP (0.65 mm pitch) - same | 28-SPDIP (1.778 mm pitch) - through-hole | 28-SSOP (0.65 mm pitch) - same |
| Program Memory (Flash) | 3.5 KB (2K x 14) | 3.5 KB (2K x 14) | 3.5 KB (2K x 14) | 3.5 KB (2K x 14) | 3.5 KB (2K x 14) | 14 KB (8K x 14) |
| Data RAM | 128 bytes | 128 bytes | 128 bytes | 128 bytes | 128 bytes | 368 bytes |
| Data EEPROM | 64 bytes | 64 bytes | 64 bytes | 64 bytes | 64 bytes | 256 bytes |
| Operating Voltage | 4.0 V to 5.5 V | 4.0 V to 5.5 V | 4.0 V to 5.5 V | 2.0 V to 5.5 V | 4.0 V to 5.5 V | 2.0 V to 5.5 V |
| Operating Temperature | -40 C to +85 C (Industrial) | -40 C to +125 C (Extended) | -40 C to +85 C (Industrial) | -40 C to +85 C (Industrial) | -40 C to +85 C (Industrial) | -40 C to +85 C (Industrial) |
| ADC Channels / Resolution | 5 channels / 10-bit | 5 channels / 10-bit | 5 channels / 10-bit | 5 channels / 10-bit | 5 channels / 10-bit | 8 channels / 10-bit |
| I/O Pins | 22 | 22 | 22 | 22 | 22 | 22 |
| Unit Price (qty 1) | $3.85 | $4.10 (extended temp premium) | $3.85 | $4.05 (low-voltage variant) | $3.95 (through-hole) | $5.20 |
Key Differentiators
- Same SSOP-28 footprint with extended-temperature operation (vs PIC16F870-E/SS)
- Low-voltage variant for battery-powered designs (vs PIC16LF870-I/SS)
- Drop-in SSOP-28 upgrade with 4x more flash and RAM (vs PIC16F876A-I/SS)
- Through-hole alternative with identical electrical ratings (vs PIC16F870-I/SP)
Design Notes
Place a 0.1 uF decoupling capacitor within 5 mm of each VDD pin (pin 20) and a bulk 10 uF tantalum or ceramic capacitor on the same VDD trace. For battery-backed designs, the PIC16F870 supports nanoWatt sleep mode at sub-microamp quiescent current; verify the BOR (Brown-Out Reset) voltage is configured above the minimum operating voltage to avoid spurious resets during supply collapse. Estimated: at 20 MHz and 5 V supply, the active current is typically 11 mA, so the bulk capacitor must supply transient peaks above this level.
Route the crystal between OSC1 (pin 9) and OSC2 (pin 10) with traces no longer than 10 mm and grounded guard traces on either side to minimize EMI coupling. Place load capacitors (typically 15-33 pF for HS mode) close to the crystal pins. For ICD debugging, ensure the PGC (pin 27) and PGD (pin 28) lines are not loaded with more than 50 pF of stray capacitance to avoid programming failures. The MCLR pull-up resistor (typically 10 kOhm) must be placed within 5 mm of pin 1 to ensure reliable reset.
Do not leave unused I/O pins floating; configure them as outputs driving low to minimize current draw in CMOS inputs. The PIC16F870's analog inputs (AN0-AN5) require the TRISA register to set the pin as input AND the ADCON1 register to configure digital or analog mode - forgetting the ADCON1 step causes the ADC to read garbage or short analog channels to digital logic. The MSSP module in I2C mode requires external pull-up resistors (typically 4.7 kOhm) on SDA and SCL; the PIC16F870 has weak internal pull-ups but they are insufficient for reliable multi-master operation.
For long-trace USART connections (>50 mm), place a series resistor (100 ohm) close to the TX pin to dampen reflections on the line. The USART baud-rate error must be calculated against the actual oscillator frequency; for 20 MHz operation the error is typically below 1 percent at common baud rates. The ADC sampling time is governed by the ADC clock select bits (ADCS2:ADCS0); at 20 MHz system clock, use Fosc/32 or slower for full 10-bit accuracy. ADC input impedance during sample is approximately 10 kOhm, so source impedances above 5 kOhm require an external buffer amplifier.
Compliance Information
RoHS compliant per Microchip product page. PIC16F870-I/SS industrial temperature grade is not AEC-Q100 qualified; PIC16F870-E/SS extended temperature variant is recommended for automotive-grade deployments.