PIC16F684-E/P - 8-Bit 20MHz 3.5KB Flash MCU 14-PDIP | Microchip
MPN: PIC16F684-E/P β Active| Qty | Unit Price | Extended |
|---|---|---|
| 1 | $2.85 | $2.85 |
| 10 | $2.55 | $25.50 |
| 100 | $2.21 | $221.00 |
| 500 | $1.95 | $975.00 |
| 1,000 | $1.74 | $1,740.00 |
PIC16F684-E/P Overview
A microcontroller (MCU) is a single-chip computer that integrates a CPU, RAM, non-volatile program memory, peripherals, and I/O on one die. PIC16 mid-range 8-bit MCUs sit in a well-defined product hierarchy: 8-bit microcontroller -> PIC16 family -> mid-range x14 architecture -> nanoWatt power-managed MCU -> low pin-count Flash MCU. The PIC16F684 implements the RISC instruction set with 35 single-word instructions, simplifying firmware development while providing deterministic timing for embedded control.
Key features include nanoWatt power management technology, an internal 8 MHz oscillator with 4x PLL option for 32 MHz equivalent performance, a 10-bit ADC with 8 channels, enhanced capture/compare/PWM (ECCP) module, and multiple timers (Timer0, Timer1, Timer2). The device supports brown-out reset, power-on reset, watchdog timer, and in-circuit serial programming (ICSP), enabling field upgrades and robust embedded operation.
The PIC16F684-E/P uses CMOS Flash process technology with nanoWatt dynamic power management, achieving typical active current below 1 mA at 4 MHz and standby currents in the microamp range. This combination suits battery-powered and energy-conscious embedded systems. The 14-pin PDIP package is preferred for hobbyist, educational, prototyping, and legacy industrial applications where through-hole mounting and breadboard compatibility simplify hardware development.
Typical applications include consumer appliance control, sensor signal conditioning, low-power remote controls, LED lighting controllers, small motor control loops, and educational embedded platforms. The wide operating voltage range (2.0V to 5.5V) makes the device compatible with both 3.3V and 5V system rails. Compared to PIC16F630-class parts, the PIC16F684 adds ADC, ECCP, and significantly more Flash, giving it an edge in mixed-signal and PWM-intensive designs.
When designing with this MCU, ensure decoupling with a 100 nF ceramic capacitor placed within 5 mm of VDD, plus a bulk capacitor if the analog reference is used. ICSP pins (RB6/RA0/RB7) must be reserved for in-circuit programming access, either through dedicated header pins or test points on the PCB. Programming is performed via Microchip's MPLAB X IDE and PICkit programmers.
This page synthesizes distributor pricing, drop-in PIC16 family alternatives, and practical design notes not found in the manufacturer datasheet alone.
Drop-in alternatives for PIC16F684-E/P β 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 PIC16F684-E/P (same form factor and footprint) β differing in Package, ADC, Internal Oscillator, Operating Temperature Range, Timers.
Quick Comparison Tool β Select alternative parts for side-by-side comparison:
PIC16F684-I/P
β Drop-Inπ Reference alternative (not in catalog)
PIC16F684T-E/P
β Drop-Inπ Reference alternative (not in catalog)
PIC16F684-E/P
β Drop-Inβ In Stock
$1.74 / Unit
View Datasheet βPIC16F684-E/P Maximum Ratings & Electrical Characteristics
| Core Processor | PIC |
| Core Size | 8-Bit |
| Architecture | PIC16 mid-range (x14 instruction set) |
| Maximum Clock Speed | 20 MHz |
| Instruction Execution Time | 200 ns |
| Program Memory (Flash) | 3.5 KB (2K x 14 words) |
| Data Memory (SRAM) | 128 bytes |
| EEPROM Data Memory | 256 bytes |
| I/O Pins | 11 |
| ADC | 10-bit, 8 channels |
| Timers | Timer0, Timer1, Timer2 |
| PWM Module | Enhanced CCP (ECCP) |
| Internal Oscillator | 8 MHz (with 4x PLL -> 32 MHz equivalent) |
| Operating Voltage Range | 2.0 V to 5.5 V |
| Operating Temperature Range | -40 C to +125 C (Extended, -E suffix) |
| Package | 14-Pin PDIP (300 mil) |
| Mounting Type | Through-Hole |
| Lead Finish | Lead-free (Matte Tin) |
| MSL Level | 1 (unlimited) |
| Instruction Set | 35 single-word instructions |
| Programming Method | ICSP (In-Circuit Serial Programming) |
| RoHS Status | Compliant |
PIC16F684-E/P Pin Configuration
| Pin 1 | VDD β Positive supply voltage (2.0 V to 5.5 V) |
| Pin 2 | RA5/T1CKI/OSC1/CLKIN β GPIO RA5 / Timer1 clock input / external clock input / crystal oscillator input |
| Pin 3 | RA4/AN3/T1G/OSC2/CLKOUT β GPIO RA4 / ADC channel 3 / Timer1 gate / crystal oscillator output / clock output |
| Pin 4 | RA3/MCLR/VPP β GPIO RA3 / Master Clear reset (active low) / programming voltage input |
| Pin 5 | RC5/CCP1/P1A β GPIO RC5 / ECCP1 input/output / PWM output P1A |
| Pin 6 | RC4/C2OUT/P1B β GPIO RC4 / Comparator 2 output / PWM output P1B |
| Pin 7 | RC3/AN7/C1OUT/P1C β GPIO RC3 / ADC channel 7 / Comparator 1 output / PWM output P1C |
| Pin 8 | RC2/AN6/P1D β GPIO RC2 / ADC channel 6 / PWM output P1D |
| Pin 9 | RC1/AN5 β GPIO RC1 / ADC channel 5 |
| Pin 10 | RC0/AN4 β GPIO RC0 / ADC channel 4 |
| Pin 11 | RA2/AN2/COUT β GPIO RA2 / ADC channel 2 / comparator output |
| Pin 12 | RA1/AN1/C1IN- β GPIO RA1 / ADC channel 1 / comparator 1 inverting input |
| Pin 13 | RA0/AN0/C1IN+/ICSPDAT β GPIO RA0 / ADC channel 0 / comparator 1 non-inverting input / ICSP data |
| Pin 14 | VSS β Ground reference |
Typical Applications
PIC16F684-E/P is suitable for 6 applications: Consumer Appliance Control, Battery-Powered Sensor Node, LED Lighting Controller, Small DC Motor / Fan Speed Control, Educational / Hobbyist Embedded Platform, Industrial Sensor Signal Conditioning.
Consumer Appliance Control
The PIC16F684-E/P is well suited for consumer appliance control boards such as small kitchen appliances, fans, and washing-machine sub-modules where 8-bit deterministic timing and modest I/O count suffice. The 20 MHz core and 200 ns instruction cycle support real-time keyboard debouncing, relay sequencing, and triac-firing routines within a tight 50/60 Hz half-cycle timing budget. Its 3.5 KB Flash hosts state-machine firmware plus UI lookup tables, while the 11 I/O pins drive LED indicators, keypads, and zero-cross detectors. The 10-bit ADC reads temperature from NTC thermistors or current from shunt resistors for closed-loop regulation. NanoWatt technology brings idle current below 1 mA, important for always-on appliances where standby power consumption is regulated.
Recommended
Battery-Powered Sensor Node
For battery-powered wireless sensor nodes, the PIC16F684-E/P offers nanoWatt sleep modes with standby currents in the microamp range, allowing multi-year life on a coin cell. The internal 8 MHz oscillator with 4x PLL eliminates the external crystal, reducing BOM cost and PCB area. The 10-bit ADC samples up to 8 analog channels - typical for temperature, humidity, and battery-voltage monitoring. The 11 I/O pins interface to low-power radios such as sub-GHz transceivers via SPI. EUSART handles RS-485 or simple UART sensor interfaces. With 2.0 V to 5.5 V operation, the device runs directly from a single Li-Ion, two alkaline, or regulated 3.3 V supply rail.
Recommended
LED Lighting Controller
The PIC16F684-E/P's Enhanced CCP (ECCP) module generates high-resolution PWM outputs ideal for LED dimming and color-mixing controllers. The 20 MHz core with 200 ns instruction cycle delivers PWM frequencies well above the 200 Hz flicker-fusion threshold with deep dimming resolution. The 10-bit ADC reads ambient light sensors and potentiometer-based dimmers, while the 11 I/O pins drive multiple LED strings, button inputs, and status indicators. NanoWatt sleep modes minimize standby power when the luminaire is off. The 14-pin PDIP package simplifies hand-prototyping of custom lighting fixtures before committing to a smaller surface-mount PCB layout.
Recommended
Small DC Motor / Fan Speed Control
Closed-loop DC motor and brushless-fan speed control benefit from the PIC16F684-E/P's ECCP PWM, 10-bit ADC, and Timer1 capture input. The ECCP module drives a MOSFET H-bridge or 3-phase inverter at switching frequencies chosen for low acoustic noise. The ADC samples back-EMF or shunt current for speed/torque regulation, while Timer1 captures Hall-sensor or tachometer pulses for accurate RPM feedback. With 20 MHz clock and 200 ns instruction execution, the control loop fits within 100 us update intervals typical of small DC motors. The Extended -40 C to +125 C temperature grade supports under-hood automotive and industrial environments.
Recommended
Educational / Hobbyist Embedded Platform
The PIC16F684-E/P in 14-pin PDIP is breadboard-friendly, making it ideal for university embedded-systems courses, robotics clubs, and hobbyist projects. The 14-pin DIP package fits standard solderless breadboards and 0.1-inch perfboard, while ICSP on RB6/RB7 enables programming without removing the chip. MPLAB X IDE with XC8 compiler is free, and the 35-instruction RISC set is teachable in a single semester. The 3.5 KB Flash, 128 B SRAM, and 256 B EEPROM give students room for non-trivial firmware projects: digital clocks, simple games, line-following robots, and small protocol emulators. Wide 2.0-5.5 V operation tolerates varied bench supplies.
Recommended
Industrial Sensor Signal Conditioning
Industrial 4-20 mA loop transmitters, RTD conditioning boards, and process-control front-ends leverage the PIC16F684-E/P's 10-bit ADC, EEPROM data memory, and robust Extended temperature grade. The 256-byte EEPROM stores calibration coefficients per channel - critical for field-trimmed transmitters - while the 128 B SRAM buffers conversion results before UART transmission. The internal oscillator with PLL option eliminates external crystals, improving shock and vibration tolerance in industrial installations. Brown-out reset and watchdog timer provide the resilience required by IEC 61131-style industrial PLC peripheral modules and remote I/O nodes operating across -40 C to +125 C environments.
Recommended
Recommended Products Summary
Engineering reference data for PIC16F684-E/P β comparison, design guidance, and compliance information.
Selection Guide
Comparison with Alternatives
| Parameter | This Product | PIC16F684-I/P | PIC16F684T-E/P |
|---|---|---|---|
| Brand | Microchip Technology | Microchip Technology | Microchip Technology |
| Package | 14-PDIP | 14-PDIP (same) | 14-PDIP (same) |
| Temperature Grade | -40 to +125 C (Extended, -E) | -40 to +85 C (Industrial, -I) | -40 to +125 C (Extended, -E) |
| Core / Max Clock | PIC16 8-bit / 20 MHz | PIC16 8-bit / 20 MHz | PIC16 8-bit / 20 MHz |
| Flash / SRAM / EEPROM | 3.5 KB / 128 B / 256 B | 3.5 KB / 128 B / 256 B | 3.5 KB / 128 B / 256 B |
| I/O Pins | 11 | 11 | 11 |
| ADC | 10-bit, 8 channels | 10-bit, 8 channels | 10-bit, 8 channels |
| PWM (ECCP) | Yes (4 outputs) | Yes (4 outputs) | Yes (4 outputs) |
| Packaging Format | Tube | Tube | Tape & Reel |
| Approx. Qty-100 Price (USD) | 2.21 | 2.05 (typically lower) | 2.21 (same die) |
Key Differentiators
- Extended -40 to +125 C temperature grade in 14-pin PDIP (vs PIC16F684-I/P)
- Tube packaging optimized for through-hole prototyping (vs PIC16F684T-E/P)
- 10-bit ADC + ECCP PWM in same low-pin-count 14-PDIP (vs PIC16F630-E/P)
Design Notes
Place a 100 nF decoupling capacitor within 5 mm of the VDD pin (pin 1) and a bulk capacitor (e.g., 10 uF) on the same supply rail for systems driving PWM or relays. The PIC16F684 has internal brown-out reset configurable via configuration bits, but external bulk decoupling remains critical when loads (LED strings, relays) are switched near the MCU. For battery-powered designs, use nanoWatt sleep mode between ADC samples; the device draws <1 uA typical in sleep with WDT disabled, per the PIC16F684 datasheet.
Reserve RA0 (ICSPDAT), RA4/RA5 or RB6/RB7 (ICSPCLK depending on configuration), and MCLR/VPP (RA3) for ICSP programming access. Either route these to a 0.1-inch header or place test points within 3 mm of the pins so a PICkit 3/4 or MPLAB SNAP can be connected without disassembling the product. Keep analog traces (AN0-AN7) short and away from PWM/motor switching traces to minimize ADC noise coupling, and provide a ground pour under the analog pins.
Do not leave the MCLR pin floating - tie it to VDD through a 10 kohm pull-up resistor, or directly to VDD if reset is not needed externally. Configuring MCLR as a GPIO requires an external reset IC. Also, when using the internal oscillator, set the configuration bits correctly (INTIO, WDTE, etc.) in MPLAB X before programming; otherwise the device may appear 'dead' on first power-up. The Configuration Word 1 (0x2007) and Word 2 (0x2008) addresses are documented in the PIC16F684 datasheet memory map.
Compliance Information
RoHS compliant per Microchip product page; lead-free matte-tin finish on PDIP pins. Not AEC-Q100 qualified - for automotive applications use PIC16F684-I/ML (AEC-Q100 qualified per Microchip catalog) or PIC16F684-E/ML with PPAP documentation. Halogen-free status not specifically stated in the available data.