PIC16F873T-04I/SO - 8-bit PIC MCU, 7KB Flash, 4MHz, 28-SOIC | Microchip
MPN: PIC16F873T-04I/SO ✓ Active| Qty | Unit Price | Extended |
|---|---|---|
| 1 | $6.85 | $6.85 |
| 10 | $6.18 | $61.80 |
| 100 | $5.42 | $542.00 |
| 500 | $4.86 | $2,430.00 |
| 1,000 | $4.2 | $4,200.00 |
PIC16F873T-04I/SO Overview
An 8-bit PIC microcontroller is a Harvard-architecture CMOS RISC device optimized for embedded control. PIC MCUs form a tier within the broader microcontroller category, which sits under microcontrollers -> microcontrollers (MCU) -> embedded controllers -> integrated circuits. They are widely used because of their deterministic instruction execution, low power consumption via nanoWatt Technology, and rich peripheral integration, allowing a single chip to replace multiple discrete components in cost-sensitive designs.
Key features of this part include 22 digital I/O lines, a 10-bit multi-channel Analog-to-Digital converter (ADC), two Capture/Compare/PWM modules with 10-bit PWM resolution, a Synchronous Serial Port (SSP) supporting SPI master and I2C (master/slave), one USART for asynchronous or synchronous serial communication, three timers (Timer0 8-bit, Timer1 16-bit, Timer2 8-bit with prescaler and postscaler), and a brown-out reset plus power-on reset. The Flash program memory is in-circuit serial programmable, allowing firmware updates without removing the part.
Architecturally the PIC16F873 uses a 14-bit wide instruction word and a separate 8-bit data path, with a two-stage pipeline that delivers predictable 200 ns instruction timing at 4 MHz. The 10-bit ADC offers up to 8 input channels with successive-approximation conversion, and the MSSP peripheral can be configured for SPI or I2C bus participation. Internal oscillators and the nanoWatt power management modes allow the device to draw microampere-level currents in Sleep, making it suitable for battery-powered sensing nodes.
Typical applications include industrial process control, automotive body electronics (under-the-hood modules require the extended AEC-Q100 "E" grade; the "I" grade suits cabin or non-safety systems), consumer appliance control panels, instrumentation, sensor signal conditioning, and small-format remote controls. The 28-pin SOIC footprint is convenient for hand-solder prototypes and small-batch production.
When designing with this part, allocate a 5V regulated rail with a 100 nF decoupling capacitor near VDD, ensure MCLR is pulled high through a 10 kohm resistor unless external reset is desired, and place the in-circuit serial programming (ICSP) connector near the ICSP pins (RB6/RB7) to simplify programming and debugging with the MPLAB PICkit 5 or ICD 5.
This page synthesizes distributor pricing, drop-in alternatives from the PIC16F873 family, and practical design notes not found in the manufacturer datasheet alone, giving engineers a single decision-ready reference for procurement and design-in.
Drop-in alternatives for PIC16F873T-04I/SO — 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 PIC16F873T-04I/SO (same form factor and footprint) — differing in Core Architecture, Package, Timers, ADC, Operating Temperature.
Quick Comparison Tool — Select alternative parts for side-by-side comparison:
PIC16F873-04I/SO
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F873A-I/SO
✅ Drop-In✓ In Stock
$2.65 / Unit
View Datasheet →PIC16F873T-04E/SO
✅ Drop-In✓ In Stock
$4.85 / Unit
View Datasheet →PIC16F873-10E/SO
✅ Drop-In✓ In Stock
$4.4 / Unit
View Datasheet →PIC16F872T-I/SS
✓ In Stock
$2.69 / Unit
View Datasheet →PIC16F873T-04I/SO Maximum Ratings & Electrical Characteristics
| Product Type | 8-bit Flash Microcontroller |
| Core Architecture | PIC RISC, Harvard, 14-bit instruction word |
| Program Memory (Flash) | 7 KB (4K x 14) |
| Data RAM | 192 bytes |
| Data EEPROM | 128 bytes |
| Maximum CPU Clock | 20 MHz (with external oscillator); 4 MHz at -04 speed grade |
| Instruction Cycle | 200 ns at 4 MHz |
| Supply Voltage (VDD) | 4.0 V to 5.5 V |
| I/O Pins | 22 |
| ADC | 10-bit, up to 5 channels (28-pin package) |
| Timers | Timer0 8-bit, Timer1 16-bit, Timer2 8-bit with postscaler |
| Capture/Compare/PWM | 2 modules, 10-bit PWM resolution |
| Serial Interfaces | MSSP (SPI master / I2C master-slave), USART |
| Package | 28-pin SOIC (0.295 inch / 7.50 mm body width) |
| Operating Temperature | -40 C to +85 C (Industrial, "I" grade) |
| Programming Method | ICSP (In-Circuit Serial Programming) via RB6/RB7 |
| RoHS Status | Compliant |
PIC16F873T-04I/SO Pin Configuration
| Pin 1 | MCLR/VPP/RE3 — Master Clear (reset) input / programming voltage / digital I/O RE3 |
| Pin 2 | RA0/AN0 — Digital I/O RA0 / analog input AN0 |
| Pin 3 | RA1/AN1 — Digital I/O RA1 / analog input AN1 |
| Pin 4 | RA2/AN2/VREF- — Digital I/O RA2 / analog input AN2 / ADC VREF- |
| Pin 5 | RA3/AN3/VREF+ — Digital I/O RA3 / analog input AN3 / ADC VREF+ |
| Pin 6 | RA4/T0CKI — Digital I/O RA4 (open-drain) / Timer0 clock input |
| Pin 7 | RA5/AN4/SS — Digital I/O RA5 / analog input AN4 / SPI slave select |
| Pin 8 | OSC2/CLKO — Oscillator output / clock out |
| Pin 9 | OSC1/CLKI — Oscillator input / clock in |
| Pin 10 | RC0/T1OSO/T1CKI — Digital I/O RC0 / Timer1 oscillator output / Timer1 clock |
| Pin 11 | RC1/T1OSI/CCP2 — Digital I/O RC1 / Timer1 oscillator input / CCP2 |
| Pin 12 | RC2/CCP1 — Digital I/O RC2 / CCP1 PWM output |
| Pin 13 | RC3/SCK/SCL — Digital I/O RC3 / SPI clock / I2C clock |
| Pin 14 | RB0/INT — Digital I/O RB0 / external interrupt |
| Pin 15 | RB1 — Digital I/O RB1 |
| Pin 16 | RB2 — Digital I/O RB2 |
| Pin 17 | RB3/PGM — Digital I/O RB3 / LVP programming |
| Pin 18 | RB4 — Digital I/O RB4 (interrupt-on-change) |
| Pin 19 | RB5 — Digital I/O RB5 (interrupt-on-change) |
| Pin 20 | RB6/PGC — Digital I/O RB6 / ICSP clock (interrupt-on-change) |
| Pin 21 | RB7/PGD — Digital I/O RB7 / ICSP data (interrupt-on-change) |
| Pin 22 | VSS — Ground reference |
| Pin 23 | VDD — +5V supply |
| Pin 24 | RC4/SDI/SDA — Digital I/O RC4 / SPI data in / I2C data |
| Pin 25 | RC5/SDO — Digital I/O RC5 / SPI data out |
| Pin 26 | RC6/TX/CK — Digital I/O RC6 / USART TX / USART CLK |
| Pin 27 | RC7/RX/DT — Digital I/O RC7 / USART RX / USART data |
| Pin 28 | VSS — Ground reference |
Typical Applications
PIC16F873T-04I/SO is suitable for 6 applications: Industrial Process Control, Consumer Appliance Control Panels, Automotive Cabin Electronics, Sensor Signal Conditioning Hubs, Educational and Hobbyist Development, Battery-Powered Remote Controls.
Industrial Process Control
The PIC16F873T-04I/SO is well-suited to industrial process control loops where 22 digital I/O lines plus a 10-bit ADC with five input channels are needed to read analog sensors and drive relays or solid-state switches. Its 4 MHz CPU and 200 ns instruction cycle are adequate for slow PID loops operating at 1-100 Hz sampling rates, while the 7 KB Flash and 192 bytes RAM host PID control, sensor linearization and HMI serial protocols without external memory. Placed on a 5V industrial backplane, it tolerates the -40C to +85C industrial temperature range and routes operator commands via RS-485 from the integrated USART, eliminating an external transceiver controller. The MSSP I2C master also lets it poll distributed I/O expanders on the same PCB backplane, reducing wiring complexity.
Recommended
Consumer Appliance Control Panels
White-goods control boards use the PIC16F873T-04I/SO to read keypad scans, drive LED or VFD displays and implement timer/cycle control for washing machines, dishwashers and microwave ovens. The 22 I/O pins comfortably support a 4x4 keypad matrix, seven-segment display drivers, buzzer PWM and triac firing outputs from the two 10-bit CCP modules. Its 4 MHz core is more than sufficient for state-machine firmware in appliance user interfaces, and the 7 KB Flash holds graphical menu tables plus diagnostics. The 10-bit ADC reads temperature sensors, water-level probes and motor-current shunts, while the MSSP I2C bus connects to EEPROM parameter storage and a real-time clock companion IC.
Recommended
Automotive Cabin Electronics
Body and cabin automotive modules - HVAC controllers, instrument cluster peripherals, lighting dimmers, door-zone controllers and seat controllers - commonly use the PIC16F873 family for its 5V tolerant I/O and integrated peripherals. The 28-SOIC version is small enough for behind-dash modules, and the industrial -40C to +85C temperature grade covers cabin thermal environments; under-hood modules should select the -E or -Q automotive grade instead. The CCP PWM modules provide brushed-motor PWM at up to 10-bit resolution for seat fans and window lifters, while the USART handles LIN-bus networking with an external LIN transceiver. The 10-bit ADC reads thermistors, position sensors and battery voltage via a divider, all on a single regulated 5V rail.
Recommended
Sensor Signal Conditioning Hubs
Sensor hubs that aggregate analog inputs from multiple transducers use the PIC16F873T-04I/SO's 10-bit 5-channel ADC and I2C/SPI master capability to centralize readings from external smart sensors. The 192 bytes RAM buffers raw ADC samples while 7 KB Flash hosts calibration tables for thermocouple, RTD and strain-gauge linearization. The integrated USART streams conditioned data over RS-232 or RS-485 to a host PLC or industrial PC, while the two CCP modules generate excitation PWM for ratiometric sensor bridges. Industrial -40C to +85C qualification makes the part suitable for factory floor instrumentation racks and outdoor sensor enclosures.
Recommended
Educational and Hobbyist Development
The PIC16F873T-04I/SO is widely used in university embedded-systems courses and DIY maker projects thanks to its broad software ecosystem (MPLAB X IDE, XC8 compiler, Proteus simulation) and the large installed base of PIC16F873 tutorials. The 28-SOIC is hand-solderable on perfboard and breakout PCBs, while the ICSP pins (RB6/RB7, MCLR) allow programming with the low-cost PICkit 3 or PICkit 5 in-circuit debugger without removing the chip. 7 KB Flash accommodates introductory C or assembly exercises - from blinking LEDs to UART-driven LCD menus - while the ADC, PWM and I2C peripherals cover more advanced coursework on motor control and serial networking.
Recommended
Battery-Powered Remote Controls
Remote controls for ceiling fans, garage doors, motorized blinds and RF telemetry links use the PIC16F873T-04I/SO with its low-power modes to extend battery life on a single coin cell or 2-AA pack. While the part runs at 4 MHz up to 5.5 V, the Sleep current at 3V is well below 1 uA when the CPU halts and only a Timer1 interrupt or external INT wakes it, suiting wake-on-button designs. The 7 KB Flash hosts RF protocol stacks (PT2262-compatible encoding, EV1527, or proprietary OOK/FSK), while the 10-bit ADC reads battery voltage for low-battery warning. The I2C master can drive an OLED or character-LCD companion for richer user feedback.
Recommended
Recommended Products Summary
Engineering reference data for PIC16F873T-04I/SO — comparison, design guidance, and compliance information.
Selection Guide
Comparison with Alternatives
| Parameter | This Product | PIC16F873-04I/SO | PIC16F873A-I/SO | PIC16F873T-04E/SO | PIC16F873-10E/SO | PIC16F872T-I/SS |
|---|---|---|---|---|---|---|
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Package | 28-SOIC (0.295") | 28-SOIC (0.295") - same | 28-SOIC (0.295") - same | 28-SOIC (0.295") - same | 28-SOIC (0.295") - same | 28-SSOP - same pinout, smaller body |
| Program Memory (Flash) | 7 KB (4K x 14) | 7 KB | 7 KB | 7 KB | 7 KB | 3.5 KB (-50%) |
| Data RAM | 192 bytes | 192 bytes | 192 bytes | 192 bytes | 192 bytes | 128 bytes (-33%) |
| Maximum Clock Speed | 4 MHz | 4 MHz | 20 MHz | 4 MHz | 10 MHz | 20 MHz |
| Operating Temperature | -40 C to +85 C (Industrial) | -40 C to +85 C (Industrial) | -40 C to +85 C (Industrial) | -40 C to +125 C (Extended) | -40 C to +125 C (Extended) | -40 C to +85 C (Industrial) |
| ADC | 10-bit, 5 channels | 10-bit, 5 channels | 10-bit, 5 channels (enhanced) | 10-bit, 5 channels | 10-bit, 5 channels | 10-bit, 5 channels |
| Serial Interfaces | MSSP (SPI/I2C), USART | MSSP (SPI/I2C), USART | MSSP (SPI/I2C), Enhanced USART | MSSP (SPI/I2C), USART | MSSP (SPI/I2C), USART | MSSP (SPI/I2C), USART |
| Shipping Format | Tape & Reel | Tube | Tube | Tape & Reel | Tube | Tape & Reel |
Key Differentiators
- Mature 8-bit platform with the deepest MPLAB X IDE and XC8 compiler ecosystem (vs PIC16F84A-I/SO)
- Tape-and-reel format ready for high-volume automated assembly (vs PIC16F873-04I/SO)
- Industrial temperature range covering most embedded deployments (vs PIC16F873-10E/SO)
Design Notes
Place a 100 nF decoupling capacitor as physically close as possible to the VDD pin (pin 20) with the ground return via a short trace to VSS (pin 19 or 28). Add a bulk 10 uF tantalum or aluminum-polymer cap on the same 5V rail within 25 mm of the MCU. According to Microchip datasheet DS30292, inadequate decoupling is the leading cause of erratic PIC16F873 resets and ADC noise; do not omit either capacitor even on battery-powered designs.
Route the MCLR pin through a 10 kohm pull-up resistor to VDD and place a 100 nF capacitor from MCLR to ground for noise immunity; do not tie MCLR directly to VDD. Position the ICSP connector near pins 1 (MCLR/VPP), 20 (RB6/PGC) and 21 (RB7/PGD) so a PICkit 5 can program and debug the board without removing the MCU. Keep the OSC1/OSC2 traces short and surround them with a ground guard ring to reduce EMI susceptibility when using an external crystal.
Do not exceed the absolute maximum 7.5 V on VDD or apply reverse polarity - the PIC16F873 has no internal protection. Avoid drawing more than 200 mA total across all I/O pins or 25 mA per pin; for LED drive above 10 mA use a transistor driver. According to the Microchip datasheet, configuration word settings must be programmed before code execution; leave the LVP bit off if you do not use low-voltage programming to free RB3/PGM as a regular digital I/O.
At 4 MHz and 5V the PIC16F873T-04I/SO typically draws 5-10 mA, yielding ~25-50 mW dissipation. The 28-SOIC package has a thermal resistance theta_JA of approximately 80 C/W, so junction temperature rise above ambient is roughly 2-4 C - well within the 125 C absolute maximum. No heatsink is required; however, derate accordingly if you drive multiple I/O pins at full source/sink current simultaneously.
The 10-bit ADC accuracy depends on clean VDD and stable VREF+. For 10-bit readings (>1 LSB = 5 mV at 5V VREF) use a separate low-noise analog supply or filter VREF+ with a 10 ohm resistor and 10 uF capacitor. Keep analog traces (AN0-AN4) short and away from switching signals like PWM outputs. According to Microchip datasheet section 11, the ADC requires a minimum acquisition time (TACQ) of approximately 19.72 us; verify your firmware waits at least this long between channel select and conversion start.
Compliance Information
Industrial temperature grade (-40C to +85C); AEC-Q100 qualification not applicable to the I-grade; use PIC16F873T-04E/SO or -Q variant for AEC-Q100 designs. RoHS and lead-free per Microchip material declaration.