PIC16F870-I/SP - 8-bit MCU 20MHz 3.5KB Flash 28-SPDIP | Microchip
N.º da peça: PIC16F870-I/SP ✓ Ativo| Qtd. | Preço unitário | Total |
|---|---|---|
| 1 | $3.34 | $3,34 |
| 10 | $3 | $30,00 |
| 100 | $2.65 | $265,00 |
| 500 | $2.4 | $1.200,00 |
| 1.000 | $2.18 | $2.180,00 |
PIC16F870-I/SP Visão geral
A microcontroller is a single-chip embedded computer combining a processor core, non-volatile program memory, volatile data memory, and programmable peripherals on one silicon die. The PIC16F870 sits inside the hierarchy 8-bit PIC microcontroller -> PIC16 mid-range family -> CMOS FLASH-based MCU -> embedded system. It is upwards compatible with PIC16C5X, PIC12CXXX, and PIC16C7X legacy devices for migration of older designs.
Key features of the PIC16F870 include a 5-channel 10-bit Analog-to-Digital converter for direct sensor interfacing, one Capture/Compare/PWM (CCP) module for timing and motor control, a Universal Asynchronous Receiver Transmitter (USART) for asynchronous serial links, and self-programming capability for in-field firmware upgrades. The 22 digital I/O pins are distributed across PORTA (5), PORTB (8), and PORTC (8), with interrupt-on-change capability on PORTB for keyboard or rotary-encoder scanning. The integrated In-Circuit Debugger (ICD) interface allows developers to use PICkit or MPLAB ICD tools for non-intrusive emulation.
The device is built on a Harvard architecture with separate program and data buses, enabling simultaneous instruction fetch and operand access. It supports four oscillator modes - LP (low-power crystal), XT (standard crystal), HS (high-speed crystal), and RC (resistor-capacitor) - for trade-offs between cost, accuracy, and power. An on-chip watchdog timer, brown-out reset, and programmable code protection complete the embedded feature set. The 28-pin SPDIP variant omits the Parallel Slave Port found on the 40-pin PIC16F871 sibling, reducing cost and PCB area.
Typical applications for the PIC16F870-I/SP include industrial control panels, appliance controllers, sensor interface nodes with analog front-ends, motor-driver PWM controllers, and serial communication bridges (RS-232/RS-485). The 10-bit ADC suits temperature, pressure, and potentiometer reading, while PWM channels drive DC motors, solenoids, and LED dimmers. The wide supply range supports both 3.3 V and 5 V rails.
When designing with this part, place a 0.1 uF decoupling capacitor close to VDD and pull MCLR high through a 10 kohm resistor to prevent spurious resets. Programming uses a PICkit or ICD interface via the RB6/RB7 pins. Pricing as of 2026-09-21 reflects active distributor stock.
This page consolidates distributor pricing, drop-in alternatives, and practical design notes that complement the Microchip datasheet and selector guide.
Alternativas drop-in para PIC16F870-I/SP — mesmo encapsulamento, compatível pino a pino. Peças de encapsulamento diferente que exigem retrabalho na PCB são excluídas.
Variantes desta série
Modelos da mesma série compatíveis como drop-in com PIC16F870-I/SP (mesmo formato e footprint) — diferindo em Package, Timers, Core Architecture, ADC, Operating Temperature.
Ferramenta de comparação rápida — selecione peças alternativas para comparação lado a lado:
PIC16F870-E/SP
✅ Drop-In✓ Em estoque
$2.85 / unidade
Ver ficha técnica →PIC16F870-I/SO
✅ Drop-In ⚠️ Especificações não verificadas✓ Em estoque
$3.32 / unidade
Ver ficha técnica →PIC16F871-I/SP
✅ Drop-In📋 Alternativa de referência (fora do catálogo)
PIC16F872-I/SP
✅ Drop-In📋 Alternativa de referência (fora do catálogo)
PIC16LF870-I/SP
✅ Drop-In✓ Em estoque
$2.31 / unidade
Ver ficha técnica →PIC16F873A-I/SP
✅ Drop-In📋 Alternativa de referência (fora do catálogo)
PIC16C716-04/P
✅ Drop-In📋 Alternativa de referência (fora do catálogo)
PIC16F870-I/SP Classificações máximas e características elétricas
| Product Type | 8-bit Microcontroller (MCU) |
| Core Architecture | PIC16 mid-range RISC |
| Program Memory (Flash) | 3.5 KB (2K x 14 words) |
| RAM | 128 bytes |
| Data EEPROM | 64 bytes |
| Maximum CPU Clock | 20 MHz |
| Instruction Cycle Time | 200 ns |
| Supply Voltage (VDD) | 4.0 V to 5.5 V |
| I/O Pins | 22 |
| A/D Converter | 10-bit, 5 channels |
| Timers | Timer0, Timer1, Timer2 |
| CCP Modules | 1 (Capture/Compare/PWM) |
| Serial Interface | USART (asynchronous) |
| Self-Programming | Yes (Flash program memory) |
| In-Circuit Debug | ICD interface (RB6/RB7) |
| Oscillator Modes | LP, XT, HS, RC |
| Faixa de temperatura de operação | -40C to +85C (Industrial) |
| Encapsulamento | 28-pin SPDIP (Skinny Plastic DIP, through-hole) |
| Lead Finish | Matte Tin (Pb-free) |
| Status RoHS | Compliant |
| Tipo de montagem | Through-Hole |
Configuração de pinos do PIC16F870-I/SP
| Pino 1 | MCLR/VPP — Master Clear (reset) input / Programming voltage input |
| Pino 2 | RA0/AN0 — PORTA bit 0 / Analog input 0 |
| Pino 3 | RA1/AN1 — PORTA bit 1 / Analog input 1 |
| Pino 4 | RA2/AN2 — PORTA bit 2 / Analog input 2 |
| Pino 5 | RA3/AN3/VREF+ — PORTA bit 3 / Analog input 3 / ADC positive reference |
| Pino 6 | RA4/T0CKI — PORTA bit 4 / Timer0 clock input |
| Pino 7 | RA5/AN4/SS — PORTA bit 5 / Analog input 4 / SPI slave select |
| Pino 8 | VSS — Ground reference |
| Pino 9 | OSC1/CLKIN — Crystal oscillator input / external clock input |
| Pino 10 | OSC2/CLKOUT — Crystal oscillator output / clock output |
| Pino 11 | RC0/T1OSO/T1CKI — PORTC bit 0 / Timer1 oscillator output / Timer1 clock input |
| Pino 12 | RC1/T1OSI/CCP2 — PORTC bit 1 / Timer1 oscillator input / CCP2 output |
| Pino 13 | RC2/CCP1 — PORTC bit 2 / Capture/Compare/PWM 1 output |
| Pino 14 | RC3/SCK/SCL — PORTC bit 3 / SPI clock / I2C clock |
| Pino 15 | RC4/SDI/SDA — PORTC bit 4 / SPI data in / I2C data |
| Pino 16 | RC5/SDO — PORTC bit 5 / SPI data out |
| Pino 17 | RC6/TX/CK — PORTC bit 6 / USART TX / USART clock |
| Pino 18 | RC7/RX/DT — PORTC bit 7 / USART RX / USART data |
| Pino 19 | VSS — Ground reference |
| Pino 20 | VDD — Positive supply voltage |
| Pino 21 | RB0/INT — PORTB bit 0 / External interrupt input |
| Pino 22 | RB1 — PORTB bit 1 |
| Pino 23 | RB2 — PORTB bit 2 |
| Pino 24 | RB3/PGM — PORTB bit 3 / Low-voltage programming input |
| Pino 25 | RB4 — PORTB bit 4 / Interrupt-on-change |
| Pino 26 | RB5 — PORTB bit 5 / Interrupt-on-change |
| Pino 27 | RB6/PGC — PORTB bit 6 / ICSP clock / Interrupt-on-change |
| Pino 28 | RB7/PGD — PORTB bit 7 / ICSP data / Interrupt-on-change |
Aplicações típicas
PIC16F870-I/SP é adequado para 6 aplicaçãos: Industrial Control Panels, Appliance Controllers, Sensor Interface Nodes, Motor Drive and PWM Control, Serial Communication Bridges, Educational and Prototyping Boards.
Industrial Control Panels
The PIC16F870-I/SP suits industrial control panels where a stable 5 V supply, 5-channel ADC, and PWM outputs are needed for sensor reading and actuator drive. Its 20 MHz CPU delivers 5 MIPS, sufficient for PID loops and human-machine interface polling at 10 ms scan rates. The 28-pin SPDIP package simplifies field replacement in legacy equipment, and the ICD interface allows on-board firmware updates via PICkit. Compared with discrete logic, the integrated MCU reduces BOM and PCB area while supporting USART for Modbus RTU or RS-485 bridges.
Recomendado
Appliance Controllers
The PIC16F870-I/SP integrates well into white-goods appliance controllers such as washing machines, dishwashers, and microwave ovens, where it reads temperature sensors, drives motor triacs, and scans user keypads. The 10-bit ADC provides 0.5C resolution with a typical NTC thermistor divider, and the CCP/PWM module produces variable-duty motor drive signals at up to 20 kHz. The 35-instruction RISC core keeps firmware simple and certifiable, while the 64-byte EEPROM stores user preferences across power cycles. Its industrial temperature range covers appliance operating environments.
Recomendado
Sensor Interface Nodes
In distributed sensor-interface nodes, the PIC16F870-I/SP reads multiple analog sensors via its 5-channel 10-bit ADC and forwards data over USART to a master controller. The MCU's low power consumption (under 2 mA active at 5 V, 20 MHz) suits battery or bus-powered nodes, while the 128-byte RAM buffers local measurements between transmissions. The ICD interface simplifies firmware iteration during sensor-calibration development. Compared with standalone ADCs, integrating the ADC, CPU, and USART into one package reduces node cost to under $5 BOM.
Recomendado
Motor Drive and PWM Control
The PIC16F870-I/SP generates PWM signals for DC motors, solenoids, and LED dimming using its on-chip CCP module. With 10-bit PWM resolution at 20 kHz carrier, the MCU drives brushed DC motors and stepper drivers smoothly across a wide duty range. The 5-channel ADC reads current-sense amplifiers for closed-loop torque control, while the USART streams telemetry to a higher-level controller. Pin compatibility with PIC16F873A-I/SP lets designers scale to higher Flash if motor-control firmware grows beyond 3.5 KB.
Recomendado
Serial Communication Bridges
The PIC16F870-I/SP serves as a low-cost serial bridge between UART peripherals and main controllers, translating baud rates, packetizing data, and adding protocol headers. Its USART supports asynchronous serial up to several hundred kbps, sufficient for RS-232, RS-485, and TTL-level debug links. Self-programming via Flash enables field re-flash of bridge firmware for protocol updates. The 28-pin SPDIP form factor allows easy installation in legacy equipment retrofits, and PICkit programmers can update code through the existing RB6/RB7 ICSP pins.
Recomendado
Educational and Prototyping Boards
The PIC16F870-I/SP is widely used in university embedded-systems courses and hobbyist prototyping because of its through-hole SPDIP package, low price, and mature MPLAB X toolchain. Students can plug the chip into breadboards, program via PICkit, and experiment with ADC, PWM, timers, and USART without surface-mount soldering. The 35-instruction RISC core keeps assembly-language tutorials tractable, while the 3.5 KB Flash accommodates realistic C-code projects under XC8 compiler. The same chip scales directly into commercial designs, providing a smooth learning-to-production path.
Recomendado
Resumo dos produtos recomendados
Dados de referência de engenharia para PIC16F870-I/SP — comparação, orientação de projeto e informações de conformidade.
Guia de seleção
Comparação com alternativas
| Parâmetro | Este produto | PIC16F870-E/SP | PIC16F872-I/SP | PIC16LF870-I/SP | PIC16F873A-I/SP | PIC16C716-04/P |
|---|---|---|---|---|---|---|
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Package | 28-pin SPDIP | 28-pin SPDIP (same) | 28-pin SPDIP (same) | 28-pin SPDIP (same) | 28-pin SPDIP (same) | 28-pin PDIP (same) |
| Program Memory (Flash) | 3.5 KB | 3.5 KB | 3.5 KB | 3.5 KB | 7.2 KB (+106%) | 2K x 14 OTP ROM (-43%) |
| RAM | 128 bytes | 128 bytes | 128 bytes | 128 bytes | 192 bytes (+50%) | 128 bytes |
| Maximum Clock | 20 MHz | 20 MHz | 20 MHz | 10 MHz (-50%) | 20 MHz | 4 MHz (-80%) |
| Supply 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 (wider) | 4.0 V to 5.5 V | 4.0 V to 6.0 V |
| ADC Channels x Resolution | 5 x 10-bit | 5 x 10-bit | 5 x 10-bit | 5 x 10-bit | 5 x 10-bit | 4 x 8-bit (-20%) |
| Operating Temperature | -40C to +85C (Industrial) | -40C to +125C (Extended) | -40C to +85C (Industrial) | -40C to +85C (Industrial) | -40C to +85C (Industrial) | -40C to +125C (Extended) |
Principais diferenciais
- Through-hole SPDIP package for breadboard prototyping and field replacement (vs PIC16F873A-I/SP (also SPDIP) and PIC16LF870-I/SP)
- Self-programming Flash memory supports in-field firmware updates (vs PIC16C716-04/P (OTP))
- Industrial -40C to +85C temperature range standard (vs PIC16F870-E/SP (Extended -40C to +125C))
Notas de projeto
Estimated: Place a 0.1 uF ceramic decoupling capacitor within 5 mm of the VDD pin (pin 20) and a 10 uF bulk capacitor on the same VDD trace. The PIC16F870 draws approximately 2 mA active at 20 MHz, 5 V and less than 5 uA in sleep mode. Add a 10 kohm pull-up on MCLR (pin 1) to VDD; do not leave MCLR floating, or spurious resets may occur. For battery-powered designs, switch to PIC16LF870-I/SP for 2.0 V operation and lower sleep current.
Keep the crystal or resonator (between OSC1 pin 9 and OSC2 pin 10) within 10 mm of the MCU and route traces over a continuous ground plane. The 28-pin SPDIP package leaves room for through-hole prototyping but also suits wave-soldering assembly. For trace routing, place the ICSP pins RB6/PGC (pin 27) and RB7/PGD (pin 28) near a 6-pin header for in-circuit programming access. Avoid running high-current motor traces beneath the MCU's analog AVSS/VDD area to minimize ADC noise injection.
Do not exceed the 5.5 V absolute-maximum VDD rating - even brief transients above 6 V can latch up the CMOS output drivers. The PIC16F870 is NOT a drop-in replacement for the PIC16LF870 at 3.3 V: the standard F version requires 4.0 V minimum. When migrating code from PIC16C716 (OTP) to PIC16F870 (Flash), note that Flash programming requires a programming voltage on MCLR/VPP and proper ICSP sequencing. Always configure the watchdog timer software after enabling it to prevent unwanted resets.
Informações de conformidade
RoHS compliant per Microchip product page. Pb-free matte-tin finish. Not AEC-Q100 qualified - use PIC16F870-E/SP variants for automotive-grade applications.