PIC16F677-E/SS - 8-Bit MCU, 3.5KB Flash, 20MHz, 20-SSOP | Microchip
MPN: PIC16F677-E/SS β Active| Qty | Unit Price | Extended |
|---|---|---|
| 1 | $2.45 | $2.45 |
| 10 | $2.18 | $21.80 |
| 100 | $1.86 | $186.00 |
| 500 | $1.62 | $810.00 |
| 1,000 | $1.41 | $1,410.00 |
PIC16F677-E/SS Overview
A PIC microcontroller (Peripheral Interface Controller) is a family of low-cost, low-power 8-bit Harvard-architecture microcontrollers widely used in embedded systems. Within the PIC taxonomy, the PIC16F mid-range family sits between the baseline PIC10/12/16 cores and the enhanced PIC18 family, offering a balance of peripheral integration, code density (14-bit instruction word), and cost. Flash-based PIC MCUs include on-chip non-volatile program memory that is electrically erasable and reprogrammable, simplifying field updates and shortening development cycles. The PIC16F677 specifically belongs to the PIC16F6xx sub-family of low pin-count (20-pin) devices that integrate nanoWatt power management, on-board EEPROM, and a 10-bit ADC.
Key features of the PIC16F677 include a 10-bit ADC with up to 12 channels, two comparators, a Capture/Compare/PWM (CCP) module, an Enhanced Capture/Compare/PWM (ECCP) module, an 8-bit timer/counter (TMR0) plus TMR1 and TMR2, an asynchronous serial port (AUSART) for UART communication, and a Synchronous Serial Port (SSP) supporting SPI and I2C (master/slave). The device supports interrupt-driven operation with automatic context saving, an 8-level hardware stack, and an internal watchdog timer for reliable operation in unattended applications.
The architecture employs a RISC instruction set with 35 single-word instructions, allowing most operations to complete in one instruction cycle (200 ns at 20 MHz). The nanoWatt technology provides multiple low-power modes (Run, Idle, and Sleep) with wake-up on interrupt, and the wide 2.0 V to 5.5 V operating voltage range permits direct battery-powered operation. The internal 8 MHz and 32 kHz oscillators, selectable via configuration bits, eliminate the need for external crystal components in many designs, reducing BOM cost and PCB area.
Typical applications include consumer appliance control, sensor signal conditioning, battery chargers, LED lighting controllers, low-end motor control (brushed DC, small stepper), and human-machine interface (HMI) front panels. The PIC16F677's integrated ADC and comparators make it well suited for closed-loop analog control, while the CCP/ECCP modules can drive MOSFETs or IGBTs directly in motor and lighting applications. The 20-SSOP package is well suited to compact handheld and IoT endpoint designs.
When designing with the PIC16F677-E/SS, ensure the configuration bits are set to match the chosen oscillator, watchdog, brown-out, and code-protection requirements. Decoupling capacitors (100 nF) should be placed adjacent to VDD and VSS pins, and unused I/O pins should be configured as outputs low to minimize quiescent current draw. MPLAB X IDE with the XC8 compiler is the recommended development environment.
This page synthesizes distributor pricing, same-package drop-in alternatives, datasheet links, and practical design notes that are not found on a single manufacturer or distributor product page, helping engineers shorten selection time for low-pin-count PIC MCU designs.
Drop-in alternatives for PIC16F677-E/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 PIC16F677-E/SS (same form factor and footprint) β differing in Core Architecture, Package, Timers, ADC, Communication.
Quick Comparison Tool β Select alternative parts for side-by-side comparison:
PIC16F677-I/SS
β Drop-Inβ In Stock
$1.27 / Unit
View Datasheet βPIC16F685-E/SS
β Drop-Inπ Reference alternative (not in catalog)
PIC16F690-E/SS
β Drop-Inπ Reference alternative (not in catalog)
PIC16F677-E/SS Maximum Ratings & Electrical Characteristics
| Product Family | PIC16F mid-range 8-bit MCU |
| Core Architecture | 8-bit PIC RISC (14-bit instruction word) |
| Program Memory Type | Flash |
| Program Memory Size | 3.5 KB (2K x 14 words) |
| SRAM | 128 bytes |
| Data EEPROM | 128 bytes |
| Maximum CPU Speed | 20 MHz (5 MIPS) |
| Operating Voltage Range | 2.0 V to 5.5 V |
| I/O Pins | 18 |
| ADC | 10-bit, up to 12 channels |
| Comparators | 2 |
| Timers | TMR0 (8-bit), TMR1 (16-bit), TMR2 (8-bit) |
| PWM Modules | 1 x CCP, 1 x ECCP |
| Communication | AUSART (UART), SSP (SPI / I2C) |
| Package | 20-pin SSOP (5.30 mm body, 209-mil) |
| Temperature Range (E suffix) | -40C to +125C (Extended) |
| Mounting Type | Surface Mount |
| RoHS Status | Compliant |
| MSL Level | 1 (unlimited) |
PIC16F677-E/SS 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 / OSC1 / external clock input |
| Pin 3 | RA4/T1G/OSC2/CLKOUT β GPIO RA4 / Timer1 gate / OSC2 / clock output |
| Pin 4 | RA3/MCLR/VPP β GPIO RA3 / Master Clear (reset) input / programming voltage |
| Pin 5 | RC5/CCP1 β GPIO RC5 / Capture/Compare/PWM 1 output |
| Pin 6 | RC4/C2OUT β GPIO RC4 / Comparator 2 output |
| Pin 7 | RC3/AN7/C12IN3- β GPIO RC3 / ADC channel 7 / Comparator 1 inverting input |
| Pin 8 | RC6/AN8/SS/C2OUT β GPIO RC6 / ADC channel 8 / SPI slave select / Comparator 2 output |
| Pin 9 | RC7/AN9/SDI/C2IN β GPIO RC7 / ADC channel 9 / SPI data in / Comparator 2 input |
| Pin 10 | RB7/AN10/PGD β GPIO RB7 / ADC channel 10 / ICSP data |
| Pin 11 | RB6/AN11/PGC β GPIO RB6 / ADC channel 11 / ICSP clock |
| Pin 12 | RB5/AN13/CCP2 β GPIO RB5 / ADC channel 13 / Capture/Compare/PWM 2 |
| Pin 13 | RB4/AN12 β GPIO RB4 / ADC channel 12 |
| Pin 14 | RC2/AN6/C12IN2- β GPIO RC2 / ADC channel 6 / Comparator 1/2 inverting input |
| Pin 15 | RC1/AN5/C12IN1- β GPIO RC1 / ADC channel 5 / Comparator 1/2 inverting input |
| Pin 16 | RC0/AN4/C2IN+ β GPIO RC0 / ADC channel 4 / Comparator 2 non-inverting input |
| Pin 17 | RA2/AN2/C1OUT β GPIO RA2 / ADC channel 2 / Comparator 1 output |
| Pin 18 | RA1/AN1/C1IN-/ICSPCLK β GPIO RA1 / ADC channel 1 / Comparator 1 inverting input |
| Pin 19 | RA0/AN0/C1IN+ β GPIO RA0 / ADC channel 0 / Comparator 1 non-inverting input |
| Pin 20 | VSS β Ground reference |
Typical Applications
PIC16F677-E/SS is suitable for 6 applications: Consumer Appliance Control, Battery Charger and Power Management, LED Lighting Controller, Sensor Signal Conditioning, Small Brushed DC Motor Control, Human-Machine Interface (HMI) Front Panel.
Consumer Appliance Control
The PIC16F677-E/SS's 18 I/O pins, 12-channel 10-bit ADC, and CCP/ECCP PWM modules make it well suited for consumer appliance control boards such as coffee makers, rice cookers, and washing-machine user interfaces. The 20 MHz CPU executes sensor reads and PWM updates within tight control loops, while the integrated nanoWatt Sleep mode keeps standby power below regulatory limits. Two on-chip comparators support over-temperature and over-current protection without external analog ICs, reducing BOM cost. The 20-SSOP package fits compact appliance control panels, and the E temperature grade handles the thermal environment inside appliance enclosures.
Recommended
Battery Charger and Power Management
The PIC16F677-E/SS integrates a 10-bit ADC with up to 12 channels for monitoring battery voltage, charge current, and cell temperature in single- or multi-cell lithium-ion / NiMH charger designs. The PWM modules drive the switching FET or linear pass element, while the wide 2.0 V to 5.5 V operating range allows direct battery stack sensing without level shifters. nanoWatt Sleep mode drops quiescent current to microamp levels between charge cycles, preserving battery life in portable equipment. The on-chip comparators detect end-of-charge and fault conditions in hardware, offloading the CPU for safer operation.
Recommended
LED Lighting Controller
The PIC16F677-E/SS drives RGB or white LED strings via its ECCP module with hardware PWM, achieving smooth dimming without CPU overhead. The 10-bit ADC reads ambient light sensors for automatic brightness control and color temperature feedback loops. AUSART and SPI peripherals connect to wireless modules (Bluetooth, Zigbee, or sub-GHz transceivers) for app-controlled smart bulbs. The 20-SSOP package and 2.0-5.5 V supply range fit inside LED bulb base form factors and operate directly from rectified mains-LED driver rails.
Recommended
Sensor Signal Conditioning
The PIC16F677-E/SS conditions signals from analog sensors (temperature, pressure, humidity, gas) using its multi-channel 10-bit ADC and on-chip comparators. The AUSART / SPI / I2C peripherals transmit digitized readings to a host controller or display, while the internal 8 MHz oscillator provides sufficient timing accuracy for many sensor-sampling applications without external crystals. The 18 I/O pins support multiple sensor inputs plus indicator LEDs or relays, and the 20-SSOP package is ideal for compact sensor PCBAs in industrial and HVAC equipment.
Recommended
Small Brushed DC Motor Control
The PIC16F677-E/SS implements closed-loop brushed DC motor control using the ECCP PWM module for H-bridge drive and the 10-bit ADC for back-EMF or current feedback. The on-chip comparators trigger hardware over-current protection within nanoseconds, faster than software can respond, improving motor and driver safety. The 20 MHz CPU runs PID loops at kHz rates for smooth speed and torque regulation. The 2.0-5.5 V supply range permits operation from 2-cell battery packs in toys, small appliances, and personal care devices.
Recommended
Human-Machine Interface (HMI) Front Panel
The PIC16F677-E/SS handles button matrices, rotary encoders, and small LED or character-LCD displays in appliance and industrial HMI front panels. The 18 I/O pins support up to 4x4 key matrices with direct drive, while the AUSART peripheral communicates with a main controller board. PWM outputs drive LED brightness or backlight dimming, and the 10-bit ADC reads potentiometers or analog sliders. The 20-SSOP package fits slim panel-mounted PCBs, and the E temperature grade supports outdoor and industrial enclosures.
Recommended
Recommended Products Summary
Engineering reference data for PIC16F677-E/SS β comparison, design guidance, and compliance information.
Selection Guide
Comparison with Alternatives
| Parameter | This Product | PIC16F677-I/SS | PIC16F685-E/SS | PIC16F690-E/SS |
|---|---|---|---|---|
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Package | 20-SSOP | 20-SSOP - same | 20-SSOP - same | 20-SSOP - same |
| Program Memory (Flash) | 3.5 KB (2K x 14) | 3.5 KB | 7 KB | 4 KB |
| SRAM | 128 bytes | 128 bytes | 256 bytes | 256 bytes |
| Data EEPROM | 128 bytes | 128 bytes | 256 bytes | 256 bytes |
| ADC Channels | 12 x 10-bit | 12 x 10-bit | 14 x 10-bit | 12 x 10-bit |
| Temperature Range | -40C to +125C (E) | -40C to +85C (I) | -40C to +125C (E) | -40C to +125C (E) |
| DAC | None | None | None | 1 x 8-bit DAC |
Key Differentiators
- Highest memory in the 20-pin PIC16F6xx family for the same price band (vs PIC16F685-E/SS)
- Two hardware comparators integrated (vs PIC16F690-E/SS)
- Extended temperature grade option (vs PIC16F677-I/SS)
Design Notes
Place a 100 nF decoupling capacitor as close as possible to the VDD pin (pin 1) and a bulk capacitor (e.g., 10 uF) on the VSS return path. For battery-powered designs using nanoWatt Sleep mode, configure all unused I/O pins as outputs low to minimize sink current, and use the internal 31 kHz LF oscillator for Sleep-time timing. Brown-Out Reset (BOR) should be enabled in configuration bits to prevent code corruption during VDD brown-out events at 2.0-3.8 V rails.
Route the ICSP programming signals PGD (RB7) and PGC (RB6) to an in-circuit programming header or test points without series resistors in the production path. Keep the MCLR/VPP/RA3 trace short (less than 25 mm) to reduce programming noise pickup. Provide a ground plane under and around the SSOP-20 footprint to improve thermal dissipation and EMI immunity, especially when driving PWM outputs above 100 kHz.
The PIC16F677 datasheet (DS40001252H) requires configuration bit settings to match the chosen oscillator source before code will execute; a blank part without proper config-word programming will not run. When migrating from the I-grade to E-grade, verify that the application firmware does not depend on the 0-85C industrial temperature calibration, as the E grade supports the full -40C to +125C range. Note that the ADC acquisition time must be met (typically 15 us at 20 MHz) for full 10-bit accuracy - reading ADC immediately after channel change may give erroneous low results.
Isolate the analog inputs (AN0-AN11) from digital switching traces on the PCB to prevent crosstalk into ADC readings. Place the AVSS (ground) and VDD analog/digital supply pins according to the layout recommendation in the datasheet, and consider using a small RC low-pass filter (1 kohm + 100 pF) on each analog sensor input to reject high-frequency noise. The CCP1 and ECCP PWM outputs can drive FETs directly, but adding 100 ohm gate resistors reduces ringing and EMI.
Compliance Information
RoHS compliant per Microchip product page. Lead-free and halogen-free per Microchip PIC16F6xx family datasheet DS40001252H. Not AEC-Q100 qualified (consumer/industrial grade); for AEC-Q100 automotive applications, Microchip offers dedicated PIC16F1xxx automotive families.