PIC16F874T-04I/L - 8-bit Flash MCU, 7KB, 44-PLCC | Microchip
MPN: PIC16F874T-04I/L ⚠ Last Time Buy| Qty | Unit Price | Extended |
|---|---|---|
| 1 | $7.12 | $7.12 |
| 10 | $6.45 | $64.50 |
| 100 | $5.78 | $578.00 |
| 500 | $5.21 | $2,605.00 |
| 1,000 | $4.69 | $4,690.00 |
PIC16F874T-04I/L Overview
What is an 8-bit Flash microcontroller? An 8-bit Flash MCU is a single-chip computer that fetches, decodes, and executes instructions on an 8-bit data path, with non-volatile Flash memory holding the user program. The PIC16F874 belongs to the mid-range PIC family (PIC16 -> PIC mid-range MCU -> 8-bit microcontroller -> microcontroller -> semiconductor), positioned between baseline PIC10/12 devices and the high-performance PIC18 family. It is widely used in industrial control, instrumentation, and embedded consumer designs that require ADC, PWM, and serial communication peripherals.
Key features include 5 channels of 10-bit Analog-to-Digital Conversion (ADC), two 8-bit timers plus one 16-bit timer, a USART module, a Master Synchronous Serial Port (MSSP) supporting SPI and I2C, a Capture/Compare/PWM (CCP) module, and a parallel slave port for external bus interfacing. The industrial (-40C to +85C) operating temperature grade, 4V to 5.5V supply range, and 20 MHz maximum clock speed make the PIC16F874T-04I/L well suited for factory and process control.
The PIC16F874T-04I/L uses a Harvard-architecture RISC core with 35 single-word instructions, providing deterministic interrupt latency and predictable code execution. The integrated nanoWatt Technology features multiple idle and sleep modes with sub-microampere standby currents, enabling battery-backed industrial sensor nodes and remote instrumentation that must operate for years on a single cell.
Typical applications include industrial automation controllers, HVAC blower and damper controls, sensor signal conditioning front-ends, motor-drive interface logic, and user-interface panels with LED or LCD displays. The parallel slave port also allows the device to operate as a peripheral to a host CPU in larger systems.
When designing with this part, place decoupling capacitors (100 nF ceramic plus 10 uF bulk) within 5 mm of VDD/VSS pairs and reserve the MCLR pin for a proper reset network. The 44-PLCC footprint requires a socket for in-field firmware updates or bench prototyping. PIC16F874 is at end-of-life; Microchip recommends the pin-compatible PIC16F884 as the modern replacement.
Drop-in alternatives for PIC16F874T-04I/L — 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 PIC16F874T-04I/L (same form factor and footprint) — differing in Package, Core Architecture, Timers, Communication Peripherals, Maximum Clock Frequency.
Quick Comparison Tool — Select alternative parts for side-by-side comparison:
PIC16F874-04I/L
✅ Drop-In✓ In Stock
$5.4 / Unit
View Datasheet →PIC16F874-04/L
✅ Drop-In✓ In Stock
$6.85 / Unit
View Datasheet →PIC16F874T-04E/L
✅ Drop-In✓ In Stock
$7.25 / Unit
View Datasheet →PIC16F874A-04I/L
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F874A-I/ML
✅ Drop-In✓ In Stock
$3.21 / Unit
View Datasheet →PIC16F884-E/ML
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F877-04I/L
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F874T-04I/L Maximum Ratings & Electrical Characteristics
| Core Architecture | PIC16 enhanced 8-bit RISC |
| Program Memory (Flash) | 7 KB |
| RAM | 192 bytes |
| EEPROM Data Memory | 128 bytes |
| Maximum Clock Frequency | 20 MHz |
| Instruction Cycle Time | 200 ns |
| Supply Voltage (VDD) | 4.0 V to 5.5 V |
| I/O Pins | 33 |
| ADC | 10-bit, 8 channels |
| Timers | 2 x 8-bit + 1 x 16-bit |
| CCP/PWM Modules | 1 CCP, 1 Enhanced CCP |
| Communication Interfaces | USART, SSP (SPI / I2C), Parallel Slave Port |
| Package | 44-pin PLCC (J-lead, J-Lead) |
| Operating Temperature | -40 C to +85 C (Industrial) |
| Mounting Type | Surface Mount (PLCC socket compatible) |
PIC16F874T-04I/L Pin Configuration
| Pin 1 | MCLR/VPP — Master Clear (reset) input / programming voltage |
| Pin 2 | RA0/AN0 — PORTA bit 0 / Analog input 0 |
| Pin 3 | RA1/AN1 — PORTA bit 1 / Analog input 1 |
| Pin 4 | RA2/AN2 — PORTA bit 2 / Analog input 2 |
| Pin 5 | RA3/AN3/VREF+ — PORTA bit 3 / Analog input 3 / ADC Vref+ |
| Pin 6 | RA4/T0CKI — PORTA bit 4 / Timer0 clock input |
| Pin 7 | RA5/AN4/SS — PORTA bit 5 / Analog input 4 / SPI Slave Select |
| Pin 8 | RE0/RD/AN5 — PORTE bit 0 / Parallel Read / Analog input 5 |
| Pin 9 | RE1/WR/AN6 — PORTE bit 1 / Parallel Write / Analog input 6 |
| Pin 10 | RE2/CS/AN7 — PORTE bit 2 / Parallel Chip Select / Analog input 7 |
| Pin 11 | VDD — Positive supply (5 V) |
| Pin 12 | VSS — Ground reference |
| Pin 13 | OSC1/CLKIN — Crystal oscillator input / external clock in |
| Pin 14 | OSC2/CLKOUT — Crystal oscillator output / clock out (Fosc/4) |
| Pin 15 | RC0/T1OSO/T1CKI — PORTC bit 0 / Timer1 oscillator out / Timer1 clock in |
| Pin 16 | RC1/T1OSI/CCP2 — PORTC bit 1 / Timer1 oscillator in / CCP2 I/O |
| Pin 17 | RC2/CCP1 — PORTC bit 2 / Enhanced CCP1 output |
| Pin 18 | RC3/SCK/SCL — PORTC bit 3 / SPI clock / I2C clock |
| Pin 19 | RD0/PSP0 — PORTD bit 0 / Parallel Slave Port bit 0 |
| Pin 20 | RD1/PSP1 — PORTD bit 1 / Parallel Slave Port bit 1 |
| Pin 21 | RD2/PSP2 — PORTD bit 2 / Parallel Slave Port bit 2 |
| Pin 22 | RD3/PSP3 — PORTD bit 3 / Parallel Slave Port bit 3 |
| Pin 23 | RC4/SDI/SDA — PORTC bit 4 / SPI data in / I2C data |
| Pin 24 | RC5/SDO — PORTC bit 5 / SPI data out |
| Pin 25 | RC6/TX/CK — PORTC bit 6 / USART TX / USART clock |
| Pin 26 | RC7/RX/DT — PORTC bit 7 / USART RX / USART data |
| Pin 27 | RD4/PSP4 — PORTD bit 4 / Parallel Slave Port bit 4 |
| Pin 28 | RD5/PSP5 — PORTD bit 5 / Parallel Slave Port bit 5 |
| Pin 29 | RD6/PSP6 — PORTD bit 6 / Parallel Slave Port bit 6 |
| Pin 30 | RD7/PSP7 — PORTD bit 7 / Parallel Slave Port bit 7 |
| Pin 31 | VSS — Ground reference |
| Pin 32 | VDD — Positive supply (5 V) |
| Pin 33 | RB0/INT — PORTB bit 0 / External interrupt |
| Pin 34 | RB1 — PORTB bit 1 |
| Pin 35 | RB2 — PORTB bit 2 |
| Pin 36 | RB3/PGM — PORTB bit 3 / Low-voltage ICSP programming |
| Pin 37 | RB4 — PORTB bit 4 |
| Pin 38 | RB5 — PORTB bit 5 |
| Pin 39 | RB6/PGC — PORTB bit 6 / In-circuit debugger clock |
| Pin 40 | RB7/PGD — PORTB bit 7 / In-circuit debugger data |
| Pin 41 | VSS — Ground reference (PLCC only) |
| Pin 42 | VDD — Positive supply 5 V (PLCC only) |
| Pin 43 | NC — Not connected (per datasheet) |
| Pin 44 | NC — Not connected (per datasheet) |
Typical Applications
PIC16F874T-04I/L is suitable for 6 applications: Industrial Automation Controllers, HVAC Blower and Damper Controls, Sensor Signal Conditioning Front-Ends, User Interface Panels with LED/LCD Displays, Small Brushed-DC Motor Drive Interface, Remote Instrumentation / Battery Sensor Nodes.
Industrial Automation Controllers
The PIC16F874T-04I/L fits industrial automation controllers because its 33 GPIO pins and 8-channel 10-bit ADC can directly interface to limit switches, 4-20 mA loop transmitters, and discrete sensors without external multiplexing. Its 5 V operating range tolerates long backplane wiring while the industrial -40C to +85C grade handles cabinet thermal rise. The 20 MHz core executes PID loops at sub-millisecond rates and the MSSP/USART peripherals connect to Modbus RTU slaves or HMI displays. With 7 KB of Flash, engineers can implement bootloaders for in-field firmware updates via RS-485, and the 192-byte RAM is sufficient for queueing serial frames between the USART and the application loop.
Recommended
HVAC Blower and Damper Controls
HVAC systems use the PIC16F874T-04I/L to drive triac-fired blower motors and modulating damper actuators via the Enhanced CCP module, which generates zero-cross-synchronized PWM at line frequency. The on-chip 10-bit ADC reads duct temperature sensors and pressure transducers with 4.88 mV LSB at 5 V VDD, while the 16-bit Timer1 can capture tachometer pulses from Hall-effect fan-speed sensors. nanoWatt sleep modes drop current below 1 uA during off-hours, satisfying ENERGY STAR standby budgets. The 44-PLCC socketed package simplifies service replacement in installed HVAC units.
Recommended
Sensor Signal Conditioning Front-Ends
The PIC16F874T-04I/L serves as a low-cost front-end for multi-sensor conditioning modules because its 8-channel ADC supports simultaneous monitoring of strain gauges, thermistors, and load cells. Internal bandgap reference (with external capacitor) yields 10-bit absolute accuracy adequate for weigh-scale displays up to 0.1 percent FS. The MSSP in I2C mode can read a digital temperature sensor or EEPROM for calibration constants, and USART streams results to a host PLC. Industrial temperature grade and 5 V tolerance permit deployment near motors and solenoids.
Recommended
User Interface Panels with LED/LCD Displays
User-interface panels benefit from the PIC16F874T-04I/L's 33 GPIO that drive multiplexed 7-segment LED arrays, character LCD modules (HD44780), or keypad matrices without external logic. The Parallel Slave Port allows an attached host CPU to write display data directly into the PIC's I/O register space, offloading refresh work from the main processor. The 7 KB Flash is enough to hold bitmap fonts and key-debounce state machines, while nanoWatt idle mode keeps panel standby power below 50 uA. The 44-PLCC socket permits fast factory rework.
Recommended
Small Brushed-DC Motor Drive Interface
The PIC16F874T-04I/L is well matched to brushed-DC motor control boards under 200 W because its Enhanced CCP module produces complementary PWM with programmable dead time at up to 39 kHz with 10-bit resolution from a 20 MHz oscillator. The 10-bit ADC samples shunt current at 50 kS/s for cycle-by-cycle current limiting, while the 16-bit Timer1 indexes the commutation timing for quadrature encoder feedback. The PIC16F874 industrial temperature grade tolerates the thermal environment near power MOSFETs, and the PLCC-44 package simplifies lab bring-up in a socketed fixture.
Recommended
Remote Instrumentation / Battery Sensor Nodes
Battery-powered remote instrumentation uses the PIC16F874T-04I/L because nanoWatt Technology sleep currents below 1 uA enable multi-year deployments on 2x AA cells with a boost converter. The 10-bit ADC monitors battery voltage and environmental sensors, while the USART wakes only on a periodic measurement or external interrupt to transmit via a connected radio module. The 192-byte RAM buffers telemetry frames between transmissions, and the 128-byte EEPROM logs calibration constants and event timestamps. Industrial -40C to +85C operation supports outdoor weather stations and pipeline monitors.
Recommended
Recommended Products Summary
Engineering reference data for PIC16F874T-04I/L — comparison, design guidance, and compliance information.
Selection Guide
Comparison with Alternatives
| Parameter | This Product | PIC16F874-04I/L | PIC16F874A-04I/L | PIC16F874T-04E/L | PIC16F877-04I/L |
|---|---|---|---|---|---|
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Package | 44-PLCC | 44-PLCC - same | 44-PLCC - same | 44-PLCC - same | 44-PLCC - same |
| Flash Program Memory | 7 KB | 7 KB | 14 KB (+100%) | 7 KB | 14 KB (+100%) |
| RAM | 192 bytes | 192 bytes | 368 bytes (+92%) | 192 bytes | 368 bytes (+92%) |
| EEPROM | 128 bytes | 128 bytes | 256 bytes | 128 bytes | 256 bytes |
| Maximum Clock | 20 MHz | 20 MHz | 20 MHz | 20 MHz | 20 MHz |
| I/O Pins | 33 | 33 | 33 | 33 | 33 (40-pin DIP family) |
| ADC Channels | 8 x 10-bit | 8 x 10-bit | 8 x 10-bit | 8 x 10-bit | 8 x 10-bit |
| Operating Temperature | -40 C to +85 C | -40 C to +85 C | -40 C to +85 C | -40 C to +125 C (Extended) | -40 C to +85 C |
| Lifecycle Status | Last-time-buy | Last-time-buy | Active | Last-time-buy | Last-time-buy |
Key Differentiators
- Higher memory variant in same package (vs PIC16F874A-04I/L)
- Extended temperature range option (vs PIC16F874T-04E/L)
- Tube-packaging sibling for prototyping (vs PIC16F874-04I/L)
- Microchip-recommended modern successor (vs PIC16F884-E/ML)
Design Notes
Place a 100 nF ceramic decoupling capacitor within 5 mm of each VDD/VSS pair (the 44-PLCC provides three pairs on pins 11/12, 31/32, and 41/42). Add a single 10 uF bulk tantalum or ceramic on the VDD rail near the IC. The PIC16F874T-04I/L draws about 5 mA at 5 V/20 MHz in active mode and below 1 uA in sleep; verify regulator headroom if the supply is shared with relays or LEDs.
MCLR (pin 1) must NOT be left floating - tie it to VDD through a 10 kohm pull-up and a 100 nF cap to ground for a proper POR delay. Brown-out reset (BOR) should be enabled in CONFIG1 for industrial deployments; without it the part may execute undefined code during supply dips. The RB3/PGM pin is only sampled at reset for low-voltage ICSP entry - do not load it with heavy capacitance or the LVP handshake will fail.
Route the crystal traces (OSC1/OSC2, pins 13/14) as short, symmetric loops and guard them with a ground ring to prevent digital switching noise from coupling into the oscillator. The Parallel Slave Port lines (PORTD, PORTE) should be length-matched if the bus runs above 4 MHz to avoid setup/hold violations on the host side. Place the ICSP header (PGC/PGD on RB6/RB7) at the board edge for in-circuit programming access.
Estimated: at 20 MHz, 5 V VDD and full GPIO toggling, the PIC16F874T-04I/L dissipates approximately 250 mW worst-case, giving a junction temperature rise of roughly 25 C above ambient on a 100 C/W PLCC-44 footprint (estimated, not datasheet-measured). Inductive loads or relay coils near the MCU should be snubbed to keep local ambient below 70 C for long-term reliability in industrial enclosures.
Compliance Information
RoHS and REACH compliance per Microchip product declaration. PIC16F874T-04I/L is industrial temp grade, not AEC-Q100 qualified - for automotive choose PIC16F874-04E/L or PIC16F884 extended variants.