Skip to content

petrkr/SegLCDLib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

369 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SegLCDLib

Arduino library for segment LCD displays. Provides abstract interface, controller drivers (PCF85176/HT1621/HT1622/VK0192), and implementations for common displays.

Quick Start

#include "SegLCD_HT1621_4SegDegree.h"

SegTransport3WireArduino transport(6, 5);  // DATA, WR pins
SegLCD_HT1621_4SegDegree lcd(transport, 7);  // CS pin

void setup() {
    lcd.init();
}

void loop() {
    lcd.setCursor(0, 0);
    lcd.print(25);        // Display: 25
    delay(1000);
}

Documentation

Supported Controllers

Controller Protocol Pins Max Digits
PCF85176 I2C 2 13
PCF8576 I2C 2 13
HT1621 3-wire 3 6
HT1622 3-wire 3 10+
VK0192 3-wire 3 5

Featured Displays

See Supported LCDs for full catalog.

Display Controller Features
Temperature/Humidity PCF85176 6-digit, icons
6-Digit Signal/Battery PCF85176 Signal bars, battery, progress
2x4-Digit Sig/Bat/Power PCF85176 2 rows, signal, battery, power
4-Digit with Degree HT1621 Colon, degree symbol
6-Digit with Battery HT1621 Battery indicator
LCM0844 HT1621 8 digits, labels, battery/load
LCM88128 HT1621 8 digits, labels, battery/load/PV
LCM59011 HT1621 4 digits, colon, wifi, battery, symbols
10-Digit 16-Segment HT1622 Enhanced segments
5-Digit Signal/Battery VK0192 Advanced controller

Installation

Versioning

Versions 0.0.x are preview releases. API and behavior may still change, including breaking changes, without a major or minor version bump.

Arduino Library Manager

  1. SketchInclude LibraryManage Libraries
  2. Search SegLCDLib
  3. Click Install

Manual

  1. Download: https://github.com/petrkr/SegLCDLib
  2. Copy to Arduino/libraries/SegLCDLib
  3. Restart Arduino IDE

Examples

17 complete examples in examples/ directory:

  • PCF85176: 7 examples (RawLCD, TempHum, 2Row4DigSigBatPwr, etc.)
  • HT1621: 6 examples (4DigDeg, 6DigBat, LCM0844, LCM59011, LCM88128, RawLCD)
  • HT1622: 2 examples (10Digit16Segment, RawLCD)
  • VK0192: 1 example (5DigSigBatProg)
  • PCF8576: 1 example (4Seg6SegMaintSegBatUnits)

Features

  • Abstract Interface: Consistent LCD API 1.0 (Arduino LCD standard)
  • Multiple Protocols: I2C (PCF85176) and 3-wire serial (HT1621/1622/VK0192)
  • RAM Efficient: Buffered writes, minimal memory overhead
  • Print Compatibility: Inherits from Print class for print()/println()
  • Flexible: Easy to add support for new displays

Architecture

Application Code
    ↓
SegLCDLib Base (LCD API 1.0)
    ↓
Controller Driver (PCF85176, HT1621, etc.)
    ↓
LCD Implementation (display-specific)
    ↓
Hardware (I2C / 3-wire serial)

See Architecture for details.

Support

About

Library for segment LCD. Including drivers and some LCD display implementations

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages