SegLCDLib
Loading...
Searching...
No Matches
Supported LCD Displays

All displays use segment LCD technology controlled by I2C or 3-wire serial protocol. Select by controller type and application.


PCF85176 (I2C) Displays

RAW LCD

Purpose: Testing and debugging new LCD implementations

  • Type: Test harness
  • Wiring: I2C only (2 pins: SDA, SCL)
  • Features: Send raw segment data directly to controller
  • Use Case: Prototype new displays before creating dedicated driver
  • Example: examples/PCF85176/RawLCD/

6-Digit Signal/Battery/Progress

Specifications:

  • Digits: 6 7-segment digits
  • Features: Signal strength (4 bars), Battery level (3 states), Progress indicator
  • Wiring: I2C (SDA, SCL)
  • I2C Address: 0x38 (SA0=0) or 0x39 (SA0=1)
  • Controller: PCF85176
  • Image:
  • Example: examples/PCF85176/6DigSigBattProgress/
  • Purchase: https://aliexpress.com/item/1005009214559485.html

Code Example:

SegLCD_PCF85176_6DigSigBattProgress lcd(Wire);
lcd.init();
lcd.setCursor(0, 0);
lcd.print(123456);
lcd.setSignal(3); // 3 of 4 bars
lcd.setBattery(2); // Medium battery
PCF85176 driver for 6-digit LCD with signal/battery/progress.

2-Row 4-Digit Signal/Battery/Power

Specifications:

  • Digits: 2 rows × 4 digits
  • Features: Signal (1 bit), Battery (4 levels), Power icon
  • Wiring: I2C (SDA, SCL)
  • I2C Address: 0x38 (SA0=0) or 0x39 (SA0=1)
  • Controller: PCF85176
  • Image:
  • Example: examples/PCF85176/2Row4DigSigBatPwr/

Code Example:

lcd.init();
lcd.setCursor(0, 0);
lcd.print(1234);
lcd.setCursor(1, 0);
lcd.print(5678);
lcd.setSignalLevel(1);
lcd.setBatteryLevel(4);
lcd.setPowerSymbol(true);
PCF85176 driver for 2-row 4-digit LCD with signal/battery/power.
Definition SegLCD_PCF85176_2Row4DigSigBatPwr.h:13

One Digit (Up to 5 Segments)

Specifications:

  • Digits: 1 custom segment display
  • Features: Customizable segment layout (up to 5 segments)
  • Wiring: I2C (SDA, SCL)
  • I2C Address: 0x38 (SA0=0) or 0x39 (SA0=1)
  • Controller: PCF85176
  • Image:
  • Example: examples/PCF85176/OneDigit/
  • Purchase: https://aliexpress.com/item/1005005410565386.html

Temperature/Humidity

Specifications:

  • Digits: 6 7-segment digits
  • Features: Temperature and humidity symbols
  • Wiring: I2C (SDA, SCL)
  • I2C Address: 0x38 (SA0=0) or 0x39 (SA0=1)
  • Controller: PCF85176
  • Image:
  • Example: examples/PCF85176/TempHumidity/
  • Purchase: https://aliexpress.com/item/1005003044283980.html

Code Example:

SegLCD_PCF85176_TempHum lcd(Wire);
lcd.init();
lcd.setCursor(0, 0); // Temperature row
lcd.print(23); // 23°C
lcd.setCursor(1, 0); // Humidity row
lcd.print(45); // 45%
PCF85176 driver for temperature/humidity LCD.

T1T2 LCD

Specifications:

  • Layout: 3-row display (Clock, T1 Label, T2 Label)
  • Features: Multi-zone control for temperature sensors
  • Wiring: I2C (SDA, SCL)
  • I2C Address: 0x38 (SA0=0) or 0x39 (SA0=1)
  • Controller: PCF85176
  • Image:
  • Example: examples/PCF85176/T1T2Lcd/

4DR821B / 4DT821B (Tesla)

Specifications:

  • Segments: Custom Tesla dashboard display
  • Features: Multiple symbol zones
  • Wiring: I2C (SDA, SCL)
  • I2C Address: 0x38 (SA0=0) or 0x39 (SA0=1)
  • Controller: PCF85176
  • Image:
  • Reference: https://www.teslakatalog.cz/4DR821B.html
  • Example: examples/PCF85176/4DR821B/

4+6 Digit Maint/Bat/Sig/Units

Specifications:

  • Digits: 4 digits (main) + 6 digits (status)
  • Features: Maintenance, Battery, Signal, Unit symbols
  • Wiring: I2C (SDA, SCL)
  • Controller: PCF8576 (enhanced variant)
  • Image:
  • Example: examples/PCF8576/4Seg6SegMaintSegBatUnits/
  • Purchase: https://aliexpress.com/item/1005009599538480.html

HT1621 (3-Wire Serial) Displays

4-Digit with Degree Symbols

Specifications:

  • Digits: 4 7-segment digits
  • Features: Degree symbol, Colon for time display
  • Wiring: 3 pins (CLK, DATA, CS) + Power + GND
  • Protocol: 3-wire serial
  • Controller: HT1621 (integrated in module)
  • Image:
  • Example: examples/HT1621/4DigDeg/
  • Purchase: https://aliexpress.com/item/1005009301473702.html

Code Example:

// Pin configuration
const int CLK = 5, DATA = 6, CS = 7;
SegLCD_HT1621_4SegDegree lcd(CLK, DATA, CS);
lcd.init();
lcd.setCursor(0, 0);
lcd.print(25); // Display "25°"
HT1621 driver for 4-digit LCD with degree symbol and colon.
4-digit 7-segment LCD with degree symbol and colon (HT1621).
Definition SegLCD_HT1621_4SegDegree.h:19

Wiring Example (Arduino Uno):

HT1621 Module → Arduino
CLK → Pin 5
DATA → Pin 6
CS (chip sel) → Pin 7
VCC → 3.3V or 5V
GND → GND

6-Digit with Battery

Specifications:

  • Digits: 6 7-segment digits
  • Features: Battery level indicator (3-4 states)
  • Wiring: 3 pins (CLK, DATA, CS) + Power + GND
  • Protocol: 3-wire serial
  • Controller: HT1621 (integrated)
  • Image:
  • Example: examples/HT1621/6DigBat/
  • Purchase: https://aliexpress.com/item/1005005555160141.html

Code Example:

const int CLK = 5, DATA = 6, CS = 7;
SegLCD_HT1621_6SegBat lcd(CLK, DATA, CS);
lcd.init();
lcd.print(123456);
lcd.setBattery(2); // Medium battery
HT1621 driver for 6-digit LCD with battery indicator.
6-digit 7-segment LCD with battery indicator (HT1621).
Definition SegLCD_HT1621_6SegBat.h:19

LCM0844

Specifications:

  • Digits: 8 7-segment digits
  • Features: Left/right units, status labels, battery/load indicators, power-flow symbols
  • Wiring: 3 pins (CLK, DATA, CS) + Power + GND
  • Protocol: 3-wire serial
  • Controller: HT1621 (integrated)
  • Image:
  • Example: examples/HT1621/LCM0844/
  • Purchase: https://www.aliexpress.com/item/1005010575036798.html

Code Example:

const int CLK = 5, DATA = 6, CS = 7;
SegLCD_HT1621_LCM0844 lcd(CLK, DATA, CS);
lcd.init();
lcd.print("12.34");
lcd.setBatteryLevel(4);
lcd.setLoadLevel(3);
HT1621 driver for 6-digit LCD with battery indicator.
LCM0844 LCD (HT1621).
Definition SegLCD_HT1621_LCM0844.h:16

LCM88128

Specifications:

  • Digits: 8 7-segment digits
  • Features: Left/right units, status labels, battery/load/PV indicators, power-flow symbols
  • Wiring: 3 pins (CLK, DATA, CS) + Power + GND
  • Protocol: 3-wire serial
  • Controller: HT1621 (integrated)
  • Image:
  • Example: examples/HT1621/LCM88128/
  • Purchase: https://www.aliexpress.com/item/1005010569015863.html

Code Example:

const int CLK = 5, DATA = 6, CS = 7;
SegLCD_HT1621_LCM88128 lcd(CLK, DATA, CS);
lcd.init();
lcd.print("12.34");
lcd.setPVLevel(4);
lcd.setBatteryLevel(3);
lcd.setLoadLevel(2);
HT1621 driver for LCM88128 LCD with battery, PV panel, and diagram indicators.
LCM88128 LCD (HT1621).
Definition SegLCD_HT1621_LCM88128.h:17
@ SYMBOL_LINE_WIND_TO_ACDC
Definition SegLCD_HT1621_LCM88128.h:112
@ UNIT_RIGHT_VOLT
Definition SegLCD_HT1621_LCM88128.h:47

LCM59011

Specifications:

  • Digits: 4 7-segment digits
  • Features: Colon, wifi signal, battery indicator, MCB label, units, status symbols
  • Wiring: 3 pins (CLK, DATA, CS) + Power + GND
  • Protocol: 3-wire serial
  • Controller: HT1621 (integrated)
  • Image:
  • Example: examples/HT1621/LCM59011/

Code Example:

const int CLK = 5, DATA = 6, CS = 7;
SegLCD_HT1621_LCM59011 lcd(CLK, DATA, CS);
lcd.init();
lcd.print("12:3");
lcd.setSignalLevel(4);
lcd.setBatteryLevel(5);
HT1621 driver for LCM59011 4-digit LCD with wifi/battery/misc symbols.
LCM59011 LCD (HT1621).
Definition SegLCD_HT1621_LCM59011.h:26
@ UNIT_PERCENT
Definition SegLCD_HT1621_LCM59011.h:31
@ LABEL_MCB
Definition SegLCD_HT1621_LCM59011.h:36
@ SYMBOL_ECO
Definition SegLCD_HT1621_LCM59011.h:42
@ SYMBOL_BLUETOOTH
Definition SegLCD_HT1621_LCM59011.h:47

RAW LCD (HT1621)

Purpose: Testing and prototyping with HT1621

  • Type: Test harness
  • Wiring: 3-wire serial (CLK, DATA, CS)
  • Features: Send raw segment data to HT1621
  • Example: examples/HT1621/RawLCD/

HT1622 (3-Wire Serial, Enhanced)

10-Digit 16-Segment Display

Specifications:

  • Digits: 10 digits with 16-segment layout
  • Features: Enhanced segment capability (alphanumeric capable)
  • Wiring: 3 pins (CLK, DATA, CS) + Power + GND
  • Protocol: 3-wire serial (4μs timing)
  • Controller: HT1622 (integrated, larger RAM)
  • Image:
  • Example: examples/HT1622/10Digit16SegmentLCD/
  • Purchase: https://aliexpress.com/item/1005003062619251.html

RAW LCD (HT1622)

Purpose: Testing and prototyping with HT1622

  • Type: Test harness
  • Wiring: 3-wire serial (CLK, DATA, CS)
  • Features: Send raw segment data to HT1622
  • Timing: Requires 4μs pulse width
  • Example: examples/HT1622/RawLCD/

VK0192 (3-Wire Serial)

5-Digit Signal/Battery/Progress

Specifications:

  • Digits: 5 7-segment digits
  • Features: Signal bars (4), Battery level (3), Progress indicator
  • Wiring: 3 pins (CLK, DATA, CS) + Power + GND
  • Protocol: 3-wire serial (4μs timing)
  • Controller: VK0192 (24×8 bit RAM, irregular addressing)
  • Image:
  • Example: examples/VK0192/5DigSigBattProgress/
  • Purchase: https://aliexpress.com/item/1005009000021475.html

Code Example:

#include "SegLCD_VK0192_5SegSigBatProg.h"
const int CLK = 5, DATA = 6, CS = 7;
SegLCD_VK0192_5SegSigBatProg lcd(CLK, DATA, CS);
lcd.init();
lcd.print(12345);
lcd.setSignal(3); // 3 of 4 bars
lcd.setBattery(1); // Low battery

Quick Comparison

Controller Protocol Pins I2C Addr Examples Complexity
PCF85176 I2C 2 0x38/0x39 7 Simple
PCF8576 I2C 2 0x38/0x39 1 Simple
HT1621 3-wire 3 N/A 4 Medium
HT1622 3-wire 3 N/A 2 Medium
VK0192 3-wire 3 N/A 1 Advanced

Adding a New Display

Don't see your LCD? Follow the Adding New LCD guide to create support for any segment display.

Resources