PIC16F877-04E/PT - 8-bit PIC MCU, 14KB Flash, 44-TQFP | Microchip
MPN: PIC16F877-04E/PT β End of Life| Qty | Unit Price | Extended |
|---|---|---|
| 1 | $4.93 | $4.93 |
| 10 | $4.5 | $45.00 |
| 100 | $4.05 | $405.00 |
| 500 | $3.65 | $1,825.00 |
| 1,000 | $3.25 | $3,250.00 |
PIC16F877-04E/PT Overview
What is an 8-bit PIC microcontroller? An 8-bit PIC microcontroller is a RISC-based Harvard-architecture MCU from Microchip Technology. The PIC16F877 belongs to the mid-range PIC16F family, sits inside the broader PIC16F family, and is part of Microchip's 8-bit microcontroller portfolio alongside PIC18 and PIC10/12/16 devices. These MCUs integrate CPU core, Flash program memory, SRAM, EEPROM, ADCs, timers, and communication peripherals on a single chip.
Key features of the PIC16F877-04E/PT include 200 ns instruction execution, 8 channels of 10-bit Analog-to-Digital conversion, two 8-bit timers plus one 16-bit timer, two Capture/Compare/PWM modules, an MSSP configurable as SPI or I2C, a USART, an ICD (In-Circuit Debugger) interface, and self-programming support. The -04E suffix indicates a 4 MHz speed grade with the Extended temperature range.
The architecture is built on a 14-bit instruction word with a 35-instruction RISC set, delivering deterministic interrupt latency and predictable timing. The 10-bit ADC provides 8 input channels at conversion rates suitable for sensor signal acquisition, while the two PWM/Capture/Compare modules can drive motor control, LED dimming, or waveform generation tasks.
Applications include industrial automation controllers, sensor signal acquisition systems, motor control boards, embedded instrumentation, and legacy equipment retrofits. The PIC16F877A is the preferred successor for new designs; the -04E/PT is intended for maintenance of existing designs.
When designing with this part, ensure Vdd decoupling with 100 nF and 10 uF capacitors placed close to the supply pins. The MCLR pin requires proper configuration for in-circuit debugging or reset. Use ICD2/ICD3 programmers for development.
This page synthesizes distributor pricing, drop-in alternatives, and practical design notes not found in the manufacturer datasheet. The PIC16F877 datasheet (DS30292C) remains the authoritative reference for electrical characteristics and peripheral configuration.
Drop-in alternatives for PIC16F877-04E/PT β 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 PIC16F877-04E/PT (same form factor and footprint) β differing in Package, ADC, Core Architecture, Timers, Communication Interfaces.
Quick Comparison Tool β Select alternative parts for side-by-side comparison:
PIC16F877A-I/PT
β Drop-Inπ Reference alternative (not in catalog)
PIC16F877-04I/PT
β Drop-Inβ In Stock
$4.95 / Unit
View Datasheet βPIC16F887-I/PT
β Drop-Inβ In Stock
$1.66 / Unit
View Datasheet βPIC16F874A-I/PT
β Drop-Inπ Reference alternative (not in catalog)
PIC16F877-20E/PT
β Drop-Inπ Reference alternative (not in catalog)
PIC16F877-04E/PT Maximum Ratings & Electrical Characteristics
| Core Architecture | PIC (RISC, Harvard) |
| Data Bus Width | 8 bit |
| Instruction Word Width | 14 bit |
| Program Memory Type | Flash |
| Program Memory Size | 14 KB (8K x 14) |
| RAM Size | 368 byte |
| EEPROM Size | 256 byte |
| Maximum Clock Frequency | 4 MHz |
| Instruction Execution Time | 200 ns |
| Operating Supply Voltage | 2.0 V to 5.5 V |
| I/O Pins | 33 |
| ADC | 8 channels x 10 bit |
| Timers | 2 x 8-bit + 1 x 16-bit |
| PWM / CCP Modules | 2 |
| Communication Interfaces | MSSP (SPI/I2C), USART |
| Package | 44-TQFP (10x10 mm) |
| Mounting Type | Surface Mount |
| Operating Temperature Range | -40C to +125C (Extended, E suffix) |
| In-Circuit Debug | ICD interface |
| Self-Programming | Yes |
| RoHS Status | Compliant |
PIC16F877-04E/PT Pin Configuration
| Pin 1 | MCLR/Vpp β Master Clear (reset) input / programming voltage |
| 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/Vref- β PORTA bit 2 / Analog input 2 / ADC Vref- |
| 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 port read / Analog input 5 |
| Pin 9 | RE1/WR/AN6 β PORTE bit 1 / Parallel port write / Analog input 6 |
| Pin 10 | RE2/CS/AN7 β PORTE bit 2 / Parallel port chip select / Analog input 7 |
| Pin 11 | VDD β Positive supply voltage (2.0V to 5.5V) |
| Pin 12 | VSS β Ground reference |
| Pin 13 | OSC1/CLKI β Oscillator crystal input / external clock input |
| Pin 14 | OSC2/CLKO β Oscillator crystal output / clock output |
| 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 I/O |
| Pin 17 | RC2/CCP1 β PORTC bit 2 / CCP1 I/O |
| 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 transmit / USART clock |
| Pin 26 | RC7/RX/DT β PORTC bit 7 / USART receive / 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 voltage |
| 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 programming input |
| Pin 37 | RB4 β PORTB bit 4 |
| Pin 38 | RB5 β PORTB bit 5 |
| Pin 39 | RB6/PGC β PORTB bit 6 / ICD clock |
| Pin 40 | RB7/PGD β PORTB bit 7 / ICD data |
| Pin 41 | VSS β Ground reference |
| Pin 42 | VDD β Positive supply voltage |
| Pin 43 | NC β Not connected (per datasheet, TQFP pin reserved) |
| Pin 44 | NC β Not connected (per datasheet, TQFP pin reserved) |
Typical Applications
PIC16F877-04E/PT is suitable for 6 applications: Industrial Automation Controllers, Sensor Signal Acquisition Boards, Motor Control and PWM Drive, Embedded Instrumentation and Data Loggers, Legacy Equipment Retrofit and Maintenance, Educational and Hobby Development Boards.
Industrial Automation Controllers
The PIC16F877-04E/PT fits industrial automation controllers because it integrates 33 I/O pins, 8 channels of 10-bit ADC, and a USART for sensor and actuator interfacing on a single chip. At 4 MHz with 200 ns instruction execution, the part provides deterministic interrupt latency for real-time control loops. The 14 KB Flash supports ladder-logic-style program structures, while the 256-byte EEPROM stores calibration constants across power cycles. The extended -40C to +125C temperature range (E suffix) qualifies the part for factory-floor enclosures.
Recommended
Sensor Signal Acquisition Boards
The PIC16F877-04E/PT is well-suited for multi-signal data acquisition boards because its 8-channel 10-bit ADC samples analog sensor inputs (temperature, pressure, flow) at rates sufficient for industrial telemetry. The 368-byte RAM buffers sample sets, while 14 KB Flash stores the conversion and averaging algorithms. The MSSP peripheral reads SPI-based digital sensors (e.g., MCP3204) in parallel with the analog scan, and the USART streams formatted data to a host. The 44-TQFP gives board designers 33 I/O for both analog and digital sensor chains.
Recommended
Motor Control and PWM Drive
The PIC16F877-04E/PT drives brushed DC and small stepper motors via its two CCP/PWM modules generating complementary PWM signals at configurable frequencies. The 16-bit timer sets the PWM period with sub-microsecond resolution, while the 8-bit timers handle commutation sequencing for stepper drives. H-bridge driver ICs such as the L293D or VNH2SP30 are commanded directly from the 33 I/O pins. The extended temperature grade supports under-hood and motor-mounted electronics.
Recommended
Embedded Instrumentation and Data Loggers
The PIC16F877-04E/PT powers portable data loggers because its 256-byte EEPROM retains logged samples across battery swaps without external NVRAM. The PIC's low-power sleep mode combined with the 2.0-5.5 V supply range supports multi-month battery operation from two AA cells. Real-time clock ICs (e.g., DS1307 or MCP79410) attach over the I2C MSSP channel. The 14 KB Flash stores FAT-style file system or binary log formats with timestamp headers.
Recommended
Legacy Equipment Retrofit and Maintenance
The PIC16F877-04E/PT is the maintenance part of choice for field-replacement scenarios in equipment shipped between 2000 and 2015, where PIC16F877 was a design standard. Its 44-TQFP footprint and pinout remain unchanged across the -04, -04I, -04E, -20, and A revision variants, allowing direct board swaps. Distributor inventory of the -04E/PT specifically targets equipment manufacturers needing to service installed bases. For new designs the A revision is preferred.
Recommended
Educational and Hobby Development Boards
The PIC16F877-04E/PT appears on educational trainer boards and PIC programmer kits because its 44-TQFP package is easy to handle, the ICD interface supports in-circuit debugging, and the 14 KB Flash fits typical classroom projects (LED chasers, LCD drivers, frequency counters). The Microchip PICDEM and PICkit boards reference this part. Hobbyists building retro projects can use the freely available MPLAB X IDE and XC8 compiler.
Recommended
Recommended Products Summary
Engineering reference data for PIC16F877-04E/PT β comparison, design guidance, and compliance information.
Selection Guide
Comparison with Alternatives
| Parameter | This Product | PIC16F877A-I/PT | PIC16F877-04I/PT | PIC16F887-I/PT | PIC16F874A-I/PT | PIC16F877-20E/PT |
|---|---|---|---|---|---|---|
| Package | 44-TQFP (10x10 mm) | 44-TQFP (10x10 mm) - same | 44-TQFP (10x10 mm) - same | 44-TQFP (10x10 mm) - same | 44-TQFP (10x10 mm) - same | 44-TQFP (10x10 mm) - same |
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Program Memory | 14 KB Flash | 14 KB Flash | 14 KB Flash | 14 KB Flash | 7 KB Flash (-50%) | 14 KB Flash |
| Maximum Clock Frequency | 4 MHz | 20 MHz | 4 MHz | 20 MHz | 20 MHz | 20 MHz |
| Lifecycle Status | NRND | Active | NRND | Active | Active | NRND |
| Temperature Range | -40C to +125C (Extended) | -40C to +85C (Industrial) | -40C to +85C (Industrial) | -40C to +85C (Industrial) | -40C to +85C (Industrial) | -40C to +125C (Extended) |
| ADC Channels | 8 x 10-bit | 8 x 10-bit (enhanced) | 8 x 10-bit | 14 x 10-bit | 8 x 10-bit | 8 x 10-bit |
| PWM / CCP Modules | 2 | 2 (enhanced CCP) | 2 | 3 (ECCP) | 2 | 2 |
Key Differentiators
- Extended temperature range -40C to +125C for industrial/automotive environments (vs PIC16F877A-I/PT)
- Lower-speed grade reduces EMI and power consumption in cost-sensitive designs (vs PIC16F877-20E/PT)
- Established mid-range PIC architecture with extensive legacy ecosystem support (vs PIC16F887-I/PT)
Design Notes
Decouple the PIC16F877-04E/PT with a 100 nF ceramic capacitor placed within 5 mm of each VDD pin (pins 11, 32, 42) and a single 10 uF tantalum or ceramic bulk capacitor on the supply rail. The 44-TQFP package has three VDD pins (11, 32, 42) and three VSS pins (12, 31, 41); all must be connected. Per the Microchip PIC16F87x datasheet (DS30292C), inadequate decoupling causes ADC noise and brown-out resets under motor load transients.
Route the oscillator traces (OSC1 pin 13, OSC2 pin 14) as short as possible, kept away from high-current switching traces, and surrounded by ground pour on both sides. For 4 MHz operation a standard 4 MHz crystal with 22 pF load capacitors is recommended. The MCLR pin (1) requires a 10 kohm pull-up to VDD and a 100 nF cap to ground for noise immunity; in ICD mode this pin is also the programming voltage input and must not be left floating.
The PIC16F877-04E/PT shares the 44-TQFP footprint with PIC16F877A and PIC16F887, but the configuration registers (CONFIG1, CONFIG2) differ between revisions. When migrating firmware from the -04E to the A revision, review oscillator configuration and watchdog timer settings per the PIC16F877A datasheet (DS39582A). The PIC16F887 uses a different register map and is not source-compatible without porting. For long-term designs, use PIC16F887-I/PT as the successor to maximize peripheral availability.
Estimated: at 4 MHz clock, 5 V supply, and typical CMOS load switching, the PIC16F877-04E/PT dissipates approximately 25-50 mW. The 44-TQFP package has theta_JA around 50 C/W, so junction temperature rise is 1.5-2.5 C above ambient. At the 125 C extended-temperature ceiling this leaves 50 C margin to the absolute maximum junction of 150 C. No heatsink is required; standard PCB thermal relief on the ground pins is sufficient for industrial use.
Compliance Information
RoHS and lead-free compliant per Microchip product page. Not AEC-Q100 qualified - the extended temperature grade is for industrial environments, not automotive safety-critical. Microchip QS-9000 certified manufacturing facility (since 1999) per DigiKey listing.