PIC16F84A-20/SS - 8-Bit 20MHz 1.75KB Flash MCU SSOP-20
MPN: PIC16F84A-20/SS ✓ Active| Qty | Unit Price | Extended |
|---|---|---|
| 1 | $2.56 | $2.56 |
| 10 | $2.31 | $23.10 |
| 100 | $2.07 | $207.00 |
| 500 | $1.85 | $925.00 |
| 1,000 | $1.65 | $1,650.00 |
PIC16F84A-20/SS Overview
A microcontroller (MCU) is a single-chip computer that integrates a CPU core, non-volatile program memory, working RAM, and configurable peripheral I/O. Within the broader taxonomy, the PIC16F84A sits in the mid-range PIC16 family of 8-bit RISC microcontrollers from Microchip Technology, which in turn is part of the wider semiconductor category of embedded processors and microcontrollers. The 8-bit PIC architecture uses a Harvard design with separate code and data buses and a small, deterministic instruction set ideal for real-time control tasks.
Key features include 1.75 KB (1K x 14) of self-programmable Flash program memory, 64 bytes of EEPROM, 68 bytes of RAM, 13 fully featured I/O pins with individual direction control, a 14-bit-wide instruction word, two 8-bit timers (Timer0, Timer2) plus one 16-bit timer (Timer1) with an external capture input, an 8-bit prescaler shared with the watchdog timer, an analog comparator, a hardware USART (SCI), and a synchronous serial port (SSP) supporting SPI. The device also includes a power-on reset (POR), brown-out reset (BOR) option, watchdog timer with on-chip RC oscillator, and Microchip's nanoWatt Technology for power-managed sleep modes that drop quiescent current into the microamp range.
Typical applications include hobbyist and educational boards, sensor interfacing, simple motor and relay control, low-cost industrial control, electronic metering, and any design that benefits from the very small footprint, robust Flash self-programmability, and a mature toolchain (MPLAB X, MPASM, XC8). The SSOP-20 form factor suits compact SMD designs that cannot accommodate the 18-pin DIP.
Design tip: route the MCLR pin through a proper pull-up network (typically 10 kohm to VDD), provide bulk decoupling (100 nF + 10 uF) within 5 mm of the VDD pin, and configure the configuration bits (fuses) carefully because the PIC16F84A will not execute code with a misprogrammed oscillator or watchdog setting. The I/O sink/source current is approximately 25 mA per pin and 200 mA total, so use current-limiting resistors on LED loads.
This page synthesizes distributor pricing, drop-in PIC16F84A-package alternatives, and practical design notes not found in the manufacturer datasheet.
Drop-in alternatives for PIC16F84A-20/SS — 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-20/SS (same form factor and footprint) — differing in Package, Core Architecture, Timers, I/O Pins, ADC.
Quick Comparison Tool — Select alternative parts for side-by-side comparison:
PIC16F84A-20I/SS
✅ Drop-In✓ In Stock
$1.65 / Unit
View Datasheet →PIC16F84A-04/SS
✅ Drop-In✓ In Stock
$2.18 / Unit
View Datasheet →PIC16F84A-04I/SS
✅ Drop-In📋 Reference alternative (not in catalog)
PIC16F819-I/SS
✅ Drop-In✓ In Stock
$2.11 / Unit
View Datasheet →PIC16F818-I/SS
✅ Drop-In✓ In Stock
$1.92 / Unit
View Datasheet →PIC16F690-I/SS
✅ Drop-In✓ In Stock
$1.41 / Unit
View Datasheet →PIC16F84A-20/SS Maximum Ratings & Electrical Characteristics
| Core Architecture | PIC 8-bit RISC (Harvard) |
| Family | PIC16F8xx |
| Program Memory | 1.75 KB (1K x 14) Flash |
| Data EEPROM | 64 bytes |
| Data RAM | 68 bytes |
| Maximum Clock Frequency | 20 MHz |
| Instruction Cycle Time | 200 ns |
| Operating Voltage (VDD) | 4.0 V to 5.5 V |
| I/O Pins | 13 bidirectional + 1 input-only |
| Timers | Timer0 (8-bit), Timer1 (16-bit), Timer2 (8-bit) |
| Peripherals | USART/SCI, SSP (SPI), analog comparator |
| ADC | None |
| Brown-Out Reset | Yes (configurable) |
| Watchdog Timer | Yes (dedicated on-chip RC oscillator) |
| Operating Temperature Range | -40C to +85C (industrial) |
| Package | 20-pin SSOP (5.3 mm body, 0.65 mm pitch) |
| Mounting Type | Surface Mount |
| MSL (Moisture Sensitivity) | 1 (unlimited floor life) |
| RoHS Status | Compliant |
| Lead-Free | Yes |
PIC16F84A-20/SS Pin Configuration
| Pin 1 | RA2 — Bidirectional I/O (PORTA bit 2); analog comparator output |
| Pin 2 | RA3 — Bidirectional I/O (PORTA bit 3); analog comparator non-inverting input |
| Pin 3 | RA4/T0CKI — Bidirectional I/O with open-drain; Timer0 clock input |
| Pin 4 | MCLR/VPP — Master Clear reset input / programming voltage input |
| Pin 5 | VSS — Ground reference |
| Pin 6 | RB0/INT — Bidirectional I/O; external interrupt input |
| Pin 7 | RB1 — Bidirectional I/O (PORTB bit 1) |
| Pin 8 | RB2 — Bidirectional I/O (PORTB bit 2) |
| Pin 9 | RB3 — Bidirectional I/O (PORTB bit 3) |
| Pin 10 | RB4 — Bidirectional I/O (PORTB bit 4); interrupt-on-change |
| Pin 11 | RB5 — Bidirectional I/O (PORTB bit 5); interrupt-on-change |
| Pin 12 | RB6/PGC — Bidirectional I/O; ICD clock / interrupt-on-source |
| Pin 13 | RB7/PGD — Bidirectional I/O; ICD data / interrupt-on-source |
| Pin 14 | VDD — Positive supply (4.0 V to 5.5 V) |
| Pin 15 | OSC2/CLKOUT — Oscillator crystal connection / clock output |
| Pin 16 | OSC1/CLKIN — Oscillator crystal connection / external clock input |
| Pin 17 | RA0 — Bidirectional I/O (PORTA bit 0) |
| Pin 18 | RA1 — Bidirectional I/O (PORTA bit 1); analog comparator inverting input |
| Pin 19 | RA6 — Bidirectional I/O (PORTA bit 6) |
| Pin 20 | RA7 — Bidirectional I/O (PORTA bit 7) |
Typical Applications
PIC16F84A-20/SS is suitable for 7 applications: Hobbyist / Educational Development Boards, Industrial Control and Relay Driver, Electronic Metering and Pulse Counting, Sensor Interfacing and Data Acquisition Front-End, Simple Motor and Stepper Control, Hobbyist Robotics and RC Control, Educational Embedded Systems Course Labs.
Hobbyist / Educational Development Boards
The PIC16F84A-20/SS is one of the most widely used 8-bit microcontrollers in beginner electronics curricula, embedded systems courses, and hobbyist kits because of its simple 8-bit RISC architecture and minimal external component count. Its 1.75 KB Flash program memory, 68 bytes of RAM, and 35 single-word instructions let students learn I/O control, timer interrupts, and EEPROM data storage without the complexity of modern 32-bit MCUs. The 20 MHz clock delivers 5 MIPS of deterministic throughput, enough to handle multitasking sensors, LCD character displays, and serial communication for educational robots and lab instruments. The SSOP-20 footprint fits modern SMD-friendly training kits while retaining access to all 13 I/O pins for breadboard-friendly adapter boards. Pair the MCU with the MPLAB X IDE plus XC8 compiler for a free, professional-grade development toolchain. The PIC16F84A-20/SS remains an ideal teaching vehicle because every register and peripheral is documented in the public datasheet, removing abstraction layers that hide learning opportunities from students. Robust on-chip Flash with 1000 erase/write cycles also forgives beginner mistakes during firmware iteration.
Recommended
Industrial Control and Relay Driver
The PIC16F84A-20/SS is well suited for small industrial control boards driving relays, contactors, and indicator lamps in PLC-adjacent applications. Its 13 bidirectional I/O pins can each source or sink up to 25 mA, sufficient to switch low-power 5 V relays directly via a 2N2222 BJT driver or to drive 24 V industrial relays through opto-isolated gate drivers. The on-chip analog comparator enables zero-crossing detection for triac-based AC load switching, while the hardware USART (SCI) supports RS-232 or RS-485 communication with industrial sensors and HMIs. At 20 MHz and 200 ns instruction cycle, deterministic response times support real-time feedback loops for temperature, level, and pressure control. The industrial temperature grade variant PIC16F84A-20I/SS extends operation to -40C to +85C for factory-floor environments. Hardware brown-out reset and watchdog timer with dedicated RC oscillator keep the device running safely through noisy industrial power rails, making it a fit for legacy control retrofits.
Recommended
Electronic Metering and Pulse Counting
The PIC16F84A-20/SS is widely deployed in legacy metering designs including water/gas pulse counters, electricity consumption meters, and taxi/odometer-style totalizers. The 16-bit Timer1 module with external capture input directly counts low-frequency pulses from reed switches, Hall-effect sensors, or optical interrupter modules, while the 8-bit Timer0 with prescaler handles debouncing and time-base generation. Its 64-byte EEPROM provides non-volatile storage for cumulative totals across power cycles, with 1 million erase/write cycles endurance per Microchip datasheet, sufficient for years of billing increments. The USART peripheral enables AMR (automatic meter reading) telemetry to remote data collectors, and the 13 I/O pins drive LCD segment or LED display interfaces directly. Low-power sleep current in the nanoWatt Technology range lets battery-backed metering run for years from a single primary cell. The PIC16F84A-20/SS remains a fit for new metering designs where its simplicity reduces BOM cost.
Recommended
Sensor Interfacing and Data Acquisition Front-End
The PIC16F84A-20/SS serves well as a low-cost front-end MCU for distributed sensor nodes where 8-bit processing and minimal I/O suffice. Its 13 I/O pins handle multiple digital sensors, switch inputs, and discrete transducers in parallel, while the hardware SSP (SPI) port communicates with external digital sensors like accelerometers, temperature chips, or shift-register-based analog front ends. The analog comparator enables window-comparator-style threshold detection for analog sensors without on-chip ADC, keeping the bill of materials low for high-volume deployments. At 20 MHz, the PIC16F84A-20/SS can sample, filter, and forward sensor data over its USART at modest baud rates up to 250 kbps. On-chip 1.75 KB Flash accommodates small protocol stacks and calibration tables. The brown-out reset and watchdog timer improve field reliability for unattended sensor installations. The SSOP-20 footprint fits compact SMD sensor PCBs where board area is at a premium.
Recommended
Simple Motor and Stepper Control
The PIC16F84A-20/SS can drive small DC motors, unipolar stepper motors, and solenoid actuators in low-cost motion control boards. Its 8-bit Timer2 with PWM mode generates accurate switching waveforms for low-side MOSFET drivers, while the analog comparator provides back-EMF sensing for closed-loop DC motor speed control. The 16-bit Timer1 with input capture enables quadrature encoder feedback for stepper motor position tracking, critical for camera pan-tilt heads, 3D printer extruder feeders, and small CNC axes. Hardware USART (SCI) enables serial command interfaces to a host controller or PC GUI for trajectory planning. Brown-out reset and watchdog timer protect motor drivers from firmware lock-up that could damage the load. The 25 mA per-pin drive capability directly interfaces with 5 V logic-level MOSFET gate drivers. The PIC16F84A-20/SS in SSOP-20 keeps the MCU footprint tiny on tightly packed motor-driver boards where every square millimeter matters.
Recommended
Hobbyist Robotics and RC Control
The PIC16F84A-20/SS is a frequent choice in hobbyist robotics platforms including line-following robots, RC servo controllers, and small autonomous vehicles. Its 5 MIPS instruction throughput executes PID control loops fast enough to handle 50-100 Hz update rates for stable servo motion, while the 13 I/O pins drive up to six RC servos plus additional sensors and indicator LEDs directly. The hardware USART (SCI) interfaces with Bluetooth or XBee modules for wireless RC control from a smartphone or PC. The SSP (SPI) port connects to nRF24L01-style RF modules for low-latency robot-to-robot communication in swarm robotics experiments. On-chip EEPROM stores user-configurable parameters like PID gains and trim values across power cycles. The compact SSOP-20 package fits small robot controllers where the PCB must fit inside a 30 mm x 30 mm chassis. The 5 V operation matches most hobby servos and sensors without additional level shifting, simplifying the BOM.
Recommended
Educational Embedded Systems Course Labs
The PIC16F84A-20/SS is the de-facto microcontroller for many university-level embedded systems courses because of its small instruction set, public architecture documentation, and deterministic timing. Students learn interrupt-driven programming, register-level peripheral control, and assembly-to-C bridging on a device where every byte of the 1.75 KB Flash program memory is meaningful. The 20 MHz clock provides enough throughput to demonstrate real-time concepts like task scheduling and watchdog-based recovery without the noise of caches, MMUs, or DMA. The on-chip EEPROM lets students implement persistent-state exercises like configuration save/load and event counters. Hardware USART training exercises cover framing, baud-rate generation, and error detection on a single-chip platform. The SSOP-20 package on breakout boards keeps the IC visible while exposing every pin to a breadboard, balancing educational value with mechanical robustness. The PIC16F84A-20/SS remains the lowest-cost 8-bit platform for serious embedded education.
Recommended
Recommended Products Summary
Engineering reference data for PIC16F84A-20/SS — comparison, design guidance, and compliance information.
Selection Guide
Comparison with Alternatives
| Parameter | This Product | PIC16F84A-20I/SS | PIC16F84A-04/SS | PIC16F84A-04I/SS | PIC16F819-I/SS | PIC16F818-I/SS | PIC16F690-I/SS |
|---|---|---|---|---|---|---|---|
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Package | SSOP-20 | SSOP-20 (same) | SSOP-20 (same) | SSOP-20 (same) | SSOP-20 (same) | SSOP-20 (same) | SSOP-20 (same) |
| Maximum Clock Speed | 20 MHz | 20 MHz (same) | 4 MHz (-80%) | 4 MHz (-80%) | 20 MHz (same) | 20 MHz (same) | 20 MHz (same) |
| Program Flash | 1.75 KB | 1.75 KB (same) | 1.75 KB (same) | 1.75 KB (same) | 3.5 KB (+100%) | 1.75 KB (same) | 7.2 KB (+311%) |
| Data RAM | 68 bytes | 68 bytes (same) | 68 bytes (same) | 68 bytes (same) | 256 bytes (+276%) | 128 bytes (+88%) | 256 bytes (+276%) |
| Data EEPROM | 64 bytes | 64 bytes (same) | 64 bytes (same) | 64 bytes (same) | 256 bytes (+300%) | 128 bytes (+100%) | 256 bytes (+300%) |
| I/O Pins | 13 | 13 (same) | 13 (same) | 13 (same) | 16 (+23%) | 16 (+23%) | 18 (+38%) |
| On-chip ADC | None | None (same) | None (same) | None (same) | 10-bit ADC (added) | 10-bit ADC (added) | 12-bit ADC (added) |
| Operating Temperature | -40C to +85C | -40C to +85C (same) | 0C to +70C | -40C to +85C (same) | -40C to +85C (same) | -40C to +85C (same) | -40C to +85C (same) |
| Unit Price (qty 1, USD) | $2.56 | $2.62 (approx) | $2.40 (approx) | $2.45 (approx) | $3.20 (approx) | $2.90 (approx) | $3.50 (approx) |
Key Differentiators
- Wider SSOP-20 pinout availability with three I/O pin variants (vs PIC16F84A-04/SS)
- Massive memory and peripheral upgrade path without PCB change (vs PIC16F819-I/SS)
- Newer-generation mid-range upgrade with PWM and ADC (vs PIC16F690-I/SS)
Design Notes
Power the PIC16F84A-20/SS from a regulated 5 V supply with a 100 nF ceramic decoupling capacitor placed within 5 mm of the VDD pin (pin 14) plus a bulk 10 uF tantalum or ceramic capacitor on the same rail. The brown-out reset (BOR) is enabled via the configuration bits and holds the device in reset when VDD drops below the BOR threshold (~4.0 V), preventing Flash corruption. For battery operation, switch the oscillator to the internal 4 MHz RC mode (INTOSC, not native to PIC16F84A but available on later variants) or to a low-frequency 32.768 kHz crystal to reduce quiescent current. The MCLR pin (pin 4) must be tied to VDD through a 10 kohm resistor with a 100 nF capacitor to VSS for clean reset behavior; leaving MCLR floating allows noise to spuriously reset the MCU.
Lay out the SSOP-20 footprint with the standard 0.65 mm pitch pads and a continuous ground plane on the bottom layer for thermal dissipation and noise immunity. Place the decoupling capacitors on the same layer as the MCU, with short and wide traces to VDD/VSS to minimize switching transients. If using a high-speed crystal (>4 MHz), route the OSC1/OSC2 traces short and symmetric, and place the load capacitors (typically 15-33 pF) within 3 mm of the pins with a ground guard trace around them. Keep digital signal traces (RB ports) away from analog comparator inputs (RA0-RA3) to reduce crosstalk on the analog comparator. The exposed SSOP leads are fragile, so include generous pad overhang and use ENIG or OSP surface finish for reliable hand soldering.
Most PIC16F84A-20/SS design bugs come from configuration-word errors. The oscillator configuration (HS for >4 MHz crystal, XT for 1-4 MHz, LP for 32 kHz, RC for resistor-capacitor) MUST match the actual oscillator hardware or the device will not start. The watchdog timer (WDT) is enabled by default and can lock up the firmware if not periodically cleared; disable WDT in the config word unless you deliberately use it for safety. Watch the I/O pin current budget: each pin sinks 25 mA but the package total is 200 mA - exceeding this causes thermal damage. The PORTB internal weak pull-ups are enabled per-pin via the OPTION_REG and are necessary for push-button inputs. Finally, the PIC16F84A does NOT have an on-chip ADC - any analog sensor must use the analog comparator or an external ADC; many datasheet summaries incorrectly list ADC capability.
Compliance Information
RoHS compliant per Microchip product page (lead-free / Pb-free / matte tin finish). Not AEC-Q100 qualified - for automotive 8-bit PIC needs use PIC16F18446 or PIC16F18855. REACH SVHC declaration current as of 2026-09-21. Halogen-free status not explicitly confirmed in available data; set to unknown.