PIC16F84A-04I/SO - 4MHz 8-bit Flash MCU, 1.75KB | Microchip
MPN: PIC16F84A-04I/SO ✓ Active| Qty | Unit Price | Extended |
|---|---|---|
| 1 | $5.6 | $5.60 |
| 10 | $5.04 | $50.40 |
| 100 | $4.48 | $448.00 |
| 500 | $4.03 | $2,015.00 |
| 1,000 | $3.59 | $3,590.00 |
PIC16F84A-04I/SO Overview
What is an 8-bit Flash microcontroller? A microcontroller (MCU) is a single-chip computer that integrates a CPU, program memory, data memory, and peripherals. The 8-bit designation means the CPU processes data 8 bits at a time; Flash memory allows in-system reprogrammability. Within the broader semiconductor taxonomy, an 8-bit MCU belongs to the microcontroller family, itself a subset of microprocessors and embedded processors. The PIC16F84A family pioneered in-circuit serial programming (ICSP) and remains a teaching staple for embedded engineering curricula.
Key features include 35 single-word instructions (most single-cycle at 200 ns), 13 digital I/O pins with individual direction control, a 14-bit instruction word, and a hardware USART/SCI for asynchronous serial communication (PIC16F84A revision). The device supports 8-bit × 8-bit hardware multiply, a watchdog timer with on-chip RC oscillator for reliable operation, and an in-circuit debugger (ICD) interface. The PIC16F84A also offers power-saving SLEEP mode and four oscillator options (RC, LP, XT, HS) for design flexibility.
Architecturally, the PIC16F84A uses a Harvard bus architecture with separate program and data paths, enabling simultaneous instruction fetch and operand access. The RISC instruction set (35 instructions) simplifies compiler design and accelerates learning cycles. Its CMOS implementation delivers extremely low power consumption (~2 mA active at 4 MHz, <1 µA standby), making it suitable for battery-backed designs, while the optional on-chip 4 MHz RC oscillator simplifies BOM by eliminating an external crystal in cost-sensitive applications.
Typical applications include legacy industrial control, hobby robotics, low-cost sensor front-ends, PIC learning/development boards, simple UART-to-GPIO bridges, and replacement of older PIC16C84 designs. Education kits benefit from the small instruction set, while production designs leverage the EEPROM for parameter storage.
When designing with this part, ensure MCLR reset is properly pulled up through a 10 kΩ resistor and that the ICSP clock/data lines are reserved for production programming. Choose the oscillator mode carefully; the -04 speed grade is specified for 4 MHz operation, so the 20 MHz PIC16F84A-20 variant is required for higher clock rates. Brown-out detection is not internal - external supervision is recommended for harsh industrial environments.
This page synthesizes distributor inventory, parametric cross-reference data, and practical design guidance not available in a single source.
Drop-in alternatives for PIC16F84A-04I/SO — 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 PIC16F84A-04I/SO (same form factor and footprint) — differing in Package, Core Architecture, Operating Temperature, Timers, Program Memory (Flash).
Quick Comparison Tool — Select alternative parts for side-by-side comparison:
PIC16F84A-20I/SO
✅ Drop-In✓ In Stock
$2.2 / Unit
View Datasheet →PIC16F84A-04I/P
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F84A-04/SS
✅ Drop-In✓ In Stock
$2.18 / Unit
View Datasheet →PIC16F819-I/SO
✅ Drop-In✓ In Stock
$1.95 / Unit
View Datasheet →PIC16F84-04I/SO
✅ Drop-In✓ In Stock
$2.18 / Unit
View Datasheet →PIC16F818-I/SO
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F84A-04I/SO Maximum Ratings & Electrical Characteristics
| Core Architecture | 8-bit PIC RISC (Harvard) |
| Program Memory | 1.75 KB Flash (1024 x 14-bit words) |
| Data SRAM | 68 bytes |
| Data EEPROM | 64 bytes |
| Maximum Clock Frequency | 4 MHz (-04 speed grade) |
| Instruction Cycle Time | 1 us at 4 MHz |
| Supply Voltage Range | 2.0 V to 5.5 V |
| I/O Pins | 13 digital I/O |
| Operating Temperature Range | -40C to +85C (Industrial) |
| Package | 18-SOIC (0.295", 7.50 mm width) |
| Mounting Type | Surface Mount |
| Instruction Set | 35 single-word instructions, 14-bit wide |
| Peripherals | Watchdog Timer, 8-bit Timer0, 8-bit Timer1 (PIC16F84A), USART/SCI (PIC16F84A) |
| In-Circuit Programming | ICSP (In-Circuit Serial Programming) supported |
| RoHS Status | Compliant |
| Lead Free | Yes |
| MSL Level | 1 (unlimited floor life at <30C / 85% RH) |
PIC16F84A-04I/SO Pin Configuration
| Pin 1 | MCLR/VPP — Master Clear (reset, active-low) / ICSP programming voltage |
| Pin 2 | RA0 — PORTA bit 0 (digital I/O) |
| Pin 3 | RA1 — PORTA bit 1 (digital I/O) |
| Pin 4 | RA2 — PORTA bit 2 (digital I/O) |
| Pin 5 | RA3 — PORTA bit 3 (digital I/O) |
| Pin 6 | RA4/TOCKI — PORTA bit 4 / Timer0 external clock input |
| Pin 7 | RA5/OSC1/CLKIN — PORTA bit 5 / Oscillator input / external clock in |
| Pin 8 | RA6/OSC2/CLKOUT — PORTA bit 6 / Oscillator output / clock-out (1/4 frequency) |
| Pin 9 | VSS — Ground reference |
| Pin 10 | RB0/INT — PORTB bit 0 / external interrupt input |
| Pin 11 | RB1 — PORTB bit 1 (digital I/O) |
| Pin 12 | RB2 — PORTB bit 2 (digital I/O) |
| Pin 13 | RB3 — PORTB bit 3 (digital I/O) |
| Pin 14 | RB4 — PORTB bit 4 (digital I/O, interrupt-on-change) |
| Pin 15 | RB5 — PORTB bit 5 (digital I/O, interrupt-on-change) |
| Pin 16 | RB6/PGC — PORTB bit 6 / ICSP clock (programming) |
| Pin 17 | RB7/PGD — PORTB bit 7 / ICSP data (programming) |
| Pin 18 | VDD — Positive supply (2.0 V to 5.5 V) |
Typical Applications
PIC16F84A-04I/SO is suitable for 6 applications: Legacy Industrial Control Board Replacement, PIC Microcontroller Educational Trainer Board, Simple Sensor Polling and Data Logging Front-End, UART-to-GPIO Bridge / Serial I/O Expander, Remote Sensor Node with Battery Operation, ICSP Reprogrammable Production Controller.
Legacy Industrial Control Board Replacement
The PIC16F84A-04I/SO fits legacy industrial control replacements because it preserves pin-compatible design continuity for existing 18-SOIC layouts while delivering proven -40C to +85C industrial temperature tolerance. Its 1.75 KB Flash and 35-instruction RISC core execute simple I/O scanning routines in under 1 us per instruction at 4 MHz, deterministic enough for relay driving and contactor control loops. Place the part on a board re-spin of older equipment where MCLR must retain the standard 10 kohm pull-up. Unlike more modern MCUs with analog peripherals, this part has no internal ADC, which is acceptable for digital-only sensing applications such as limit-switch polling.
Recommended
PIC Microcontroller Educational Trainer Board
The PIC16F84A-04I/SO has been the workhorse of microcontroller education for two decades. With only 35 single-word instructions, students can master the entire instruction set in a single lab session, and the 1 us instruction cycle at 4 MHz is slow enough for human-stepped debugging with an in-circuit debugger. The 1.75 KB Flash and 68-byte SRAM are large enough to encode useful demos (UART echo, I/O scanning, EEPROM data logging) but small enough to force disciplined coding. Trainers use the SOIC part for SMT-soldering exercises, exposing students to modern surface-mount assembly practices while teaching classical embedded programming.
Recommended
Simple Sensor Polling and Data Logging Front-End
A PIC16F84A-04I/SO is well matched to simple sensor front-ends that need periodic polling of digital sensors and storage of parameters in non-volatile EEPROM. The 64-byte EEPROM holds roughly 32 16-bit calibration records or 64 8-bit mode flags - plenty for instrument configuration. With 4 MHz clock, a low-power duty-cycled design can poll a sensor once per second, log to EEPROM, and enter SLEEP for roughly 99% of the time, achieving sub-30 uA average current from a 3 V coin cell. Note that this part lacks an analog-to-digital converter, so direct analog sensors require an external ADC companion.
Recommended
UART-to-GPIO Bridge / Serial I/O Expander
Use a PIC16F84A-04I/SO to bridge a host UART to a bank of GPIO pins, expanding the I/O count of a master processor without requiring a complex I2C/SPI expander. The PIC16F84A has 13 digital I/O and supports serial protocols via firmware in its 1.75 KB Flash; at 4 MHz it can easily sustain 9600 baud and even 115200 baud with software bit-banging. The 5 V operating range matches legacy RS-232 levels directly when paired with a MAX232. The 18-SOIC footprint is small enough to mount on the rear of a DB-9 connector, making it a drop-in 'intelligent cable' between legacy and modern ports.
Recommended
Remote Sensor Node with Battery Operation
The PIC16F84A-04I/SO's extremely low SLEEP current (<1 uA typical) and 2.0-5.5 V supply range make it an excellent choice for battery-operated remote sensor nodes. SLEEP mode is entered by executing the SLEEP instruction; the watchdog timer (WDT) or external interrupt (RB0/INT) wakes the device, executes a wake-up sequence, and returns to SLEEP. At a 0.1% duty cycle (one poll per 10 minutes), battery life extends to years on a single CR2032. Unlike modern Cortex-M0+ MCUs that require more runtime firmware setup, the PIC16F84A comes up in a deterministic state from its Power-On Reset, a key advantage for safety-critical sensor polling.
Recommended
ICSP Reprogrammable Production Controller
The PIC16F84A-04I/SO supports ICSP (In-Circuit Serial Programming) via the RB6/PGC clock and RB7/PGD data pins, allowing firmware to be programmed and updated without removing the chip from the PCB. This is critical for production controllers that may need field firmware updates or factory calibration: a single programming header provides both production programming and engineering debug access. The self-programmable Flash allows bootloader-style firmware updates if the application code reserves a sector. With 4 MHz operation, ICSP can be performed reliably even through the slowest interfaces, and the industrial -40C to +85C rating covers most installation environments.
Recommended
Recommended Products Summary
Engineering reference data for PIC16F84A-04I/SO — comparison, design guidance, and compliance information.
Selection Guide
Comparison with Alternatives
| Parameter | This Product | PIC16F84A-20I/SO | PIC16F819-I/SO | PIC16F818-I/SO | |
|---|---|---|---|---|---|
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | |
| Package | 18-SOIC | 18-SOIC (same) | 18-PDIP (through-hole) | 18-SOIC (same) | 18-SOIC (same) |
| Maximum Clock Frequency | 4 MHz | 20 MHz | 4 MHz | 8 MHz (20 MHz enhanced) | 8 MHz (20 MHz enhanced) |
| Program Memory (Flash) | 1.75 KB | 1.75 KB | 1.75 KB | 1.75 KB | 1.75 KB |
| SRAM | 68 bytes | 68 bytes | 68 bytes | 256 bytes | 128 bytes |
| EEPROM | 64 bytes | 64 bytes | 256 bytes | 128 bytes | |
| I/O Pins | 13 | 13 | 16 | 16 | |
| ADC | None | None | 10-bit ADC, 5 channels | 10-bit ADC, 5 channels | |
| Operating Temperature | -40C to +85C (Industrial) | -40C to +85C (Industrial) | -40C to +85C (Industrial) | -40C to +85C (Industrial) |
Key Differentiators
- Backward-compatible legacy pinout and ICSP (vs PIC16F819-I/SO)
- RISC instruction set simplicity (35 instructions) (vs PIC16F84A-20I/SO)
- Industrial temperature grade by default (vs PIC16F84A-04/SS)
Design Notes
Estimated: Active current draw at 5 V / 4 MHz is roughly 2 mA, and SLEEP current is under 1 uA for the PIC16F84A-04I/SO per Microchip datasheet DC characteristics. For battery applications, gate external loads with MOSFETs controlled by the MCU so the part itself stays in SLEEP as long as possible. If using an unregulated battery, place a low-Iq LDO (MCP1700 at 1.6 uA) ahead of VDD to keep dropout margin within the 2.0 V minimum supply at low battery voltage.
Always provide a 10 kohm pull-up on the MCLR pin (pin 1) to VDD, and keep the ICSP clock/data traces (RB6/RB7) short and away from switching noise. According to the Microchip datasheet, a decoupling capacitor of 100 nF should be placed within 5 mm of pin 18 (VDD) and pin 9 (VSS). When running from an external crystal, place the crystal within 5 mm of pins 7-8 (OSC1/OSC2) and route these traces over a continuous ground plane; for a simple 4 MHz RC clock, a 33 pF + 10 kohm RC network is sufficient.
Do not confuse the PIC16F84 (predecessor without 'A') for the PIC16F84A; the 'A' revision adds ICSP and power-saving improvements but is otherwise source-compatible. Watch out for the '04' (4 MHz) versus '20' (20 MHz) speed grade - using a -04 part at 20 MHz will yield undefined instruction execution. When porting code from PIC16C84 EPROM parts to PIC16F84A Flash, use the -04I/SO as the closest parametric equivalent. Verify that any PIC16F84A-10 code is also compatible with -04 timing, since some timer formulas assume 10 MHz. External brown-out reset (MCP100) is strongly recommended because the internal POR does not provide a true BOR.
Compliance Information
RoHS and REACH compliant per Microchip product page. Not AEC-Q100 qualified - automotive applications should evaluate PIC16F84A-04E variant or migrate to PIC16F88A for automotive-grade production. Lead-free matte-tin finish supports 260 C peak reflow profile.