PIC16F877-10E/PT - 10MHz 8-Bit MCU, 14KB Flash | Microchip
MPN: PIC16F877-10E/PT ✓ Active| Qty | Unit Price | Extended |
|---|---|---|
| 1 | $11.5 | $11.50 |
| 10 | $10.35 | $103.50 |
| 100 | $9.2 | $920.00 |
| 500 | $8.3 | $4,150.00 |
| 1,000 | $7.45 | $7,450.00 |
PIC16F877-10E/PT Overview
An 8-bit microcontroller (MCU) is a single-chip computer built around an 8-bit data path, integrating CPU core, program memory (ROM/FLASH), working RAM, non-volatile EEPROM and a set of on-chip peripherals (timers, ADC, communications ports, GPIO). Within the broader taxonomy, 8-bit MCUs sit below 16-bit and 32-bit microcontrollers in compute and address-space capability, but offer the lowest cost, simplest toolchain and lowest power for control-oriented tasks. The PIC16F family, introduced by Microchip in the late 1990s, became one of the most widely deployed mid-range 8-bit platforms and is still supported by the MPLAB X IDE and XC8 compiler.
Key features of the PIC16F877 include 33 digital I/O lines across five ports (RA-RB-RC-RD-RE), an 8-channel 10-bit successive-approximation ADC, two 8-bit timers (Timer0, Timer2) plus one 16-bit timer (Timer1), two Capture/Compare/PWM (CCP) modules, a synchronous serial port configurable as either 3-wire SPI or 2-wire I2C, a USART for asynchronous serial, an 8-bit parallel slave port, and an ICD (In-Circuit Debug) interface. Brown-out Reset (BOR), Power-on Reset (POR), Watchdog Timer (WDT) with on-chip RC oscillator, and self-programming of the FLASH program memory are all supported.
Architecturally, the PIC16F877 uses a Harvard-style RISC core with separate program and data buses, a hardware stack of 8 levels, and 35 single-word instructions. The 14-bit instruction word width is wider than the 8-bit data path, which lets a single instruction word encode an opcode plus an immediate operand or literal address. Power consumption is controlled via Sleep mode (CPU and most peripherals halted), several clock-source options including the internal RC oscillator, and an operating voltage range typically 4.0 V to 5.5 V (extended 2.0 V-5.5 V for the LF variant).
Typical applications include industrial automation controllers, sensor-conditioning front ends, low-end human-machine interfaces (HMI), small appliances, motor-control loops using the CCP modules, data-logging with the ADC and internal EEPROM, and education/evaluation platforms where the 44-pin TQFP exposes all peripherals for breadboard-friendly prototyping. The on-chip self-programming capability also makes the part suitable for field-upgradeable embedded products.
When designing with the PIC16F877-10E/PT, note that the 14 KB FLASH and 368-byte RAM are modest by 2026 standards, so projects requiring TCP/IP stacks, USB or graphical displays are better served by PIC18, PIC24, dsPIC33 or Cortex-M0+/M4 parts. For new designs, Microchip actively recommends migrating to the pin-compatible PIC16F887 or PIC16F877A, which offer more memory, additional peripherals and a wider operating voltage range, while preserving the same 40/44-pin pinout.
This page synthesizes distributor pricing, drop-in same-package alternatives and practical design notes not found in the manufacturer datasheet, giving the engineer a one-stop reference for evaluating, sourcing and replacing this classic PIC16F family part.
Drop-in alternatives for PIC16F877-10E/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-10E/PT (same form factor and footprint) — differing in ADC, Package, Core Architecture, Timers, Maximum Clock Frequency.
Quick Comparison Tool — Select alternative parts for side-by-side comparison:
PIC16F877-10I/PT
✅ Drop-In ⚠️ Specs Unverified📋 Reference alternative (not in catalog)
PIC16F877-04E/PT
✅ Drop-In✓ In Stock
$3.25 / Unit
View Datasheet →PIC16F874-10E/PT
✅ Drop-In✓ In Stock
$6.55 / Unit
View Datasheet →PIC16F871-I/PT
✅ Drop-In✓ In Stock
$2.82 / Unit
View Datasheet →PIC16F877A-I/PT
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F887-I/PT
✅ Drop-In✓ In Stock
$1.66 / Unit
View Datasheet →PIC16F877-10E/PT Maximum Ratings & Electrical Characteristics
| Product Family | PIC16F 8-bit Microcontroller |
| Core Architecture | PIC16 Harvard RISC, 14-bit instruction word |
| Core Size | 8-bit |
| Maximum Clock Speed | 10 MHz |
| Instruction Execution Time | 200 ns (at 10 MHz) |
| Program Memory (FLASH) | 14 KB (8K x 14 words) |
| Data EEPROM | 256 bytes |
| Data RAM | 368 bytes |
| I/O Pins | 33 |
| ADC | 8 channels, 10-bit |
| Timers | 3 (Timer0 8-bit, Timer1 16-bit, Timer2 8-bit) |
| CCP Modules | 2 (Capture/Compare/PWM) |
| Serial Interfaces | SPI / I2C (MSSP), USART |
| Package | 44-pin TQFP (10 x 10 mm) |
| Mounting Type | Surface Mount |
| Operating Temperature Range (E suffix) | -40C to +125C |
| Programming/Debug Interface | ICSP (In-Circuit Serial Programming) / ICD |
| RoHS Status | Compliant |
PIC16F877-10E/PT Pin Configuration
| Pin 1 | MCLR/VPP — Master Clear (Reset) input or 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/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 Slave Port read / Analog input 5 |
| Pin 9 | RE1/WR/AN6 — PORTE bit 1 / Parallel Slave Port write / Analog input 6 |
| Pin 10 | RE2/CS/AN7 — PORTE bit 2 / Parallel Slave Port chip select / Analog input 7 |
| Pin 11 | VDD — Positive supply voltage |
| Pin 12 | VSS — Ground |
| Pin 13 | OSC1/CLKI — Crystal oscillator input / external clock input |
| Pin 14 | OSC2/CLKO — Crystal oscillator 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 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 / 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 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 |
| Pin 32 | VDD — Positive supply voltage |
| 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 programming |
| Pin 37 | RB4 — PORTB bit 4 (interrupt-on-change) |
| Pin 38 | RB5 — PORTB bit 5 (interrupt-on-change) |
| Pin 39 | RB6/PGC — PORTB bit 6 / ICSP clock |
| Pin 40 | RB7/PGD — PORTB bit 7 / ICSP data |
| Pin 41 | NC — Not connected |
| Pin 42 | NC — Not connected |
| Pin 43 | NC — Not connected |
| Pin 44 | NC — Not connected |
Typical Applications
PIC16F877-10E/PT is suitable for 7 applications: Industrial Automation Controller, Sensor Conditioning Front End, Small Appliance Control Board, Education and Development Platforms, Data Logger with Internal EEPROM, Motor Control via CCP/PWM, Human-Machine Interface (HMI) Controller.
Industrial Automation Controller
The PIC16F877-10E/PT fits industrial automation controllers that need 33 GPIO for sensors, relays and HMI inputs, plus an 8-channel 10-bit ADC for analog feedback loops. Its 10 MHz / 200 ns instruction cycle gives the throughput required for PID loops on motor-control axes, while the 14 KB FLASH holds the control firmware and 256 B EEPROM stores calibration constants that survive power-cycles. The E-grade -40C to +125C rating tolerates factory-floor temperature swings. Connect via SPI to a digital potentiometer and via I2C to an external EEPROM for data logging, and drive three-phase or DC motors using the two CCP/PWM modules.
Recommended
Sensor Conditioning Front End
For sensor-conditioning front ends the PIC16F877-10E/PT reads up to 8 analog channels via its 10-bit ADC, applies on-chip filtering in firmware, and reports the result over USART or SPI to a host processor. The 368-byte RAM is sufficient for first-in-first-out buffering of 50+ samples, while the 256-byte EEPROM stores per-sensor calibration. At 10 MHz the ADC can be sampled at the conversion-rate-limited maximum without CPU bottleneck. For strain-gauge bridges, RTDs or thermocouples, the MCU pairs well with an instrumentation amplifier in front and an SPI DAC for offset correction.
Recommended
Small Appliance Control Board
The PIC16F877-10E/PT suits small-appliance control boards (coffee machines, washing-machine sub-boards, microwave ovens) because of its 33 GPIO for keypad scanning, LED driving, buzzer control and TRIAC firing, combined with the two CCP/PWM modules that handle motor speed or heater proportional control. The 14 KB FLASH is enough for state-machine firmware and menu UI, while the 256-byte EEPROM retains user settings and fault counters through power-off. Self-programming via ICSP supports field firmware updates, and the E-grade temperature rating handles appliance under-hood environments up to +125C.
Recommended
Education and Development Platforms
The PIC16F877-10E/PT is a long-standing choice for university embedded-systems labs and hobbyist development boards because every peripheral (ADC, SPI, I2C, USART, timers, CCP) is exposed on the 44-pin TQFP and accessible from breadboard-friendly breakouts. The MPLAB X IDE with the free XC8 compiler, plus the PICkit 3/4 ICD, gives students a complete free toolchain. The 14 KB FLASH and 368-byte RAM are large enough to host real-world firmware such as a UART-controlled thermostat, while still forcing students to write memory-efficient code.
Recommended
Data Logger with Internal EEPROM
The PIC16F877-10E/PT works as a stand-alone data logger by sampling its 8-channel 10-bit ADC, timestamping events with Timer1, and storing results in the 256-byte internal EEPROM or streaming them via USART. The on-chip self-programming lets the device be field-updated with new logging profiles. The E-grade temperature rating makes it suitable for outdoor environmental monitoring stations. With a 32.768 kHz external crystal driving Timer1, the MCU can wake from Sleep on overflow, log one sample, and return to Sleep for years of battery life from a 3 V coin cell via a boost converter.
Recommended
Motor Control via CCP/PWM
The PIC16F877-10E/PT can run simple brushed-DC or stepper motor control loops using its two CCP/PWM modules and the 16-bit Timer1 for back-EMF sensing or quadrature decoding. The 10 MHz instruction cycle delivers ~200 ns per loop iteration, sufficient for several-kHz PWM updates and PI control on small motors. The 33 GPIO handles direction lines, limit switches and encoder inputs, while the ADC reads motor current via a shunt amplifier. For 3-phase BLDC or sensorless FOC, migrate to a PIC18 or dsPIC33 part with dedicated motor-control PWM peripherals.
Recommended
Human-Machine Interface (HMI) Controller
The PIC16F877-10E/PT drives small HMIs - LCD character displays, 7-segment LED readouts, 4x4 keypads - using its 33 GPIO and SPI/I2C ports. The USART talks to a host PLC or panel meter, and the two CCP/PWM modules can dim backlights or drive status LEDs. With 14 KB FLASH the firmware fits a full menu system, and the 256-byte EEPROM retains user-set thresholds. The E-grade temperature rating covers indoor-outdoor industrial panels. Pair with an SPI LCD controller or a character-LCD driver, plus a UART-to-RS485 transceiver for Modbus RTU slave communication.
Recommended
Recommended Products Summary
Engineering reference data for PIC16F877-10E/PT — comparison, design guidance, and compliance information.
Selection Guide
Comparison with Alternatives
| Parameter | This Product | PIC16F877-10I/PT | PIC16F877-04E/PT | PIC16F874-10E/PT | PIC16F871-I/PT | PIC16F877A-I/PT | PIC16F887-I/PT |
|---|---|---|---|---|---|---|---|
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Package | TQFP-44 (10 x 10 mm) | TQFP-44 - same | TQFP-44 - same | TQFP-44 - same | TQFP-44 - same | TQFP-44 - same | TQFP-44 - same |
| Maximum Clock Speed | 10 MHz | 10 MHz | 4 MHz (-60%) | 10 MHz | 20 MHz (+100%) | 20 MHz (+100%) | 20 MHz (+100%) |
| FLASH Program Memory | 14 KB | 14 KB | 14 KB | 7 KB (-50%) | 14 KB | 14 KB | 14 KB |
| Data RAM | 368 bytes | 368 bytes | 368 bytes | 192 bytes (-48%) | 368 bytes | 368 bytes | 368 bytes |
| Data EEPROM | 256 bytes | 256 bytes | 256 bytes | 256 bytes | 256 bytes | 256 bytes | 256 bytes |
| ADC | 8 ch x 10-bit | 8 ch x 10-bit | 8 ch x 10-bit | 8 ch x 10-bit | 8 ch x 10-bit | 8 ch x 10-bit (with improved acquisition) | 14 ch x 10-bit (+75%) |
| I/O Pins | 33 | 33 | 33 | 33 | 33 | 33 | 36 |
| Operating Temperature (suffix) | -40C to +125C (E) | -40C to +85C (I) | -40C to +125C (E) | -40C to +125C (E) | -40C to +85C (I) | -40C to +85C (I) | -40C to +85C (I) |
Key Differentiators
- Wider -40C to +125C operating temperature (E suffix) than the I-grade 887/877A (vs PIC16F887-I/PT)
- Legacy pin-compatibility with 20+ year design ecosystem (vs PIC16F877A-I/PT)
- Same 44-TQFP package as PIC16F874 with double the FLASH and RAM (vs PIC16F874-10E/PT)
Design Notes
The PIC16F877-10E/PT specifies VDD between 4.0 V and 5.5 V for the standard part (2.0 V to 5.5 V for the LF variant). Decouple VDD/VSS pairs at pins 11-12 and 31-32 with 100 nF X7R ceramic capacitors placed within 5 mm of the package pins; add a bulk 10 uF tantalum or aluminum-polymer capacitor near the supply entry point. If using the ADC, add a small ferrite bead or 10 ohm resistor between analog VDD and digital VDD to isolate switching noise. Brown-Out Reset (BOR) is enabled by configuration fuse to hold the MCU in reset if VDD dips below threshold during operation.
Place the crystal or resonator within 5 mm of OSC1 (pin 13) and OSC2 (pin 14), with the load capacitors (typically 15-33 pF) routed back to the nearest VSS. Keep high-frequency digital signals (PORTD, USART) at least 5 mm away from the analog PORTA pins to avoid crosstalk into the ADC. For ICSP programming, expose pins 1 (MCLR), 39 (PGC), 40 (PGD) and VDD/VSS to a 6-pin header; do not place series resistors above 100 ohm on these lines as they degrade ICSP signal integrity.
Three common pitfalls with the PIC16F877-10E/PT: (1) exceeding 10 MHz with a 10 MHz-rated part causes unreliable FLASH reads - confirm crystal selection; (2) configuring CONFIG1H with the wrong oscillator mode traps the MCU in an unclocked state - keep the factory default and override only if needed; (3) the Parallel Slave Port (PORTD + PORTE) must have TRIS bits set correctly or the port will drive external bus contention. Always read the configuration bits from the device with the PICkit before programming, and use the ICD for first-pass bring-up to catch configuration errors quickly.
The USART pins RC6 (TX) and RC7 (RX) can drive long PCB traces; if the trace exceeds 50 mm, add a 100 ohm series resistor at the driver pin to dampen ringing and reduce EMI. For I2C bus runs above 100 mm total length, lower the clock to 100 kHz Standard-mode rather than 400 kHz Fast-mode, and add 4.7 kohm pull-ups to VDD. The SPI bus should also be kept under 50 mm; if longer runs are required, use a lower slew-rate driver or buffer the lines with a 74HC125.
Compliance Information
RoHS compliant per Microchip product page. Microchip's quality system is QS-9000 compliant since July 1999. The PIC16F877 family is not AEC-Q100 qualified - choose PIC16F877A-E/P automotive grade parts for AEC-Q100 applications.