PIC16C923-04I/L - 8-bit OTP MCU, 7KB EPROM, LCD Driver | Microchip
MPN: PIC16C923-04I/L β End of Life| Qty | Unit Price | Extended |
|---|---|---|
| 1 | $6.95 | $6.95 |
| 10 | $6.2 | $62.00 |
| 100 | $5.4 | $540.00 |
| 500 | $4.75 | $2,375.00 |
| 1,000 | $4.1 | $4,100.00 |
PIC16C923-04I/L Overview
An 8-bit microcontroller (MCU) is a single-chip computer that integrates a CPU, program memory, data RAM, I/O peripherals, and timers on one die, executing one byte (8 bits) of data per instruction. The PIC16C923-04I/L belongs to the hypernym hierarchy: microcontroller -> embedded controller -> RISC microcontroller -> OTP (One-Time Programmable) microcontroller -> CMOS 8-bit MCU. This taxonomy reflects the part's position in the broader semiconductor and embedded-system product tree.
Key features include an integrated LCD driver capable of driving 32 segments and 4 commons, a synchronous serial port configurable as either 3-wire SPI or 2-wire I2C, a 14-bit instruction word with 8-level hardware stack, and an operating voltage range of 2.5 V to 6.0 V. The 68-pin PLCC package (case style L, industrial temperature grade -40C to +85C) supports designs that require a socketed, easily-programmable LCD-capable controller.
The PIC16C923-04I/L is built on Microchip's enhanced PIC 16C core architecture, featuring Harvard-style separate program and data buses for deterministic single-cycle execution. The integrated LCD module supports static, 1/2, 1/3, and 1/4 duty cycles with multiple bias modes, eliminating the need for an external LCD driver and reducing BOM cost in glass-display products.
Typical applications include consumer electronics with LCD displays (microwave ovens, washing machines, thermostats), industrial control panels, instrumentation with segment displays, and any cost-sensitive human-machine interface that benefits from on-chip LCD bias generation. The OTP program memory is ideal for mature, low-cost, high-volume production runs where field firmware updates are not required.
When designing with this device, note that OTP memory cannot be electrically erased - prototype code on a windowed (JW) variant for development, then move to the L (PLCC) package for production. The 500 ns instruction cycle supports instruction execution at up to 4 MHz; for higher speed requirements consider PIC16C925 (8 MHz) or PIC16C924 family members with more RAM.
Drop-in alternatives for PIC16C923-04I/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 PIC16C923-04I/L (same form factor and footprint) β differing in LCD Driver, Operating Temperature, Program Memory Type, Timers, Core Architecture.
Quick Comparison Tool β Select alternative parts for side-by-side comparison:
PIC16C925-I/L
β Drop-Inβ In Stock
$4.85 / Unit
View Datasheet βPIC16C923-04/L
β Drop-Inπ Reference alternative (not in catalog)
PIC16C923T-04I/L
β Drop-Inβ In Stock
$5.31 / Unit
View Datasheet βPIC16C924-04I/L
β Drop-Inβ In Stock
$2.85 / Unit
View Datasheet βPIC16C923/JW
β Drop-Inπ Reference alternative (not in catalog)
PIC16F946-I/L
β Drop-Inπ Reference alternative (not in catalog)
PIC16C923-04I/L Maximum Ratings & Electrical Characteristics
| Program Memory Size | 7 KB (4K x 14) EPROM (OTP) |
| RAM Size | 176 bytes |
| Number of I/O Pins | 52 |
| CPU Architecture | 8-bit RISC PIC16C |
| Instruction Set Size | 35 single-word instructions |
| Instruction Cycle Time | 500 ns at 4 MHz |
| Maximum Clock Frequency | 4 MHz |
| Package / Case | 68-pin PLCC (J-Lead, 'L' suffix) |
| Operating Voltage | 2.5 V to 6.0 V |
| Operating Temperature | -40C to +85C (Industrial) |
| LCD Driver | Integrated, up to 32 segments x 4 commons |
| Serial Interface | Synchronous SSP (SPI / I2C configurable) |
| Timers | 3 (TMR0, TMR1, TMR2) |
| Program Memory Type | OTP (One-Time Programmable) EPROM |
| Mounting Type | Surface Mount (PLCC socket compatible) |
| RoHS Status | Non-RoHS (legacy OTP process) |
PIC16C923-04I/L Pin Configuration
| Pin 1 | SEG0 β LCD segment output 0 |
| Pin 2 | SEG1 β LCD segment output 1 |
| Pin 3 | SEG2 β LCD segment output 2 |
| Pin 4 | SEG3 β LCD segment output 3 |
| Pin 5 | SEG4 β LCD segment output 4 |
| Pin 6 | SEG5 β LCD segment output 5 |
| Pin 7 | SEG6 β LCD segment output 6 |
| Pin 8 | SEG7 β LCD segment output 7 |
| Pin 9 | SEG8 β LCD segment output 8 |
| Pin 10 | SEG9 β LCD segment output 9 |
| Pin 11 | SEG10 β LCD segment output 10 |
| Pin 12 | SEG11 β LCD segment output 11 |
| Pin 13 | SEG12 β LCD segment output 12 |
| Pin 14 | SEG13 β LCD segment output 13 |
| Pin 15 | SEG14 β LCD segment output 14 |
| Pin 16 | SEG15 β LCD segment output 15 |
| Pin 17 | SEG16 β LCD segment output 16 |
| Pin 18 | SEG17 β LCD segment output 17 |
| Pin 19 | SEG18 β LCD segment output 18 |
| Pin 20 | SEG19 β LCD segment output 19 |
| Pin 21 | SEG20 β LCD segment output 20 |
| Pin 22 | SEG21 β LCD segment output 21 |
| Pin 23 | SEG22 β LCD segment output 22 |
| Pin 24 | SEG23 β LCD segment output 23 |
| Pin 25 | VDD β Positive supply voltage |
| Pin 26 | VSS β Ground reference |
| Pin 27 | OSC1 β Oscillator input |
| Pin 28 | OSC2 β Oscillator output |
| Pin 29 | MCLR β Master clear reset (active low) |
| Pin 30 | COM0 β LCD common output 0 |
| Pin 31 | COM1 β LCD common output 1 |
| Pin 32 | COM2 β LCD common output 2 |
| Pin 33 | COM3 β LCD common output 3 |
| Pin 34 | RA0 β Port A bit 0 (digital I/O) |
| Pin 35 | RA1 β Port A bit 1 (digital I/O) |
| Pin 36 | RA2 β Port A bit 2 (digital I/O) |
| Pin 37 | RA3 β Port A bit 3 (digital I/O) |
| Pin 38 | RA4 β Port A bit 4 (digital I/O, T0CKI) |
| Pin 39 | RA5 β Port A bit 5 (digital I/O) |
| Pin 40 | RB0 β Port B bit 0 (digital I/O, INT) |
| Pin 41 | RB1 β Port B bit 1 (digital I/O) |
| Pin 42 | RB2 β Port B bit 2 (digital I/O) |
| Pin 43 | RB3 β Port B bit 3 (digital I/O) |
| Pin 44 | RB4 β Port B bit 4 (digital I/O) |
| Pin 45 | RB5 β Port B bit 5 (digital I/O) |
| Pin 46 | RB6 β Port B bit 6 (digital I/O, ICSCLK) |
| Pin 47 | RB7 β Port B bit 7 (digital I/O, ICSDAT) |
| Pin 48 | RC0 β Port C bit 0 (digital I/O) |
| Pin 49 | RC1 β Port C bit 1 (digital I/O) |
| Pin 50 | RC2 β Port C bit 2 (digital I/O) |
| Pin 51 | RC3 β Port C bit 3 (digital I/O, SCL) |
| Pin 52 | RC4 β Port C bit 4 (digital I/O, SDA) |
| Pin 53 | RC5 β Port C bit 5 (digital I/O, SDO) |
| Pin 54 | RC6 β Port C bit 6 (digital I/O, TX) |
| Pin 55 | RC7 β Port C bit 7 (digital I/O, RX) |
| Pin 56 | RD0 β Port D bit 0 (digital I/O) |
| Pin 57 | RD1 β Port D bit 1 (digital I/O) |
| Pin 58 | RD2 β Port D bit 2 (digital I/O) |
| Pin 59 | RD3 β Port D bit 3 (digital I/O) |
| Pin 60 | RD4 β Port D bit 4 (digital I/O) |
| Pin 61 | RD5 β Port D bit 5 (digital I/O) |
| Pin 62 | RD6 β Port D bit 6 (digital I/O) |
| Pin 63 | RD7 β Port D bit 7 (digital I/O) |
| Pin 64 | RE0 β Port E bit 0 (digital I/O) |
| Pin 65 | RE1 β Port E bit 1 (digital I/O) |
| Pin 66 | RE2 β Port E bit 2 (digital I/O) |
| Pin 67 | RF0 β Port F bit 0 (digital I/O) |
| Pin 68 | RF1 β Port F bit 1 (digital I/O) |
Typical Applications
PIC16C923-04I/L is suitable for 6 applications: Consumer Appliance LCD Control Panels, Thermostat and HVAC Display Controllers, Industrial Instrumentation Front Panels, Automotive Dashboard Cluster Sub-Controllers, Medical Device Segment Displays, Vending Machine Payment/Display Modules.
Consumer Appliance LCD Control Panels
The PIC16C923-04I/L is well-suited to consumer appliance control panels in microwaves, washing machines, and refrigerators because its integrated LCD driver directly supports 32 segments x 4 commons (128 pixels) without external bias circuitry. The 4 MHz instruction cycle executes menu-driven UI updates fast enough to keep button-press latency under 100 ms. The OTP EPROM is acceptable for mature, high-volume appliance production where firmware is fixed at release.
Recommended
Thermostat and HVAC Display Controllers
Wall-mounted thermostats and HVAC controllers benefit from the PIC16C923-04I/L's on-chip LCD driver, which eliminates the need for an external HT1621 or similar segment driver. The 52 I/O pins allow direct connection to keypad matrices, temperature sensors (NTC or digital like the MCP9808), and relay outputs. Industrial temperature range -40C to +85C ensures reliable operation in unheated equipment closets and outdoor enclosures.
Recommended
Industrial Instrumentation Front Panels
Bench-top multimeters, process calibrators, and laboratory instruments use the PIC16C923-04I/L as a low-cost front-panel controller because it drives segment LCDs while also communicating over SPI or I2C to a main measurement ADC. The 176-byte RAM holds live readings, calibration constants, and menu state. The synchronous serial port (SSP) configurable as SPI or I2C enables direct connection to 4-digit or 8-digit display ADCs without glue logic.
Recommended
Automotive Dashboard Cluster Sub-Controllers
Within automotive dashboard clusters (legacy platforms), the PIC16C923-04I/L serves as a sub-controller for odometer displays, gear-position indicators, and trip computer readouts. Its 52 I/O lines support direct keypad switches and LED backlight drivers, and the wide operating voltage range (2.5-6.0 V) tolerates 12 V automotive battery transients after external regulation. Note: new automotive designs should use AEC-Q100-qualified PIC16F families instead.
Recommended
Medical Device Segment Displays
Non-critical medical devices such as blood-pressure monitors, digital thermometers, and infusion-pump segment displays leverage the PIC16C923-04I/L's LCD driver and low-power 2.5 V operation. The 500 ns instruction cycle is more than adequate for slow human-interface updates, and the integrated SSP port supports I2C communication with blood-pressure sensor ASICs. Use in non-life-critical Class I/II devices only; life-support equipment requires validated MCU families.
Recommended
Vending Machine Payment/Display Modules
Vending and ticketing machines use the PIC16C923-04I/L to drive the price/credit LCD segment displays, scan keypad input, and communicate over SPI with the bill/coin acceptor. The OTP EPROM keeps the BOM cost low in price-sensitive high-volume deployments. The 68-pin PLCC package supports socketed field-replacement during maintenance, simplifying service operations across deployed fleets.
Recommended
Recommended Products Summary
Engineering reference data for PIC16C923-04I/L β comparison, design guidance, and compliance information.
Selection Guide
Comparison with Alternatives
| Parameter | This Product | PIC16C925-I/L | PIC16C923-04/L | PIC16C923T-04I/L | PIC16C924-04I/L | PIC16C923/JW | PIC16F946-I/L |
|---|---|---|---|---|---|---|---|
| Brand | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology | Microchip Technology |
| Package | 68-pin PLCC (L) | 68-pin PLCC (L) - same | 68-pin PLCC (L) - same | 68-pin PLCC (L) - same | 68-pin PLCC (L) - same | 68-pin CERDIP windowed (JW) | 68-pin PLCC (L) - same |
| Max Clock Frequency | 4 MHz | 8 MHz | 4 MHz | 4 MHz | 4 MHz | 4 MHz | 20 MHz |
| Program Memory | 7 KB OTP EPROM | 7 KB OTP EPROM | 7 KB OTP EPROM | 7 KB OTP EPROM | 7 KB OTP EPROM | 7 KB EPROM (UV-erasable) | 14 KB Flash |
| RAM | 176 bytes | 176 bytes | 176 bytes | 176 bytes | 192 bytes | 176 bytes | 336 bytes |
| LCD Driver | 32 seg x 4 com | 32 seg x 4 com | 32 seg x 4 com | 32 seg x 4 com | 32 seg x 4 com | 32 seg x 4 com | 42 seg x 4 com |
| I/O Pins | 52 | 52 | 52 | 52 | 52 | 52 | 53 |
| Operating Temperature | -40C to +85C (Industrial) | -40C to +85C | 0C to +70C (Commercial) | -40C to +85C | -40C to +85C | -40C to +85C | -40C to +85C |
| Memory Type | OTP EPROM | OTP EPROM | OTP EPROM | OTP EPROM | OTP EPROM | Windowed EPROM (UV-erasable) | Flash (reprogrammable) |
| RoHS Compliance | Non-RoHS | Non-RoHS | Non-RoHS | Non-RoHS | Non-RoHS | Non-RoHS | RoHS compliant |
Key Differentiators
- Higher maximum clock speed (8 MHz vs 4 MHz) in same package (vs PIC16C925-I/L)
- Reprogrammable Flash memory instead of OTP (vs PIC16F946-I/L)
- UV-erasable windowed EPROM for development (vs PIC16C923/JW)
Design Notes
The PIC16C923-04I/L is OTP (One-Time Programmable). Once the EPROM is programmed, it cannot be electrically erased - only UV-erasable windowed (JW) variants allow re-programming. For prototype development, build with the PIC16C923/JW (CERDIP windowed) package on a development board first, then transition the validated firmware to the OTP L-package parts for production. Programming errors on OTP parts result in scrapped inventory.
The PIC16C923-04I/L operates from 2.5 V to 6.0 V. The internal LCD charge-pump bias generator draws additional current proportional to the display multiplex duty cycle and segment count - a fully-loaded 32-segment x 4-common display at 1/4 duty can add 200-400 uA. Decouple VDD with a 0.1 uF ceramic capacitor close to the IC pins, plus a bulk 10 uF electrolytic at the board power entry. For battery-powered designs, consider the PIC16F946 with its nanoWatt sleep modes instead.
Route the oscillator traces (OSC1, OSC2) as short as possible and keep them away from the LCD segment traces to avoid clock-noise coupling onto the display. The 68-pin PLCC package should be socketed in production designs to allow field replacement; use a machined-pin socket (e.g., 3M Textool) for reliability. Place a guard ring around the analog AVdd/AVss pins if used and route LCD backplane (COM) traces with sufficient width to handle the AC bias current.
Estimated: at 5 V supply and 4 MHz clock with full LCD load, the PIC16C923-04I/L typically draws 2-5 mA active current, dissipating roughly 10-25 mW. The 68-pin PLCC package has ample thermal headroom for this dissipation; no heatsink or thermal vias are required. Verify the design under worst-case ambient temperature (85C industrial) and maximum I/O loading to confirm junction temperature stays within Microchip's published spec.
Compliance Information
Legacy OTP EPROM process uses non-RoHS lead finish. Not AEC-Q100 qualified - new automotive designs should use PIC16F families. Reach/halogen/conflict-mineral status not stated in available distributor data - use [DATA_NEEDED] for missing fields.