PIC16F877T-04E/PQ - 8-bit PIC MCU, 14KB Flash, 4MHz | Microchip
MPN: PIC16F877T-04E/PQ ✓ Active| Qty | Unit Price | Extended |
|---|---|---|
| 1 | $12.21 | $12.21 |
| 10 | $11.5 | $115.00 |
| 100 | $10.4 | $1,040.00 |
| 500 | $9.45 | $4,725.00 |
| 1,000 | $8.75 | $8,750.00 |
PIC16F877T-04E/PQ Overview
An 8-bit microcontroller (MCU) is a single-chip computer containing a CPU, program memory, RAM, EEPROM, timers, and peripherals such as ADC, USART, I2C/SPI, and I/O ports. The PIC16F877 belongs to Microchip's mid-range PIC® architecture, sitting between the PIC10/12/16 baseline families and the PIC18 enhanced family; 8-bit MCUs typically run application firmware rather than operating systems and are optimized for deterministic real-time control of sensors, actuators, displays, and communication links.
Key features include 33 digital I/O pins, three 16-bit timers (Timer0, Timer1, Timer2) plus a watchdog timer, a 10-bit multi-channel Analog-to-Digital Converter (ADC), a USART for serial communication, an MSSP module supporting both SPI and I2C (master/slave), two Capture/Compare/PWM (CCP) modules, and an internal brown-out reset (BOR). The CMOS FLASH technology allows in-circuit serial programming (ICSP) through only two pins (RB6 and RB7), enabling in-field firmware updates and low-cost prototyping with a PICkit or ICD debugger.
The Harvard architecture separates program memory (14-bit wide instructions, FLASH) from data memory (8-bit wide RAM, banked), allowing simultaneous instruction fetch and data access and contributing to the deterministic 200 ns instruction cycle. The enhanced instruction set contains 35 single-word instructions with 14-bit opcode, plus an 8-level deep hardware stack and interrupt handling for hardware peripherals. The device supports in-circuit debug (ICD) via the same RB6/RB7 pins used for ICSP, eliminating the need for an external debug header.
Typical applications include industrial process control, sensor interface boards, motor control, HVAC subsystems, instrumentation front-ends, and legacy embedded systems that migrated from PIC16C7X or PIC12CXXX devices. The wide 2.0 V to 5.5 V VDD range and -40C to +125C operating temperature make the part suitable for both battery-powered consumer products and harsh industrial environments.
When designing with the PIC16F877T-04E/PQ, note that the 4 MHz speed grade limits instruction execution throughput to 5 MIPS; for higher performance the 10 MHz (PIC16F877-10) and 20 MHz (PIC16F877-20) speed grades are drop-in replacements. Microchip recommends migrating to the PIC16F887 for new designs because the PIC16F877 family is in maintenance status, but the existing design ecosystem, MPLAB X IDE support, and abundant legacy code make the PIC16F877T-04E/PQ a strong fit for sustaining engineering and legacy board replacement.
Drop-in alternatives for PIC16F877T-04E/PQ — 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 PIC16F877T-04E/PQ (same form factor and footprint) — differing in Package, Timers, Core Architecture, Operating Temperature, I/O Pins.
Quick Comparison Tool — Select alternative parts for side-by-side comparison:
PIC16F877-04E/PQ
✅ Drop-In✓ In Stock
$5.72 / Unit
View Datasheet →PIC16F877-04I/PQ
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F877-10E/PQ
✅ Drop-In✓ In Stock
$6.1 / Unit
View Datasheet →PIC16F877-20I/PQ
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F877-04/PQ
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F874-04E/PQ
✅ Drop-In✓ In Stock
$5.1 / Unit
View Datasheet →PIC16F877T-04E/PQ Maximum Ratings & Electrical Characteristics
| Core Architecture | 8-bit PIC mid-range (Harvard) |
| Instruction Set Width | 14-bit |
| Number of Instructions | 35 single-word |
| Maximum Clock Frequency | 4 MHz |
| Instruction Execution Time | 200 ns |
| Program Memory (Flash) | 14 KB (8K x 14) |
| Data RAM | 368 bytes |
| Data EEPROM | 256 bytes |
| I/O Pins | 33 |
| Timers | Three 16-bit (TMR0/TMR1/TMR2) + WDT |
| ADC | 10-bit, up to 8 channels |
| Communication | USART, MSSP (SPI/I2C) |
| PWM / CCP Modules | 2 CCP (10-bit PWM capable) |
| Operating Voltage (VDD) | 2.0 V to 5.5 V |
| Operating Temperature | -40C to +125C (Enhanced 'E' grade) |
| Package | 44-pin MQFP (10x10 mm) |
| Mounting Type | Surface Mount |
| Packaging | Tape & Reel (T suffix) |
| ICSP / ICD Pins | RB6 (ICSPCLK) / RB7 (ICSPDAT) |
| Brown-Out Reset (BOR) | Yes, internal |
| RoHS Status | Compliant |
PIC16F877T-04E/PQ Pin Configuration
| Pin 1 | MCLR/VPP — Master Clear (active-low reset) / ICSP programming voltage input |
| Pin 2 | RA0/AN0 — PORTA bit 0 / ADC analog input channel 0 |
| Pin 3 | RA1/AN1 — PORTA bit 1 / ADC analog input channel 1 |
| Pin 4 | RA2/AN2 — PORTA bit 2 / ADC analog input channel 2 / VREF- |
| Pin 5 | RA3/AN3 — PORTA bit 3 / ADC analog input channel 3 / VREF+ |
| Pin 6 | RA4/T0CKI — PORTA bit 4 / Timer0 clock input (open-drain) |
| Pin 7 | RA5/AN4/SS — PORTA bit 5 / ADC analog input channel 4 / SPI slave select |
| Pin 8 | RE0/RD/AN5 — PORTE bit 0 / Parallel slave port read control / ADC channel 5 |
| Pin 9 | RE1/WR/AN6 — PORTE bit 1 / Parallel slave port write control / ADC channel 6 |
| Pin 10 | RE2/CS/AN7 — PORTE bit 2 / Parallel slave port chip select / ADC channel 7 |
| Pin 11 | VDD — Positive supply voltage (2.0 V to 5.5 V) |
| Pin 12 | VSS — Ground reference |
| Pin 13 | OSC1/CLKIN — Oscillator crystal input / external clock input |
| Pin 14 | OSC2/CLKOUT — Oscillator crystal output / clock output (Fosc/4) |
| Pin 15 | RC0/T1OSO/T1CKI — PORTC bit 0 / Timer1 oscillator output / Timer1 clock input |
| Pin 16 | RC1/T1OSI/CCP2 — PORTC bit 1 / Timer1 oscillator input / CCP2 PWM/capture/compare |
| Pin 17 | RC2/CCP1 — PORTC bit 2 / CCP1 PWM/capture/compare |
| Pin 18 | RC3/SCK/SCL — PORTC bit 3 / MSSP SPI clock / I2C clock |
| Pin 19 | RD0/PSP0 — PORTD bit 0 / Parallel slave port data bit 0 |
| Pin 20 | RD1/PSP1 — PORTD bit 1 / Parallel slave port data bit 1 |
| Pin 21 | RD2/PSP2 — PORTD bit 2 / Parallel slave port data bit 2 |
| Pin 22 | RD3/PSP3 — PORTD bit 3 / Parallel slave port data bit 3 |
| Pin 23 | RC4/SDI/SDA — PORTC bit 4 / MSSP SPI data in / I2C data |
| Pin 24 | RC5/SDO — PORTC bit 5 / MSSP SPI data out |
| Pin 25 | RC6/TX/CK — PORTC bit 6 / USART asynchronous transmit / I2C clock (sync mode) |
| Pin 26 | RC7/RX/DT — PORTC bit 7 / USART asynchronous receive / I2C data (sync mode) |
| Pin 27 | RD4/PSP4 — PORTD bit 4 / Parallel slave port data bit 4 |
| Pin 28 | RD5/PSP5 — PORTD bit 5 / Parallel slave port data bit 5 |
| Pin 29 | RD6/PSP6 — PORTD bit 6 / Parallel slave port data bit 6 |
| Pin 30 | RD7/PSP7 — PORTD bit 7 / Parallel slave port data bit 7 |
| Pin 31 | VSS — Ground reference |
| Pin 32 | VDD — Positive supply voltage (2.0 V to 5.5 V) |
| Pin 33 | RB0/INT — PORTB bit 0 / External interrupt input |
| Pin 34 | RB1 — PORTB bit 1 |
| Pin 35 | RB2 — PORTB bit 2 |
| Pin 36 | RB3/PGM — PORTB bit 3 / Low-voltage ICSP programming enable |
| Pin 37 | RB4 — PORTB bit 4 |
| Pin 38 | RB5 — PORTB bit 5 |
| Pin 39 | RB6/PGC — PORTB bit 6 / In-circuit serial programming clock / ICD clock |
| Pin 40 | RB7/PGD — PORTB bit 7 / In-circuit serial programming data / ICD data |
| Pin 41 | NC — Not connected (per datasheet) |
| Pin 42 | NC — Not connected (per datasheet) |
| Pin 43 | NC — Not connected (per datasheet) |
| Pin 44 | NC — Not connected (per datasheet) |
Typical Applications
PIC16F877T-04E/PQ is suitable for 6 applications: Industrial Process Control, Sensor Interface Boards, HVAC Subsystem Controllers, Motor Control (Stepper / DC), Legacy Embedded System Sustaining, Instrumentation Front-Ends.
Industrial Process Control
The PIC16F877T-04E/PQ fits industrial process-control applications because of its 14 KB FLASH, 368 bytes RAM, 33 digital I/O, 10-bit multi-channel ADC, and -40C to +125C enhanced industrial temperature range. The 200 ns instruction execution at 4 MHz supports deterministic PID loop rates of 5-10 kHz, while the three 16-bit timers (TMR0, TMR1, TMR2) provide multiple time bases for solenoid valve PWM, pump speed control, and analog sensor sampling. The 2.0 V to 5.5 V VDD range tolerates 24 V industrial rails after external regulation. The MQFP-44 package is robust for factory-floor PCB designs with conformal coating. Pair with a MAX485 RS-485 transceiver for Modbus RTU industrial networking or a 4-20 mA current loop driver for legacy sensor networks.
Recommended
Sensor Interface Boards
The PIC16F877T-04E/PQ is well suited for sensor-interface front-ends because its 10-bit ADC with up to 8 input channels handles multiple analog sensors simultaneously, while the integrated MSSP module supports both SPI and I2C communication with digital sensors such as accelerometers, gyroscopes, and temperature/humidity devices. The 256 bytes of internal EEPROM provides non-volatile storage of sensor calibration coefficients, and 368 bytes of RAM holds 30+ recent samples for averaging. The 33 digital I/O pins interface with discrete sensors and indicator LEDs, and the USART links to a host controller or Bluetooth module. Operate at 5.0 V for legacy analog sensor compatibility or 3.3 V for modern digital sensors. The MQFP-44 footprint is easy to lay out on a 4-layer sensor board with ground plane.
Recommended
HVAC Subsystem Controllers
The PIC16F877T-04E/PQ targets HVAC subsystem controllers because its 14 KB FLASH stores full state-machine firmware for thermostat, damper, and blower control, while the 10-bit ADC reads multiple thermistor temperature sensors and pressure transducers. The two CCP (Capture/Compare/PWM) modules drive TRIAC phase-angle control for AC line voltage dimming and variable-speed blower motor control. The USART connects to a wall-mounted display or a wireless thermostat gateway, and the enhanced -40C to +125C temperature grade tolerates attic and outdoor HVAC environments. The MSSP module interfaces with EEPROM-backed real-time clocks (such as DS1307) for scheduling. Compared with PIC16F876, the PIC16F877 offers double the program memory and 8 more I/O pins, allowing single-chip HVAC control without external logic.
Recommended
Motor Control (Stepper / DC)
The PIC16F877T-04E/PQ serves stepper and brushed-DC motor control applications because its three 16-bit timers and two CCP PWM modules generate up to 2 channels of variable-frequency, variable-duty PWM for H-bridge drivers. The 33 digital I/O pins drive L298 dual H-bridge logic inputs, end-stop limit switches, and quadrature encoder feedback. The USART enables Modbus or CAN bridge to a supervisory PLC, and the 10-bit ADC monitors motor current via shunt resistor for closed-loop torque control. The 5 MIPS throughput (at 4 MHz) executes field-oriented control algorithms for small BLDC motors up to several kHz. The 256 bytes EEPROM stores motor calibration parameters. For higher-rate FOC, upgrade to PIC16F877-20I/PQ at 20 MHz/5 MIPS.
Recommended
Legacy Embedded System Sustaining
The PIC16F877T-04E/PQ is the sustaining-engineering choice for legacy embedded systems because the PIC16F877 family has a multi-decade installed base in industrial controllers, automotive accessories, and consumer appliances still in field service. The 14 KB FLASH supports direct port of legacy PIC16C7X firmware via assembly-level compatibility, and the same ICSP programming interface (RB6/RB7) allows in-field firmware updates with the same PICkit tools used 20 years ago. The -40C to +125C enhanced grade matches the original qualification, and the MQFP-44 footprint is a direct PCB-level replacement for end-of-life boards. The 5 V-tolerant digital I/O is compatible with legacy 5 V peripheral chips that have no 3.3 V equivalent. Use PIC16F877T-04E/PQ to keep mature products in production without re-qualifying the firmware stack.
Recommended
Instrumentation Front-Ends
The PIC16F877T-04E/PQ is well suited for portable instrumentation front-ends because its 14 KB FLASH stores calibration tables and DSP-style digital filtering firmware, while the 10-bit ADC captures transducer signals at sample rates up to ~50 kSPS (channel-sequential). The USART streams digitized data to a host PC or Bluetooth link, and the 33 digital I/O pins drive LCD segment displays, keypads, and status LEDs. The 2.0 V to 5.5 V VDD range supports both 3.3 V lithium-battery and 5.0 V USB-powered operation, while the 256-byte EEPROM stores non-volatile instrument calibration. The enhanced -40C to +125C grade handles outdoor measurement environments. Compared with PIC16F876, the PIC16F877 doubles program memory, enabling on-chip FIR/IIR filtering without external DSP.
Recommended
Recommended Products Summary
Engineering reference data for PIC16F877T-04E/PQ — comparison, design guidance, and compliance information.
Selection Guide
Comparison with Alternatives
| Parameter | This Product | PIC16F877-04E/PQ | PIC16F877-04I/PQ | PIC16F877-10E/PQ | PIC16F877-20I/PQ | PIC16F877-04/PQ | PIC16F874-04E/PQ |
|---|---|---|---|---|---|---|---|
| Package | 44-pin MQFP (PQ) | 44-pin MQFP (PQ) - same | 44-pin MQFP (PQ) - same | 44-pin MQFP (PQ) - same | 44-pin MQFP (PQ) - same | 44-pin MQFP (PQ) - same | 44-pin MQFP (PQ) - same |
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Maximum Clock Frequency | 4 MHz | 4 MHz | 4 MHz | 10 MHz | 20 MHz | 4 MHz | 4 MHz |
| Instruction Execution Time | 200 ns | 200 ns | 200 ns | 100 ns | 200 ns (from 20 MHz clock) | 200 ns | 200 ns |
| Program Memory (Flash) | 14 KB (8K x 14) | 14 KB | 14 KB | 14 KB | 14 KB | 14 KB | 7 KB (-50%) |
| Data RAM | 368 bytes | 368 bytes | 368 bytes | 368 bytes | 368 bytes | 368 bytes | 192 bytes (-48%) |
| Data EEPROM | 256 bytes | 256 bytes | 256 bytes | 256 bytes | 256 bytes | 256 bytes | 256 bytes |
| Operating Temperature Range | -40C to +125C (Enhanced 'E') | -40C to +125C (Enhanced) | -40C to +85C (Industrial) | -40C to +125C (Enhanced) | -40C to +85C (Industrial) | 0C to +70C (Commercial) | -40C to +125C (Enhanced) |
| I/O Pins | 33 | 33 | 33 | 33 | 33 | 33 | 33 |
| ADC Channels | 8 (10-bit) | 8 (10-bit) | 8 (10-bit) | 8 (10-bit) | 8 (10-bit) | 8 (10-bit) | 8 (10-bit) |
Key Differentiators
- Tape & Reel packaging variant for SMT production (vs PIC16F877-04E/PQ)
- Enhanced -40C to +125C operating temperature for harsh environments (vs PIC16F877-04I/PQ)
- Doubles program memory of PIC16F874 family member (vs PIC16F874-04E/PQ)
- Industry-standard PIC16F877 die with 30+ year ecosystem (vs Generic 8-bit MCU (e.g. ATmega32, STM8S))
Design Notes
Estimated: at VDD=5.0 V and active mode @ 4 MHz, the PIC16F877T-04E/PQ draws approximately 2-4 mA. Place a 100 nF ceramic decoupling capacitor directly between each VDD pin (11 and 32) and the nearest VSS pin (12 and 31), with traces shorter than 5 mm to suppress digital switching transients. Add a bulk 10 uF tantalum or aluminum electrolytic capacitor at the board's power input to handle inrush during ICSP programming (which briefly drives MCLR/VPP to ~13 V). The internal brown-out reset (BOR) is configurable but does not replace external supply supervision in safety-critical designs; for industrial applications add a dedicated supervisor such as MCP100 or TPS3839.
Route the oscillator traces (OSC1/OSC2, pins 13/14) with short, symmetric traces enclosed in a guard ring tied to ground. For a 4 MHz crystal application with two 22 pF load capacitors, place the capacitors within 3 mm of the OSC pins. The ICSP pins (RB6/PGC, RB7/PGD) must be accessible - either through a 6-pin ICSP header (standard Microchip pinout: 1=MCLR, 2=VDD, 3=VSS, 4=PGD, 5=PGC, 6=NC) or test points on production boards. Leave MCLR/VPP (pin 1) tied to VDD through a 10 kohm pull-up resistor, with the ICSP programmer overriding this during programming.
Three common pitfalls: (1) Do not leave MCLR floating - an unconnected MCLR pin will pick up noise and trigger spurious resets; always use the 10 kohm pull-up. (2) The PIC16F877 family is in Microchip maintenance status with 12-14 week lead times; for new designs start with PIC16F887 (drop-in enhanced replacement with active production) or PIC18F45K22 (32 KB FLASH, 16 MIPS, $2.50 typical). (3) The 33 I/O claim assumes all PORTB pull-ups are enabled; PORTB pins default to inputs with weak pull-ups at POR, but these can be disabled in firmware - verify RBPU bit in OPTION_REG before debugging 'stuck-high' inputs.
The PIC16F877T-04E/PQ's 5 V CMOS I/O has limited drive strength (~25 mA source/sink per pin, 200 mA total for all pins). For high-speed signals (SPI > 5 MHz, USART > 115.2 kbaud), add 33 ohm series damping resistors near the driver pin to reduce transmission-line ringing on traces > 50 mm. The analog inputs (RA0-RA5, RE0-RE2) share pins with digital I/O; configure them as analog inputs by clearing the corresponding PCFG bits in ADCON1 and as digital inputs by setting the corresponding TRIS bit. Add a 100 ohm isolation resistor between ADC input and digital signal source to prevent digital switching noise from coupling into the analog measurement.
Compliance Information
RoHS compliant per Microchip product page. Lead-free (Pb-free) and halogen-free per Microchip PIC16F877 family datasheet 30292D environmental compliance section. AEC-Q100 not qualified - the 'E' grade refers to enhanced temperature, not automotive qualification; for AEC-Q100 qualified applications choose PIC16F877A-I/PQ or PIC18F46K22-I/PT instead.