PIC16F677T-I/SO - 3.5KB Flash MCU, 20MHz, 20-SOIC | Microchip
MPN: PIC16F677T-I/SO ✓ Active| Qty | Unit Price | Extended |
|---|---|---|
| 1 | $2.07 | $2.07 |
| 10 | $1.85 | $18.50 |
| 100 | $1.66 | $166.00 |
| 500 | $1.49 | $745.00 |
| 1,000 | $1.34 | $1,340.00 |
PIC16F677T-I/SO Overview
A microcontroller (MCU) is a single-chip computer that integrates a CPU core, program and data memory, I/O peripherals, and timers onto one die, enabling self-contained embedded control in applications ranging from appliance keypads to industrial sensor nodes. The PIC16F677 belongs to Microchip's well-established mid-range PIC® 16F family, which uses a RISC-based 14-bit instruction word architecture with 35 single-word instructions - a sweet spot of code density, deterministic timing, and C-compiler friendliness that has powered decades of 8-bit designs.
Key features include 18 digital I/O pins multiplexed with analog and peripheral functions, 2 comparators, an Enhanced Universal Synchronous/Asynchronous Receiver/Transmitter (EUSART) for RS-232/RS-485 links, an SPI/I2C master/slave MSSP port, and a 10-bit ADC with 12 channels for direct sensor conditioning. The device operates across 2.0 V to 5.5 V, supporting both 3.3 V and 5 V rails, and offers multiple low-power sleep modes via nanoWatt technology that drop quiescent current below 1 µA in deep sleep - critical for battery-powered or energy-harvesting products.
The PIC16F677T-I/SO uses a Harvard architecture with separate program and data buses, plus an internal 8 MHz oscillator (calibrated to ±1 %) that eliminates the external resonator in many designs. Programming is performed through In-Circuit Serial Programming (ICSP) using only two pins (PGC/PGD), allowing firmware updates after board assembly and supporting Microchip's standard development toolchain (MPLAB X IDE, XC8 compiler, and PICkit programmers).
Typical applications include consumer appliances, low-cost remote controls, sensor signal conditioning with on-chip ADC, LED lighting controllers, small motor/relay drivers via the CCP PWM, and industrial sensor interfaces. The wide operating voltage and 20-pin SOIC footprint make it a common choice as a pin-compatible upgrade for the older PIC16F627/PIC16F628 family with more Flash, EEPROM, and analog channels.
When designing with this part, ensure the VDD/VSS pins each have a local 0.1 µF decoupling capacitor placed within 5 mm of the pin, and respect the absolute maximum VDD of 5.5 V. Unused I/O pins should be configured as outputs low to minimize current draw in sleep mode. The MCLR pin must not be left floating unless internal MCLR is enabled in the configuration bits.
This page synthesizes distributor pricing, drop-in alternatives, and practical design notes not found in the manufacturer datasheet alone.
Drop-in alternatives for PIC16F677T-I/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 PIC16F677T-I/SO (same form factor and footprint) — differing in Package, Timers, Operating Temperature, Core Architecture, ADC.
Quick Comparison Tool — Select alternative parts for side-by-side comparison:
PIC16F677-I/SO
✅ Drop-In✓ In Stock
$1.05 / Unit
View Datasheet →PIC16F677T-I/ML
✅ Drop-In✓ In Stock
$1.55 / Unit
View Datasheet →PIC16F677-I/ML
✅ Drop-In✓ In Stock
$1.42 / Unit
View Datasheet →PIC16F677-E/SO
✅ Drop-In✓ In Stock
$1.05 / Unit
View Datasheet →PIC16F676T-I/SL
✅ Drop-In✓ In Stock
$0.89 / Unit
View Datasheet →PIC16F676T-E/SL
✅ Drop-In✓ In Stock
$0.8 / Unit
View Datasheet →PIC16F676-I/ST
✅ Drop-In✓ In Stock
$1.02 / Unit
View Datasheet →PIC16F677T-I/SO Maximum Ratings & Electrical Characteristics
| Core Architecture | PIC 8-bit, mid-range 14-bit instruction word |
| Program Memory (Flash) | 3.5 KB (2K x 14) |
| Data RAM | 128 bytes |
| Data EEPROM | 256 bytes |
| CPU Speed (Max) | 20 MHz (200 ns instruction cycle) |
| Supply Voltage (VDD) | 2.0 V to 5.5 V |
| I/O Pins | 18 (digital I/O, multiplexed) |
| ADC | 10-bit, 12 channels |
| Comparators | 2 |
| Timers | Timer0 (8-bit), Timer1 (16-bit), Timer2 (8-bit with PWM) |
| Capture/Compare/PWM (CCP) | 1 module, 10-bit PWM |
| Communication Peripherals | 1x EUSART, 1x MSSP (SPI / I2C) |
| Internal Oscillator | 8 MHz, ±1 % factory calibrated |
| Package | 20-SOIC (0.295 in / 7.50 mm width) |
| Operating Temperature | -40 °C to +85 °C (Industrial, "I" grade) |
| Mounting Type | Surface Mount |
| MSL Level | 1 (unlimited floor life, JEDEC J-STD-020) |
| RoHS Status | Compliant |
| Programming Method | ICSP (In-Circuit Serial Programming) |
| Low-Power Modes | nanoWatt technology - <1 µA typical in sleep |
PIC16F677T-I/SO Pin Configuration
| Pin 1 | RA0/AN0/C1IN+/ICSPDAT — PORTA bit 0 / ADC channel 0 / Comparator 1 non-inverting input / ICSP data |
| Pin 2 | RA1/AN1/C1IN-/VREF-/ICSPCLK — PORTA bit 1 / ADC channel 1 / Comparator 1 inverting input / VREF- / ICSP clock |
| Pin 3 | RA2/AN2/C1OUT — PORTA bit 2 / ADC channel 2 / Comparator 1 output |
| Pin 4 | RA3/AN3/C1IN+/VREF+ — PORTA bit 3 / ADC channel 3 / Comparator 1 non-inverting input / VREF+ (input only) |
| Pin 5 | RA4/AN4/C2OUT/T0CKI — PORTA bit 4 / ADC channel 4 / Comparator 2 output / Timer0 clock input (open-drain) |
| Pin 6 | RA5/AN5/SS/C2IN+/HLVDIN — PORTA bit 5 / ADC channel 5 / SPI slave select / Comparator 2 non-inverting input / High-Low Voltage Detect input |
| Pin 7 | VSS — Ground reference (0 V) |
| Pin 8 | OSC1/CLKI/RA7 — External oscillator input / external clock input / PORTA bit 7 |
| Pin 9 | OSC2/CLKO/RA6 — External oscillator output / clock output / PORTA bit 6 |
| Pin 10 | RC0/T1OSO/T1CKI — PORTC bit 0 / Timer1 oscillator output / Timer1 clock input |
| Pin 11 | RC1/T1OSI/CCP2 — PORTC bit 1 / Timer1 oscillator input / CCP2 module |
| Pin 12 | RC2/CCP1/P1A — PORTC bit 2 / CCP1 PWM output / PWM 1A output |
| Pin 13 | RC3/SCK/SCL — PORTC bit 3 / SPI clock / I2C clock |
| Pin 14 | RC4/SDI/SDA — PORTC bit 4 / SPI data in / I2C data |
| Pin 15 | RC5/SDO — PORTC bit 5 / SPI data out |
| Pin 16 | RC6/TX/CK — PORTC bit 6 / EUSART asynchronous transmit / EUSART synchronous clock |
| Pin 17 | RC7/RX/DT — PORTC bit 7 / EUSART asynchronous receive / EUSART synchronous data |
| Pin 18 | VSS — Ground reference (0 V) - second ground pin |
| Pin 19 | VDD — Positive supply (2.0 V to 5.5 V) |
| Pin 20 | RA0/MCLR/VPP — PORTA bit 0 / Master Clear (active-low reset) / programming voltage input |
Typical Applications
PIC16F677T-I/SO is suitable for 7 applications: Battery-Powered IoT Sensor Node, Consumer Appliance Control Board, Automotive Interior Sensor Interface, LED Lighting Controller / Dimmer, Industrial Sensor Signal Conditioner, Remote Control / IR Communication Transmitter, Educational Embedded Development Platform.
Battery-Powered IoT Sensor Node
The PIC16F677T-I/SO is well suited to battery-powered IoT sensor nodes because its 2.0 V to 5.5 V VDD range directly supports single-cell lithium or 2xAA chemistries, while nanoWatt sleep drops quiescent current below 1 µA - critical when the node spends 99 % of its life in sleep between measurements. Its 10-bit 12-channel ADC multiplexes multiple analog sensors (temperature, light, soil moisture) onto one chip without external muxes. The internal 8 MHz calibrated oscillator eliminates the external resonator, reducing BOM cost and board area. With 3.5 KB Flash, the firmware can implement a SENSOR-sampling state machine plus a low-power EUSART wake-on-RX routine for occasional telemetry bursts, achieving multi-year battery life on a single CR2032 coin-cell at typical 1 sample-per-minute duty cycles.
Recommended
Consumer Appliance Control Board
Consumer appliances like coffee makers, washing-machine front panels, and microwave ovens frequently use the PIC16F677T-I/SO because the 20-SOIC package is small enough for compact appliance PCBs while offering 18 I/O lines sufficient for keypad scanning, LED/LCD drive, and relay/solenoid control. Its 2 comparators handle zero-crossing detection for triac firing or motor back-EMF sensing without external op-amps. The CCP PWM module drives a buzzer, LED dimmer, or small DC fan at variable duty cycle. With 256 bytes of EEPROM, the firmware can store user-set options, calibration values, and last-state memory across power cycles - a common requirement in modern appliances. Operating reliably from 2.0 V to 5.5 V also tolerates unregulated wall-adapter rails, simplifying the power supply.
Recommended
Automotive Interior Sensor Interface
In non-safety automotive interior applications (ambient lighting controllers, occupancy sensors, HVAC trim controls), the PIC16F677T-I/SO offers industrial -40 °C to +85 °C operation, sufficient for cabin environments. Its 10-bit 12-channel ADC reads photodiodes, thermistors, and potentiometer trim wheels directly without external signal conditioning. The MSSP peripheral drives I2C-controlled digital sensors or LED drivers commonly used in cabin lighting. Wide 2.0 V to 5.5 V supply tolerates load-dump transients up to the absolute maximum of 5.5 V when paired with an external TVS diode and filter. For higher-temperature under-hood or near-engine applications, consider migrating to PIC16F677-E/SO (extended temperature) as a drop-in upgrade on the same 20-SOIC footprint.
Recommended
LED Lighting Controller / Dimmer
The PIC16F677T-I/SO drives LED lighting products because its CCP module generates 10-bit PWM dimming signals for current-mode LED drivers, and the 2 comparators support zero-crossing detection for phase-cut dimmer circuits without external circuitry. With 18 I/O pins, multiple LED channels (RGB, white, indicator) can be driven in parallel with per-channel PWM. The 2.0 V to 5.5 V VDD range supports both 3.3 V and 5 V LED-driver rails, while nanoWatt sleep cuts standby power below regulatory limits for off-state quiescent consumption - important for ENERGY STAR compliance in residential lighting. Firmware stored in Flash supports OTA-free field updates via ICSP, allowing the manufacturer to ship bug fixes after product launch.
Recommended
Industrial Sensor Signal Conditioner
In industrial 4-20 mA loop-powered sensor transmitters and remote sensor-conditioning modules, the PIC16F677T-I/SO provides a compact 8-bit controller with 12 ADC channels for multi-sensor aggregation. Its EUSART drives RS-485 communication on multidrop industrial buses using external transceivers, while the MSSP talks to digital sensor ICs on I2C. The wide 2.0 V to 5.5 V VDD tolerates the rectified 24 V industrial bus through a small linear regulator. Industrial -40 °C to +85 °C operation handles factory-floor temperature extremes. The CCP module generates PWM outputs for proportional valve control or actuator drive signals in closed-loop control loops running at typical 100 Hz update rates.
Recommended
Remote Control / IR Communication Transmitter
Consumer remote controls and IR-transmitter modules use the PIC16F677T-I/SO because its 20-SOIC footprint fits the slim PCB of a handheld remote, the EUSART generates 38 kHz carrier modulation with minimal software overhead, and the 10-bit PWM/CCP module drives an IR LED directly through a transistor. With 3.5 KB Flash, multiple device-protocol tables (RC5, NEC, SIRC, proprietary) can coexist in firmware. The nanoWatt sleep mode keeps quiescent current below 1 µA when no button is pressed, so the remote survives years on a single CR2032 coin-cell. Industrial-temperature -40 °C to +85 °C operation tolerates outdoor or garage environments where remotes are frequently exposed. ICSP allows firmware customization after production for OEM-branded variants.
Recommended
Educational Embedded Development Platform
Universities, technical schools, and hobbyist makers use the PIC16F677T-I/SO as a teaching MCU because the 20-SOIC breakout board is breadboard-friendly, the MPLAB X IDE and XC8 compiler are free, and the PICkit 3/4/Snap programmer costs under $50. Its 35-instruction mid-range RISC architecture is approachable for first-time embedded students while remaining powerful enough for senior design projects. With 12 ADC channels, students can sample multiple sensors in one lab session; with EUSART and MSSP, they can implement serial-protocol labs (RS-232 terminal, I2C sensor reading, SPI flash access). 3.5 KB Flash accommodates modest projects (PID control, data logger, simple game console), and ICSP allows in-class debugging without removing the chip from the breadboard.
Recommended
Recommended Products Summary
Engineering reference data for PIC16F677T-I/SO — comparison, design guidance, and compliance information.
Selection Guide
Comparison with Alternatives
| Parameter | This Product | PIC16F677-I/SO | PIC16F677T-I/ML | PIC16F677-I/ML | PIC16F677-E/SO | PIC16F676T-I/SL | PIC16F676T-E/SL | PIC16F676-I/ST |
|---|---|---|---|---|---|---|---|---|
| Package | 20-SOIC (T&R) | 20-SOIC (Tube) - same | 20-QFN (T&R) - same family footprint | 20-QFN (Tube) - same family footprint | 20-SOIC - same | 20-SOIC - same | 20-SOIC - same | 20-TSSOP - same family footprint |
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Flash Memory | 3.5 KB | 3.5 KB | 3.5 KB | 3.5 KB | 3.5 KB | 1.75 KB (-50%) | 1.75 KB (-50%) | 1.75 KB (-50%) |
| Data RAM | 128 bytes | 128 bytes | 128 bytes | 128 bytes | 128 bytes | 64 bytes (-50%) | 64 bytes (-50%) | 64 bytes (-50%) |
| Data EEPROM | 256 bytes | 256 bytes | 256 bytes | 256 bytes | 256 bytes | 0 (no EEPROM) | 0 (no EEPROM) | 0 (no EEPROM) |
| ADC Channels | 12 (10-bit) | 12 (10-bit) | 12 (10-bit) | 12 (10-bit) | 12 (10-bit) | 8 (10-bit) (-33%) | 8 (10-bit) (-33%) | 8 (10-bit) (-33%) |
| EUSART (Serial) | Yes (1x) | Yes | Yes | Yes | Yes | No | No | No |
| CPU Speed (Max) | 20 MHz | 20 MHz | 20 MHz | 20 MHz | 20 MHz | 20 MHz | 20 MHz | 20 MHz |
| Operating Temperature | -40 °C to +85 °C (I) | -40 to +85 °C | -40 to +85 °C | -40 to +85 °C | -40 to +125 °C (E - extended) | -40 to +85 °C | -40 to +125 °C (E - extended) | -40 to +85 °C |
| Unit Price (qty 1, as of 2026-09-21) | ~$2.07 USD | ~$2.07 USD | ~$2.20 USD (QFN premium) | ~$2.20 USD | ~$2.65 USD (extended temp premium) | ~$1.75 USD (-15%) | ~$2.20 USD | ~$1.85 USD (TSSOP discount) |
Key Differentiators
- Highest memory in 20-pin SOIC PIC16F family with EUSART (vs PIC16F676T-I/SL)
- Industrial temperature range available without extended-temp premium (vs PIC16F677-E/SO)
- Tube vs Tape & Reel packaging option (vs PIC16F677-I/SO)
- 20-SOIC vs 20-QFN footprint flexibility within same silicon (vs PIC16F677T-I/ML)
Design Notes
Place a 0.1 µF decoupling capacitor as close as possible (within 5 mm) to both VDD (pin 19) and VSS (pin 18), with a low-ESR ceramic type (X7R or X5R). The PIC16F677 has two ground pins; both must be connected to the ground plane for stable ADC readings. For designs switching LEDs or relays, add a 10 µF bulk capacitor near VDD. Do not exceed the absolute maximum VDD of 5.5 V; add a 5.1 V TVS diode or Zener clamp if the source is unregulated. Per the Microchip datasheet power-supply section, VDD rise time should be faster than 50 ms to ensure proper POR (Power-On Reset) sequencing.
The PIC16F677T-I/SO consumes only a few milliamps under typical 20 MHz operation - thermal management is rarely an issue in commercial designs. However, the industrial -40 °C to +85 °C operating range means PCB thermal relief near heat sources (relays, voltage regulators) must be considered. Estimated: at 20 MHz with all peripherals active, ICC ≈ 11 mA at 5 V = 55 mW dissipation, well below the SOIC package's 100 °C/W theta_JA thermal resistance limit. For QFN-20 variants (-I/ML, -T-I/ML), the exposed thermal pad MUST be soldered to the ground plane to maintain rated thermal and electrical performance.
Keep analog input traces short and routed away from digital switching traces (PWM, clock, relay drive) to minimize ADC noise coupling. For 10-bit ADC accuracy, use a ground plane and place the ADC reference voltage bypass capacitor (0.1 µF + 10 µF) within 3 mm of the VREF+ pin (RA3). If using the internal 8 MHz oscillator, no external crystal capacitors are needed, freeing two GPIOs. For high-accuracy timing, switch to a 20 MHz external crystal connected to OSC1/OSC2 with 15-30 pF load capacitors per the datasheet. Always include a 4.7 kΩ pull-up resistor on MCLR (pin 20) unless the internal MCLR disable fuse is programmed.
Common pitfalls: (1) Leaving unused I/O pins floating - configure them as outputs low to minimize sleep current and prevent oscillation. (2) Forgetting to set the ADC channel in ADCON0 before each conversion - the previous channel value persists. (3) Using the CCP1 module without first configuring TRISC bit 2 as output - the PWM signal will not appear on the pin. (4) Programming the MCLR pin as RA5 input without enabling the internal MCLR fuse - the device will not reset properly. (5) Driving VDD above 5.5 V during programming - the ICSP VPP voltage on MCLR must be limited per the in-circuit programming specification. Per Microchip's errata documentation, always check the latest silicon revision (Rev. 6 or later) for current known anomalies.
For EUSART RS-232 communication, place a 100 nF charge-pump capacitor on each of the four required pins (MAX232-style transceiver) within 5 mm of the transceiver. For I2C (MSSP) bus at 400 kHz, use 4.7 kΩ pull-up resistors on SDA (RC4) and SCL (RC3); for 100 kHz standard mode, 10 kΩ is sufficient. For SPI at high speeds (>5 MHz), keep SCK/SDI/SDO traces under 50 mm total length and route over a continuous ground plane. Per Microchip MSSP chapter, the SDA and SCL pins are open-drain and require external pull-ups - the internal weak pull-ups are NOT strong enough for reliable multi-master I2C communication.
Compliance Information
RoHS-compliant and lead-free per Microchip product environmental compliance information. Not AEC-Q100 qualified - this is a general-purpose industrial MCU, not an automotive-qualified part. For AEC-Q100 needs, consider PIC16F1769 or PIC16F18855 in similar 20-pin packages.