PIC16C923T-04/L - 8-Bit 4MHz 7KB OTP MCU 68-PLCC | Microchip
MPN: PIC16C923T-04/L β End of Life| Qty | Unit Price | Extended |
|---|---|---|
| 1 | $14.5 | $14.50 |
| 10 | $13.2 | $132.00 |
| 100 | $11.4 | $1,140.00 |
| 500 | $9.8 | $4,900.00 |
| 1,000 | $8.95 | $8,950.00 |
PIC16C923T-04/L Overview
An 8-bit microcontroller (MCU) is a single-chip computer that integrates a CPU, RAM, non-volatile program memory, and peripheral interfaces on a single die. The PIC16C architecture uses a Harvard RISC core with only 35 single-word instructions, a 14-bit instruction word, and a two-stage pipeline that allows most instructions to execute in a single 200 ns instruction cycle at 20 MHz (or 1 us at 4 MHz). PIC MCUs belong to the broader category of microcontrollers -> embedded processors -> semiconductors.
Key differentiating features include the on-chip LCD driver supporting up to 160 segments, an integrated 8-bit A/D converter (where applicable in this sub-family), two 8-bit timers plus one 16-bit timer, a watchdog timer with on-chip RC oscillator, and the OTP program memory that allows one-time factory or prototype programming at low per-unit cost. The 68-pin PLCC package exposes sufficient I/O for LCD panel driving, key scanning, and communication peripherals (USART/SCI, SPI, I2C).
Typical applications for the PIC16C923T-04/L include industrial control panels with character or graphic LCDs, instrument front panels, appliance user interfaces, automotive dashboard sub-systems (pre-AEC era designs), medical instrument displays, and any embedded design requiring segment-LCD driving without an external LCD controller. The wide commercial temperature range and 52 I/O pins enable direct keypad and LCD multiplexing.
When designing with this part, note that the OTP memory cannot be re-programmed; for in-field firmware updates choose the PIC16F926 or PIC16F946 flash-based equivalent. Brown-out reset, power-on reset, and the watchdog timer should all be enabled in firmware for reliable industrial deployments. Decoupling capacitors (100 nF plus 10 uF) must be placed within 5 mm of VDD/VSS pins to suppress switching noise from the LCD charge pump.
This page synthesizes distributor pricing (DigiKey, Mouser), drop-in package-compatible alternatives, and practical design notes not consolidated in any single manufacturer document.
Drop-in alternatives for PIC16C923T-04/L β 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 PIC16C923T-04/L (same form factor and footprint) β differing in Operating Temperature, Package, Timers, Watchdog Timer, Program Memory Size.
Quick Comparison Tool β Select alternative parts for side-by-side comparison:
PIC16C923-04/L
β Drop-Inπ Reference alternative (not in catalog)
PIC16C923-08I/L
β Drop-In β οΈ εζ°εΎ ιͺθ―β In Stock
$2.75 / Unit
View Datasheet βPIC16C923T-04/L Maximum Ratings & Electrical Characteristics
| Core | PIC16C 8-bit RISC |
| Instruction Set Width | 14-bit |
| Program Memory Type | OTP (One-Time Programmable) |
| Program Memory Size | 7 KB (4K x 14 words) |
| Data RAM | 176 bytes |
| Maximum Clock Frequency | 4 MHz |
| Instruction Cycle Time | 1 us @ 4 MHz |
| Number of I/O Pins | 52 |
| Supply Voltage (VDD) | 3.0 V to 6.0 V (typical 5 V) |
| Package | 68-PLCC (J-lead, 24.23 x 24.23 mm) |
| Mounting Type | Surface Mount |
| Operating Temperature | 0C to +70C (Commercial) |
| Integrated LCD Driver | Yes (up to 160 segments) |
| Timers | 2x 8-bit + 1x 16-bit |
| Watchdog Timer | Yes (with on-chip RC oscillator) |
| Peripherals | USART/SCI, SPI, I2C |
| RoHS Status | Non-compliant (legacy OTP part, typically Pb-bearing) |
PIC16C923T-04/L Pin Configuration
| Pin 1 | SEG0 β LCD segment driver output 0 |
| Pin 2 | SEG1 β LCD segment driver output 1 |
| Pin 3 | SEG2 β LCD segment driver output 2 |
| Pin 4 | SEG3 β LCD segment driver output 3 |
| Pin 5 | SEG4 β LCD segment driver output 4 |
| Pin 6 | SEG5 β LCD segment driver output 5 |
| Pin 7 | SEG6 β LCD segment driver output 6 |
| Pin 8 | SEG7 β LCD segment driver output 7 |
| Pin 9 | SEG8 β LCD segment driver output 8 |
| Pin 10 | SEG9 β LCD segment driver output 9 |
| Pin 11 | SEG10 β LCD segment driver output 10 |
| Pin 12 | SEG11 β LCD segment driver output 11 |
| Pin 13 | SEG12 β LCD segment driver output 12 |
| Pin 14 | SEG13 β LCD segment driver output 13 |
| Pin 15 | SEG14 β LCD segment driver output 14 |
| Pin 16 | SEG15 β LCD segment driver output 15 |
| Pin 17 | SEG16 β LCD segment driver output 16 |
| Pin 18 | SEG17 β LCD segment driver output 17 |
| Pin 19 | SEG18 β LCD segment driver output 18 |
| Pin 20 | SEG19 β LCD segment driver output 19 |
| Pin 21 | SEG20 β LCD segment driver output 20 |
| Pin 22 | SEG21 β LCD segment driver output 21 |
| Pin 23 | SEG22 β LCD segment driver output 22 |
| Pin 24 | SEG23 β LCD segment driver output 23 |
| Pin 25 | SEG24 β LCD segment driver output 24 |
| Pin 26 | SEG25 β LCD segment driver output 25 |
| Pin 27 | SEG26 β LCD segment driver output 26 |
| Pin 28 | SEG27 β LCD segment driver output 27 |
| Pin 29 | SEG28 β LCD segment driver output 28 |
| Pin 30 | SEG29 β LCD segment driver output 29 |
| Pin 31 | SEG30 β LCD segment driver output 30 |
| Pin 32 | SEG31 β LCD segment driver output 31 |
| Pin 33 | COM0 β LCD common driver output 0 |
| Pin 34 | COM1 β LCD common driver output 1 |
| Pin 35 | COM2 β LCD common driver output 2 |
| Pin 36 | COM3 β LCD common driver output 3 |
| Pin 37 | VDD β Positive supply (3.0V to 6.0V) |
| Pin 38 | OSC1 β Crystal oscillator input |
| Pin 39 | OSC2 β Crystal oscillator output |
| Pin 40 | MCLR β Master clear reset (active low) |
| Pin 41 | RA0/AN0 β Port A bit 0 / Analog input 0 |
| Pin 42 | RA1/AN1 β Port A bit 1 / Analog input 1 |
| Pin 43 | RA2/AN2 β Port A bit 2 / Analog input 2 |
| Pin 44 | RA3/AN3 β Port A bit 3 / Analog input 3 |
| Pin 45 | RA4/T0CKI β Port A bit 4 / Timer 0 clock input |
| Pin 46 | RA5/SS β Port A bit 5 / SPI slave select |
| Pin 47 | RB0/INT β Port B bit 0 / External interrupt |
| Pin 48 | RB1 β Port B bit 1 |
| Pin 49 | RB2 β Port B bit 2 |
| Pin 50 | RB3 β Port B bit 3 |
| Pin 51 | RB4 β Port B bit 4 |
| Pin 52 | RB5 β Port B bit 5 |
| Pin 53 | RB6 β Port B bit 6 |
| Pin 54 | RB7 β Port B bit 7 |
| Pin 55 | RC0 β Port C bit 0 |
| Pin 56 | RC1 β Port C bit 1 |
| Pin 57 | RC2 β Port C bit 2 |
| Pin 58 | RC3 β Port C bit 3 |
| Pin 59 | RC4 β Port C bit 4 |
| Pin 60 | RC5 β Port C bit 5 |
| Pin 61 | RC6 β Port C bit 6 |
| Pin 62 | RC7 β Port C bit 7 |
| Pin 63 | RD0 β Port D bit 0 |
| Pin 64 | RD1 β Port D bit 1 |
| Pin 65 | RD2 β Port D bit 2 |
| Pin 66 | RD3 β Port D bit 3 |
| Pin 67 | VSS β Ground reference |
| Pin 68 | NC β Not connected (per datasheet) |
Typical Applications
PIC16C923T-04/L is suitable for 6 applications: Industrial Control Panel with Segment LCD, Appliance Front-Panel User Interface, Medical Instrument Display Module, Automotive Dashboard Sub-Display (Pre-AEC Era), Point-of-Sale Terminal Sub-Display, Telecom Equipment Status Panel.
Industrial Control Panel with Segment LCD
The PIC16C923T-04/L drives segment LCDs in industrial control panels where its on-chip LCD controller supports up to 160 segments directly without an external LCD driver IC. With 52 I/O pins the MCU can multiplex a 4x40 character display plus a 4x4 keypad matrix while still leaving pins for relay drivers, status LEDs, and an RS-485 USART link. The 4 MHz clock and 1 us instruction cycle are sufficient for menu navigation and PID loop update rates around 10 Hz. Industrial designs benefit from the watchdog timer and brown-out reset for unattended panel operation, and the wide 3.0-6.0 V supply tolerates 24 V industrial rails after regulation. Pair the MCU with a 32.768 kHz crystal for RTC time-stamping of alarm logs.
Recommended
Appliance Front-Panel User Interface
Microwave ovens, washing machines, and dishwasher front panels use the PIC16C923T-04/L to scan keypads, drive 7-segment or custom LCDs, and control appliance relays. The integrated LCD driver eliminates the need for an external HT1621 or similar segment driver, reducing BOM cost by roughly $0.50 per unit. The 176-byte RAM holds UI state, timer values, and error codes; the 7 KB OTP program memory accommodates state-machine firmware for full appliance cycles. Commercial temperature rating (0C to +70C) suits indoor appliance environments, and the 52 I/O pins handle up to 20 keys plus 7-segment LCD plus buzzer and triac drive signals.
Recommended
Medical Instrument Display Module
Portable medical instruments such as blood-pressure monitors and glucose meters use the PIC16C923T-04/L to drive segment LCDs that show measurement results, battery status, and user prompts. The on-chip LCD driver supports the high-contrast segment displays required for clinical readability, while the low-power PIC core (about 2 mA active at 4 MHz / 5 V) preserves battery life. The 52 I/O pins interface to a sensor front-end ADC, keypad, and serial EEPROM for calibration storage. The OTP memory holds validated medical firmware that cannot be accidentally altered in the field - a regulatory advantage for FDA 510(k) submissions where any firmware change requires re-validation.
Recommended
Automotive Dashboard Sub-Display (Pre-AEC Era)
Legacy automotive dashboard sub-displays and aftermarket gauges use the PIC16C923T-04/L to drive segment LCDs for odometer, trip meter, fuel level, and engine-temperature readouts. The MCU's USART links to the main ECU, the SPI bus drives companion LED indicators, and the on-chip LCD controller handles the high-segment-count dashboard display. Note that the PIC16C923T-04/L is the COMMERCIAL temperature grade (0C to +70C); for under-hood applications choose the industrial -40C to +85C variant or the AEC-Q100-qualified PIC16F946. The OTP memory prevents accidental firmware tampering on safety-relevant displays.
Recommended
Point-of-Sale Terminal Sub-Display
POS terminals and fuel-pump dispensers use the PIC16C923T-04/L as a sub-display controller for the customer-facing character LCD that shows price, volume, and total. The MCU receives display commands from the main ARM-based terminal over USART, manages keypad scanning for customer PIN entry, and drives the LCD backlight via PWM. The on-chip LCD controller eliminates a dedicated segment-driver IC, the OTP memory holds fixed firmware that cannot be tampered with at the pump, and the 52 I/O pins handle both the LCD and the keypad matrix without an I/O expander. The commercial temperature rating is adequate for indoor retail environments.
Recommended
Telecom Equipment Status Panel
Network switches, routers, and PBX systems use the PIC16C923T-04/L to drive front-panel segment LCDs that show port status, link speed, and system alarms. The MCU polls the host CPU over I2C or SPI, formats the LCD content, and drives the segment display directly. The on-chip LCD controller supports the high segment count needed for a 2-line x 16-character alphanumeric display, while the 52 I/O pins handle individual port LEDs. The OTP memory holds fixed firmware that complies with carrier certification requirements, and the commercial temperature rating suits climate-controlled telecom closets.
Recommended
Recommended Products Summary
Engineering reference data for PIC16C923T-04/L β comparison, design guidance, and compliance information.
Selection Guide
Comparison with Alternatives
| Parameter | This Product | PIC16C923-04/L | PIC16C923-08I/L | PIC16C923T-04I/PT |
|---|---|---|---|---|
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Package | 68-PLCC | 68-PLCC | 68-PLCC | TQFP-64 |
| Maximum Clock Frequency | 4 MHz | 4 MHz | 8 MHz | 4 MHz |
| Program Memory | 7 KB OTP | 7 KB OTP | 7 KB OTP | 7 KB OTP |
| Data RAM | 176 bytes | 176 bytes | 176 bytes | 176 bytes |
| I/O Pins | 52 | 52 | 52 | 52 |
| Temperature Range | 0C to +70C (Commercial) | 0C to +70C (Commercial) | -40C to +85C (Industrial) | -40C to +85C (Industrial) |
| LCD Driver | Yes (160 segments) | Yes (160 segments) | Yes (160 segments) | Yes (160 segments) |
| Shipping Format | Tube | Tube | Tube | Tape & Reel |
| Unit Price (qty 1) | $14.50 | ~$14.20 | ~$15.80 | ~$15.10 |
Key Differentiators
- Integrated LCD segment driver up to 160 segments (vs PIC16F877A (no LCD driver))
- 52 I/O pins in 68-PLCC package (vs PIC16F873 (28 pins))
- Commercial-temperature 0C to +70C variant (vs PIC16C923-04I/L (industrial -40C to +85C))
Design Notes
OTP memory cannot be erased or re-programmed. A single failed bit during programming bricks the part permanently. Always program at least 2-3 prototype units first and verify read-back with the PIC programmer's verify function before committing to production volumes. Keep programming voltage and timing strictly per the Microchip PIC16C923 programming specification - deviations of more than 5% on VPP (typically 13.2 V) cause unreliable programming.
Place a 100 nF ceramic decoupling capacitor within 5 mm of each VDD/VSS pin pair, plus a bulk 10 uF tantalum or aluminum capacitor on the main 5 V rail. The on-chip LCD charge pump generates switching currents up to 5 mA per COM line; inadequate decoupling shows up as ghosting or contrast variation on the LCD. For battery-powered designs, switch the LCD charge pump off in sleep mode to drop quiescent current below 5 uA.
Route the LCD segment and common signals as short, parallel traces away from the oscillator and any PWM or relay-switching signals. The 68-PLCC package has short internal bond wires, so PCB-side EMI control is critical. Keep the 4 MHz crystal within 10 mm of OSC1/OSC2 and guard the traces with a ground pour. For noisy industrial environments, add a 100 ohm resistor in series with MCLR to suppress ESD-induced resets.
Compliance Information
PIC16C923T-04/L is a legacy OTP part typically supplied with Pb-bearing terminal finish. RoHS-compliant variants are not generally offered; for RoHS-compliant equivalents use PIC16F926 or PIC16F946. AEC-Q100 not qualified - the part is commercial temperature grade only.