PIC16F874A-I/ML - 8-bit PIC MCU, 7KB Flash, 44-pin QFN | Microchip
MPN: PIC16F874A-I/ML ✓ Active| Qty | Unit Price | Extended |
|---|---|---|
| 1 | $5.32 | $5.32 |
| 10 | $4.85 | $48.50 |
| 100 | $4.18 | $418.00 |
| 500 | $3.62 | $1,810.00 |
| 1,000 | $3.21 | $3,210.00 |
PIC16F874A-I/ML Overview
An 8-bit PIC microcontroller is a RISC-based computing core on a chip, integrating a CPU, non-volatile program memory, volatile data memory, peripherals, and I/O on a single die. Within the broader semiconductor taxonomy, PIC MCUs belong to the microcontroller family, which sits under the wider category of embedded computing devices and ultimately under integrated circuits. PIC16 series parts are Microchip's mid-range 8-bit line, providing a balance of code density, peripheral integration, and low cost that suits legacy and industrial designs.
The PIC16F874A-I/ML uses an enhanced Harvard architecture with separate program and data buses, allowing instruction fetch and operand access to occur simultaneously. Its 35 single-word instruction set simplifies coding in compilers such as XC8, while the 10-bit ADC and dual comparators ease mixed-signal front-end design. Brown-out Reset, Power-on Reset, and a watchdog timer with its own on-chip RC oscillator improve field reliability.
Typical applications include industrial control panels, motor control boards, automotive body electronics, sensor interfaces, instrumentation, and consumer appliances. The wide operating voltage range and on-chip peripherals also make the part attractive for battery-powered metering and HVAC controller boards. Compared to newer PIC18 devices, the PIC16F874A offers a familiar register model that simplifies porting of mature firmware.
When designing with this device, verify that the chosen development toolchain (MPLAB X IDE with XC8 compiler or legacy Hi-Tech PICC) supports the -I/ML temperature grade and QFN-44 footprint. Designers migrating from older PIC16F87x parts should review the A/D channel mapping and SSP module behavior, which were revised on the 874A/877A silicon compared to the original 874/877.
Drop-in alternatives for PIC16F874A-I/ML — 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 PIC16F874A-I/ML (same form factor and footprint) — differing in Package, ADC, Core Architecture, Timers, Serial Interfaces.
Quick Comparison Tool — Select alternative parts for side-by-side comparison:
PIC16F877A-I/ML
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F873A-I/ML
✅ Drop-In✓ In Stock
$2.32 / Unit
View Datasheet →PIC16F874A-E/PT
✅ Drop-In✓ In Stock
$7.45 / Unit
View Datasheet →PIC16F874-04I/PT
✅ Drop-In ⚠️ 参数待验证✓ In Stock
$5.4 / Unit
View Datasheet →PIC18F44K22-I/ML
✅ Drop-In ⚠️ 参数待验证📋 Reference alternative (not in catalog)
PIC16F874A-I/ML Maximum Ratings & Electrical Characteristics
| Product Type | 8-bit PIC Microcontroller (MCU) |
| Series | PIC16F |
| Program Memory (Flash) | 7 KB |
| Data Memory (RAM) | 192 bytes |
| Data EEPROM | 128 bytes |
| Instruction Set | 35 single-word instructions |
| Instruction Execution Time | 200 ns |
| CPU Speed (max) | 20 MHz |
| Digital I/O Pins | 33 |
| Analog-to-Digital Converter | 8 channels x 10-bit |
| Analog Comparators | 2 |
| Capture/Compare/PWM Modules | 2 (CCP) |
| Serial Interfaces | USART + SSP (SPI / I2C) |
| In-Circuit Debug | Yes (ICD) |
| Self-Programming | Yes |
| Operating Voltage Range | 2.0 V to 5.5 V |
| Operating Temperature Range | -40 C to +85 C (Industrial, -I suffix) |
| Package | 44-pin QFN (ML), exposed pad |
| Mounting Type | Surface Mount |
| RoHS Status | Compliant |
PIC16F874A-I/ML Pin Configuration
| Pin 1 | MCLR/VPP/RE3 — Master Clear (Reset) input / Programming voltage / Digital I/O port E bit 3 |
| Pin 2 | RA0/AN0 — Digital I/O port A bit 0 / Analog input channel 0 |
| Pin 3 | RA1/AN1 — Digital I/O port A bit 1 / Analog input channel 1 |
| Pin 4 | RA2/AN2/VREF- — Digital I/O port A bit 2 / Analog input channel 2 / ADC VREF- |
| Pin 5 | RA3/AN3/VREF+ — Digital I/O port A bit 3 / Analog input channel 3 / ADC VREF+ |
| Pin 6 | RA4/T0CKI/C1OUT — Digital I/O port A bit 4 / Timer0 clock input / Comparator 1 output |
| Pin 7 | RA5/AN4/SS/C2OUT — Digital I/O port A bit 5 / Analog input channel 4 / SPI slave select / Comparator 2 output |
| Pin 8 | RE0/RD/AN5 — Digital I/O port E bit 0 / Parallel-port read strobe / Analog input channel 5 |
| Pin 9 | RE1/WR/AN6 — Digital I/O port E bit 1 / Parallel-port write strobe / Analog input channel 6 |
| Pin 10 | RE2/CS/AN7 — Digital I/O port E bit 2 / Parallel-port chip select / Analog input channel 7 |
| Pin 11 | VDD — Positive supply voltage (2.0 V to 5.5 V) |
| Pin 12 | VSS — Ground reference |
| Pin 13 | OSC1/CLKI — Oscillator crystal input / External clock input |
| Pin 14 | OSC2/CLKO — Oscillator crystal output / External clock output |
| Pin 15 | RC0/T1OSO/T1CKI — Digital I/O port C bit 0 / Timer1 oscillator output / Timer1 clock input |
| Pin 16 | RC1/T1OSI/CCP2 — Digital I/O port C bit 1 / Timer1 oscillator input / CCP2 input/output |
| Pin 17 | RC2/CCP1 — Digital I/O port C bit 2 / CCP1 input/output |
| Pin 18 | RC3/SCK/SCL — Digital I/O port C bit 3 / SPI clock / I2C clock |
| Pin 19 | RD0/PSP0 — Digital I/O port D bit 0 / Parallel Slave Port bit 0 |
| Pin 20 | RD1/PSP1 — Digital I/O port D bit 1 / Parallel Slave Port bit 1 |
| Pin 21 | RD2/PSP2 — Digital I/O port D bit 2 / Parallel Slave Port bit 2 |
| Pin 22 | RD3/PSP3 — Digital I/O port D bit 3 / Parallel Slave Port bit 3 |
| Pin 23 | RC4/SDI/SDA — Digital I/O port C bit 4 / SPI data in / I2C data |
| Pin 24 | RC5/SDO — Digital I/O port C bit 5 / SPI data out |
| Pin 25 | RC6/TX/CK — Digital I/O port C bit 6 / USART TX / USART clock |
| Pin 26 | RC7/RX/DT — Digital I/O port C bit 7 / USART RX / USART data |
| Pin 27 | RD4/PSP4 — Digital I/O port D bit 4 / Parallel Slave Port bit 4 |
| Pin 28 | RD5/PSP5 — Digital I/O port D bit 5 / Parallel Slave Port bit 5 |
| Pin 29 | RD6/PSP6 — Digital I/O port D bit 6 / Parallel Slave Port bit 6 |
| Pin 30 | RD7/PSP7 — Digital I/O port D bit 7 / Parallel Slave Port bit 7 |
| Pin 31 | VSS — Ground reference (second VSS pin) |
| Pin 32 | VDD — Positive supply voltage (second VDD pin) |
| Pin 33 | RB0/INT — Digital I/O port B bit 0 / External interrupt |
| Pin 34 | RB1 — Digital I/O port B bit 1 |
| Pin 35 | RB2 — Digital I/O port B bit 2 |
| Pin 36 | RB3/PGM — Digital I/O port B bit 3 / Low-voltage programming input |
| Pin 37 | RB4 — Digital I/O port B bit 4 |
| Pin 38 | RB5 — Digital I/O port B bit 5 |
| Pin 39 | RB6/PGC — Digital I/O port B bit 6 / ICD clock |
| Pin 40 | RB7/PGD — Digital I/O port B bit 7 / ICD data |
| Pin 41 | VSS — Ground reference (third VSS pin) |
| Pin 42 | VDD — Positive supply voltage (third VDD pin) |
| Pin 43 | NC — Not connected (per datasheet) |
| Pin 44 | NC — Not connected (per datasheet) |
Typical Applications
PIC16F874A-I/ML is suitable for 7 applications: Industrial Control Panels, Small Motor Control (Brushed DC, Fan Speed), Sensor Interface Boards, Consumer Appliance Control, Battery-Powered Metering, HVAC Controller Boards, Educational / Development Trainer Boards.
Industrial Control Panels
The PIC16F874A-I/ML fits industrial control panels because its 33 digital I/O lines can drive relays, optocouplers, and status LEDs directly while the 8-channel 10-bit ADC reads analog sensors such as pressure transducers, thermistors, and 4-20 mA loop interfaces. The 2.0V to 5.5V operating range accommodates 24V-bus-derived rails commonly used in factory PLCs, and the on-chip comparators implement window-comparator safety logic. The USART supports RS-485 transceivers for multi-drop fieldbus communication. Compared with discrete logic implementations, this MCU reduces BOM and simplifies firmware updates via ICD.
Recommended
Small Motor Control (Brushed DC, Fan Speed)
In brushed DC motor and fan-speed control designs, the PIC16F874A-I/ML uses its two Capture/Compare/PWM modules to generate variable duty-cycle PWM signals for H-bridge drivers. The 200 ns instruction execution time supports up to 20 kHz PWM at 8-bit resolution, sufficient for most small-motor applications. The 10-bit ADC measures back-EMF for closed-loop speed regulation, while the comparators detect over-current faults via shunt amplifiers. The wide 2.0-5.5V supply range simplifies direct operation from motor supply rails through a small LDO.
Recommended
Sensor Interface Boards
The PIC16F874A-I/ML is well-matched to multi-sensor interface boards thanks to its 8-channel 10-bit ADC, dual analog comparators, and MSSP supporting I2C/SPI sensor busses. The device can poll up to 8 analog sensors sequentially while communicating with digital sensors over the same I2C bus. The 128-byte EEPROM stores calibration coefficients, and the 192-byte RAM holds intermediate sensor data. The industrial -40 C to +85 C temperature grade supports outdoor enclosures, and the QFN-44 footprint allows compact sensor PCB designs.
Recommended
Consumer Appliance Control
Consumer appliances such as washing machines, microwave ovens, and HVAC controllers commonly use the PIC16F874A-I/ML. The 7 KB Flash accommodates user-interface state machines and safety routines, while the 33 digital I/O drive seven-segment displays, keypads, and triac-based mains switches. The watchdog timer with its own on-chip RC oscillator improves reliability against mains-borne transients. Brown-out Reset and Power-on Reset protect EEPROM-stored settings. Compared with mask-ROM MCUs, the Flash-based PIC16F874A simplifies firmware revisions during appliance model lifecycles.
Recommended
Battery-Powered Metering
Battery-powered metering designs leverage the PIC16F874A-I/ML's 2.0V to 5.5V operating range, low-power Sleep mode, and integrated 10-bit ADC. The device can wake from sleep on a watchdog timeout to take periodic ADC measurements, store averages in the 128-byte EEPROM, and transmit via the USART to a handheld reader. The 192 bytes of RAM are sufficient for cumulative counters and rolling averages, while the USART drives low-power sub-GHz transceivers or Bluetooth-HCI modules for AMI smart-meter designs.
Recommended
HVAC Controller Boards
The PIC16F874A-I/ML fits HVAC controller boards because the 33 digital I/O drive damper actuators, fan relays, and triac-controlled compressors. The 8-channel ADC reads NTC temperature sensors, humidity probes, and pressure transducers, while the comparators enable thermostat-style on/off control without external op-amps. The wide 2.0-5.5V operating range simplifies 24VAC-derived power architectures. The 7 KB Flash and 192-byte RAM support PID loops for closed-loop temperature control with adequate headroom for firmware growth.
Recommended
Educational / Development Trainer Boards
Universities and embedded-systems training labs favor the PIC16F874A-I/ML because the mid-range PIC16 instruction set has 35 single-word instructions that are easy to teach in a semester. The on-chip ICD interface allows in-circuit debugging without expensive emulators, and the QFN-44 footprint teaches modern SMD soldering skills. Standard peripheral set (10-bit ADC, SPI, I2C, USART, CCP) covers the full curriculum: ADC sampling, PWM generation, I2C sensor reads, and UART comms. The PIC16F874A is a stepping-stone to PIC18 and dsPIC devices.
Recommended
Recommended Products Summary
Engineering reference data for PIC16F874A-I/ML — comparison, design guidance, and compliance information.
Selection Guide
Comparison with Alternatives
| Parameter | This Product | PIC16F877A-I/ML | PIC16F873A-I/ML | PIC16F874A-E/PT | PIC16F874-04I/PT | PIC18F44K22-I/ML |
|---|---|---|---|---|---|---|
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Package | 44-pin QFN (ML) | 44-pin QFN (ML) - same | 44-pin QFN (ML) - same | 44-pin QFN (ML) - same | 44-pin QFN (ML) - same | 44-pin QFN (ML) - same |
| Program Memory (Flash) | 7 KB | 14 KB | 4 KB | 7 KB | 4 KB | 16 KB |
| RAM | 192 bytes | 256 bytes | 192 bytes | 192 bytes | 192 bytes | 768 bytes |
| EEPROM | 128 bytes | 256 bytes | 128 bytes | 128 bytes | 64 bytes | 256 bytes |
| Maximum CPU Speed | 20 MHz (200 ns) | 20 MHz | 20 MHz | 20 MHz | 4 MHz | 64 MHz |
| Operating Voltage | 2.0 V to 5.5 V | 2.0 V to 5.5 V | 2.0 V to 5.5 V | 2.0 V to 5.5 V | 2.0 V to 5.5 V | 1.8 V to 5.5 V |
| Operating Temperature | -40 C to +85 C (Industrial) | -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 |
| A/D Converter | 8 ch x 10-bit | 8 ch x 10-bit | 5 ch x 10-bit (28-pin variant limit) | 8 ch x 10-bit | 8 ch x 10-bit | 28 ch x 10-bit |
| Architecture | PIC16 (8-bit, 14-bit instructions) | PIC16 (8-bit, 14-bit instructions) | PIC16 (8-bit, 14-bit instructions) | PIC16 (8-bit, 14-bit instructions) | PIC16 (8-bit, 14-bit instructions) | PIC18 (8-bit, 16-bit instructions) |
Key Differentiators
- Highest memory density in same-footprint same-temperature PIC16F874A family (vs PIC16F873A-I/ML)
- Lower-cost drop-in option vs higher-density PIC16F877A (vs PIC16F877A-I/ML)
- Extended temperature range in same package (vs PIC16F874A-E/PT)
- Modern PIC18 upgrade path with same footprint (vs PIC18F44K22-I/ML)
Design Notes
Place a 100 nF decoupling capacitor as close as possible to each VDD pin (pins 11, 32, 42) and a bulk capacitor (typically 10 uF tantalum or 22 uF ceramic) within 25 mm. According to the Microchip PIC16F87xA datasheet (DS39582B), multiple VDD/VSS pin pairs exist on the QFN-44 package and each must be properly bypassed to prevent logic errors during ADC or PWM switching events. Brown-Out Reset (BOR) should be enabled in CONFIG to avoid EEPROM corruption during brown-out conditions.
The QFN-44 /ML package has an exposed thermal pad (EP) on the underside that MUST be soldered to a copper pad on the PCB, with multiple thermal vias connecting the pad to an internal ground plane. This provides the primary heat-dissipation path for the die. The QFN-44 thermal resistance (theta_JA) is approximately 28 C/W on a standard JEDEC 2s2p test board; without proper EP soldering, junction temperature can exceed rated limits in enclosed industrial enclosures. Recommended minimum copper area for the EP: at least 100 mm^2 with thermal via array.
Route analog input traces (RA0-RA5, RE0-RE2) away from digital switching signals such as PWM outputs (CCP1/CCP2) and oscillator pins to minimize ADC noise coupling. According to the Microchip PIC16F87xA datasheet (DS39582B), the ADC achieves 10-bit accuracy only when analog input source impedance is below 10 kohm and the ADC acquisition time meets the minimum specification (typically 19.7 us at 20 MHz). Add a small RC filter (100 ohm + 100 nF) on noisy analog inputs for additional anti-aliasing.
Do not confuse the original PIC16F874 (pre-A) silicon with the PIC16F874A. According to Microchip's part-numbering scheme, the PIC16F874 (original) was limited to 4 MHz and 4 KB Flash, while the PIC16F874A doubles speed to 20 MHz and adds A-silicon enhancements (revised A/D converter, BOR enhancements, and self-programming fixes). Designers porting code from PIC16F874 to PIC16F874A silicon may need to update the CONFIG word and verify ADC timing. Always reference the latest datasheet revision (DS39582B or newer) when designing in.
For I2C communication on the MSSP module (RC3/SCL, RC4/SDA), use pull-up resistors sized per the I2C bus capacitance and target speed. According to the Microchip PIC16F87xA datasheet (DS39582B), at 100 kHz Standard-mode and 400 kHz Fast-mode, typical pull-up values range from 2.2 kohm (smaller bus) to 10 kohm (larger bus). For SMBus compatibility, ensure the PIC16F874A's VDD is in the 3.0V to 5.5V range. The SDA/SCL pins also serve as digital I/O - configure them as inputs via TRIS to avoid contention with external pull-ups.
Compliance Information
RoHS and REACH compliant per Microchip product page. The -I temperature suffix (industrial, -40 C to +85 C) is not AEC-Q100 qualified; for AEC-Q100 automotive applications use the -E (extended, -40 C to +125 C) variant or an automotive-grade MCU from Microchip's automotive portfolio.