PIC16F877A-I/LG - 8-Bit MCU, 14KB Flash, 44-PLCC | Microchip
MPN: PIC16F877A-I/LG β Active| Qty | Unit Price | Extended |
|---|---|---|
| 1 | $7.42 | $7.42 |
| 10 | $6.68 | $66.80 |
| 100 | $5.95 | $595.00 |
| 500 | $5.32 | $2,660.00 |
| 1,000 | $4.78 | $4,780.00 |
PIC16F877A-I/LG Overview
An 8-bit microcontroller (MCU) is a single-chip computer that integrates a CPU, memory (Flash, RAM, EEPROM), and peripherals around an 8-bit data path. Within the embedded hierarchy, MCUs sit beneath microprocessors, distinguished by on-chip program memory and peripherals that make them self-contained for control tasks. The PIC16 family occupies Microchip's mid-range 8-bit portfolio, balancing cost, peripheral integration, and code density for industrial, consumer, and educational designs.
The PIC16F877A architecture combines a Harvard bus with separate program and data memories, enabling single-cycle instruction fetch and decode. Its 14-bit instruction word delivers compact code, and the 8-level hardware stack supports nested subroutines without software overhead. The nanoWatt technology feature set offers multiple power-managed idle and sleep modes, reducing quiescent current for battery-backed designs, while the wide 2.0 V to 5.5 V operating range supports both 3.3 V and 5 V rails.
Typical applications include industrial automation controllers, sensor interface boards, motor control peripherals, USB-to-UART bridges (via external UART), HVAC control panels, and educational development platforms. The PIC16F877A's combination of ADC, PWM, and serial peripherals lets a single chip replace multiple discrete components, shrinking BOM cost while retaining deterministic interrupt response.
A practical design tip: configure the configuration bits (fuses) for the intended oscillator mode (HS, XT, or RC) before programming, and reserve MCLR as a reset input with the recommended 10 kohm pull-up. This page synthesizes distributor pricing, drop-in alternatives, and engineering notes not found in the manufacturer datasheet alone.
Drop-in alternatives for PIC16F877A-I/LG β 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 PIC16F877A-I/LG (same form factor and footprint) β differing in ADC, Package, Timers, Core Architecture, Communication.
Quick Comparison Tool β Select alternative parts for side-by-side comparison:
PIC16F877A-I/L
β Drop-Inπ Reference alternative (not in catalog)
PIC16F877A-I/PT
β Drop-Inπ Reference alternative (not in catalog)
PIC16F877A-E/L
β Drop-Inβ In Stock
$7.4 / Unit
View Datasheet βPIC16F887-I/L
β Drop-Inπ Reference alternative (not in catalog)
PIC18F4520-I/L
β Drop-Inπ Reference alternative (not in catalog)
PIC16F877-20I/L
β Drop-Inβ In Stock
$9.05 / Unit
View Datasheet βPIC16F877A-I/LG Maximum Ratings & Electrical Characteristics
| Core Architecture | 8-bit PIC16 (mid-range) |
| Program Memory (Flash) | 14 KB (8K x 14 words) |
| Data SRAM | 368 bytes |
| Data EEPROM | 256 bytes |
| Maximum CPU Speed | 20 MHz |
| Instruction Cycle | 200 ns |
| Instruction Set Size | 35 single-word instructions |
| Operating Voltage | 2.0 V to 5.5 V |
| I/O Pins | 33 |
| ADC | 10-bit, 8 channels |
| Timers | 3 (Timer0, Timer1, Timer2) |
| PWM Modules | 2 (CCP) |
| Communication | UART/USART, SPI, I2C (MSSP) |
| Package | 44-PLCC (J-Lead), 16.59 x 16.59 mm |
| Operating Temperature (Industrial) | -40 C to +85 C |
| Mounting Type | Surface Mount |
PIC16F877A-I/LG 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/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 / read control / analog input 5 |
| Pin 9 | RE1/WR/AN6 β PORTE bit 1 / write control / analog input 6 |
| Pin 10 | RE2/CS/AN7 β PORTE bit 2 / chip select / analog input 7 |
| Pin 11 | VDD β Positive supply voltage |
| Pin 12 | VSS β Ground reference |
| Pin 13 | OSC1/CLKIN β Oscillator crystal input / external clock |
| Pin 14 | OSC2/CLKOUT β Oscillator crystal output / clock out |
| Pin 15 | RC0/T1OSO/T1CKI β PORTC bit 0 / Timer1 oscillator output / clock in |
| Pin 16 | RC1/T1OSI/CCP2 β PORTC bit 1 / Timer1 oscillator input / CCP2 |
| Pin 17 | RC2/CCP1 β PORTC bit 2 / Capture Compare PWM1 |
| Pin 18 | RC3/SCK/SCL β PORTC bit 3 / SPI clock / I2C clock |
| Pin 19 | RC4/SDI/SDA β PORTC bit 4 / SPI data in / I2C data |
| Pin 20 | RC5/SDO β PORTC bit 5 / SPI data out |
| Pin 21 | RC6/TX/CK β PORTC bit 6 / USART TX / USART clock |
| Pin 22 | RC7/RX/DT β PORTC bit 7 / USART RX / USART data |
| Pin 23 | RB0/INT β PORTB bit 0 / external interrupt |
| Pin 24 | RB1 β PORTB bit 1 |
| Pin 25 | RB2 β PORTB bit 2 |
| Pin 26 | RB3/PGM β PORTB bit 3 / low-voltage programming |
| Pin 27 | RB4 β PORTB bit 4 |
| Pin 28 | RB5 β PORTB bit 5 |
| Pin 29 | RB6/PGC β PORTB bit 6 / ICD clock |
| Pin 30 | RB7/PGD β PORTB bit 7 / ICD data |
| Pin 31 | VSS β Ground reference |
| Pin 32 | VDD β Positive supply voltage |
| Pin 33 | RD0/PSP0 β PORTD bit 0 / parallel slave port bit 0 |
| Pin 34 | RD1/PSP1 β PORTD bit 1 / parallel slave port bit 1 |
| Pin 35 | RD2/PSP2 β PORTD bit 2 / parallel slave port bit 2 |
| Pin 36 | RD3/PSP3 β PORTD bit 3 / parallel slave port bit 3 |
| Pin 37 | RD4/PSP4 β PORTD bit 4 / parallel slave port bit 4 |
| Pin 38 | RD5/PSP5 β PORTD bit 5 / parallel slave port bit 5 |
| Pin 39 | RD6/PSP6 β PORTD bit 6 / parallel slave port bit 6 |
| Pin 40 | RD7/PSP7 β PORTD bit 7 / parallel slave port bit 7 |
| 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
PIC16F877A-I/LG is suitable for 7 applications: Industrial Automation Controllers, Sensor Interface and Data Acquisition Boards, HVAC Control Panels, Educational Development and Training Platforms, Motor Control Peripherals, UART/SPI/I2C Protocol Bridges, Consumer Appliance Controllers.
Industrial Automation Controllers
The PIC16F877A-I/LG's 33 I/O pins, 8-channel 10-bit ADC, and three timers make it a strong fit for industrial PLC sub-modules and machine controllers. Its 20 MHz core executes deterministic PID loops at sub-millisecond intervals, while the 14 KB Flash accommodates state-machine logic and Modbus RTU firmware. The 2.0-5.5 V range supports 24 V sensor rails via simple LDO pre-regulation, and the -40 C to +85 C industrial temperature grade tolerates factory-floor environments. Place 100 nF decoupling on VDD/AVDD pairs and reserve MCLR as a hardware reset for failsafe recovery.
Recommended
Sensor Interface and Data Acquisition Boards
The 8-channel 10-bit ADC combined with I2C/SPI/UART peripherals makes the PIC16F877A-I/LG ideal for multi-sensor data acquisition front-ends. The PIC's deterministic ADC acquisition and interrupt-driven architecture let it sample thermocouples, pressure sensors, and accelerometers without DMA complexity. At 20 MHz the ADC throughput reaches ~30 ksps, suitable for vibration monitoring. Use the MSSP module in I2C mode to poll external EEPROM or sensors while the USART streams results to a host MCU, and route analog inputs through RC anti-alias filters per Nyquist.
Recommended
HVAC Control Panels
The PIC16F877A-I/LG's CCP/PWM modules, ADC, and UART fit naturally into HVAC control panels driving fans, damper actuators, and thermostats. Two PWM outputs can regulate DC fan speed or triac-fired heater elements, while the 8 ADC channels read thermistor bridges and current-sense amplifiers. The 256-byte EEPROM retains setpoint and schedule data across power cycles, and the 2.0-5.5 V supply tolerates rectified 24 VAC inputs with simple regulation. Add TVS diodes on MCLR and VDD for surge protection in field-deployed units.
Recommended
Educational Development and Training Platforms
The PIC16F877A-I/LG has been a teaching staple for over two decades, with abundant reference code, textbooks, and the PICDEM 2 Plus demo board. Students gain hands-on exposure to 8-bit register-level programming, interrupts, peripheral configuration, and assembly language. The 35-instruction RISC set is small enough to learn in a semester yet expressive enough to implement UART, I2C, and PWM drivers. Coursework typically covers ADC sampling, EEPROM wear-leveling, and low-power sleep modes on this exact part.
Recommended
Motor Control Peripherals
The PIC16F877A-I/LG's two CCP/PWM channels, quadrature timer, and 20 MIPS throughput support brushed DC and small stepper motor control applications. The 10-bit PWM resolution at 20 MHz provides 1024 duty steps at moderate switching frequencies, sufficient for H-bridge commutation. Use the ADC to sample current-sense amplifiers for closed-loop torque control, and the USART to expose telemetry to a host controller. The wide 2.0-5.5 V supply also supports direct battery operation for portable robotic peripherals.
Recommended
UART/SPI/I2C Protocol Bridges
With USART, MSSP (SPI/I2C), and 14 KB of Flash, the PIC16F877A-I/LG is well-suited to legacy protocol bridge designs that translate between UART, SPI, and I2C peripherals. Industrial gateways often need to expose a sensor's I2C bus over a UART link to a host PLC, which is a few hundred lines of interrupt-driven C on this MCU. The 33 I/O pins allow simultaneous attachment of multiple slaves while the CCP modules drive status LEDs. Use the internal oscillator for cost-sensitive bridges or an external crystal for tight UART baud-rate accuracy.
Recommended
Consumer Appliance Controllers
The PIC16F877A-I/LG is a cost-effective controller for white goods such as washing machines, dishwashers, and small kitchen appliances where a 5 V MCU with multiple PWM outputs and ADC channels is required. Its EEPROM retains user settings (cycle, temperature) across power loss, and the 33 I/O pins drive segment displays, button matrices, and triac interfaces. The -40 C to +85 C industrial temperature range handles under-cabinet thermal stress. Add zero-cross detection on an external interrupt pin for synchronous triac firing.
Recommended
Recommended Products Summary
Engineering reference data for PIC16F877A-I/LG β comparison, design guidance, and compliance information.
Selection Guide
Comparison with Alternatives
| Parameter | This Product | PIC16F877A-I/L | PIC16F877A-I/PT | PIC16F877A-E/L | PIC16F887-I/L | PIC18F4520-I/L | PIC16F877-20I/L |
|---|---|---|---|---|---|---|---|
| Package | 44-PLCC (J-Lead) | 44-PLCC (J-Lead) - same | 44-PLCC (J-Lead) - same | 44-PLCC (J-Lead) - same | 44-PLCC (J-Lead) - same | 44-PLCC (J-Lead) - same | 44-PLCC (J-Lead) - same |
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Core | PIC16 8-bit | PIC16 8-bit | PIC16 8-bit | PIC16 8-bit | PIC16 8-bit | PIC18 8-bit (16-bit instructions) | PIC16 8-bit |
| Program Memory | 14 KB Flash | 14 KB Flash | 14 KB Flash | 14 KB Flash | 14 KB Flash | 32 KB Flash | 14 KB Flash |
| Data SRAM | 368 bytes | 368 bytes | 368 bytes | 368 bytes | 368 bytes | 1536 bytes | 368 bytes |
| EEPROM | 256 bytes | 256 bytes | 256 bytes | 256 bytes | 256 bytes | 256 bytes | 256 bytes |
| Max CPU Speed | 20 MHz | 20 MHz | 20 MHz | 20 MHz | 20 MHz | 40 MHz | 20 MHz |
| 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 | -40 C to +85 C | -40 C to +85 C |
| ADC | 10-bit, 8 channels | 10-bit, 8 channels | 10-bit, 8 channels | 10-bit, 8 channels | 10-bit, 14 channels | 10-bit, 13 channels | 10-bit, 8 channels |
| Internal Oscillator | No | No | No | No | Yes (8 MHz, software-tunable) | Yes (8 MHz) | No |
Key Differentiators
- Industrial temperature grade with full Microchip PIC16 mid-range toolchain support (vs PIC16F877A-E/L)
- Mature 14 KB Flash with abundant reference code and educational tooling (vs PIC18F4520-I/L)
- Silicon errata fixes over the legacy PIC16F877 (non-A) (vs PIC16F877-20I/L)
Design Notes
The PIC16F877A-I/LG accepts 2.0 V to 5.5 V on VDD; place a 100 nF decoupling capacitor as close as possible to each VDD/VSS pair (pins 11/12 and pins 31/32). For mixed-signal designs, power AVDD from a separate filtered LDO and add a ferrite bead to suppress digital switching noise coupling into the ADC reference. Bulk 10 uF tantalum on the input rail prevents regulator droop during in-circuit serial programming (ICSP) events.
Configuration bits (fuses) must be set correctly before programming: choose HS oscillator mode for >4 MHz crystals, disable the watchdog timer unless intentionally used, and enable the power-up timer and brown-out reset (BOR) for reliable startups. Forgetting to set the oscillator configuration to HS is the most common reason a 20 MHz crystal fails to oscillate. Use ICSP with PGC/PGD on RB6/RB7 and a 10 kohm pull-up on MCLR per the Microchip programming specification.
Route the crystal traces (OSC1/OSC2) short and symmetric with a ground guard ring to minimize EMI. Keep ADC analog traces (RA0-RA5, RE0-RE2) away from high-current switching nets and route them over a continuous ground plane for noise immunity. Place the MCLR pull-up within 5 mm of the pin to prevent spurious resets. For 44-PLCC socketed designs, leave at least 1.5 mm clearance around the socket for clip-on programming adapters.
The PIC16F877A-I/LG's 10-bit ADC requires careful analog front-end design: add an RC anti-alias filter (typically 1 kohm + 100 pF for ~16 kHz bandwidth) ahead of each analog input, and use AVSS as the analog ground return. Acquire analog signals in sleep mode (with the ADC clock derived from the internal RC) for best noise immunity on high-impedance sources. Reference the Microchip AN546 'PIC16F87XA ADC' application note for detailed settling-time calculations.
Compliance Information
RoHS-compliant per Microchip product page; lead-free matte-tin PLCC leads. Not AEC-Q100 qualified - choose PIC16F877A-E/L for extended thermal grades or PIC18F-family automotive parts for AEC-Q100 needs.