Liquid Crystal
Introduction

Welcome to the LCD Library for Arduino and Chipkit. It is a derivate of the original LiquidCrystal Library as sourced in the Arduino SDK. It has been developed to be compatible with the current LiquidCrystal library, its performance is almost 5 times faster and fully extendable if need be.
It supports most Hitachi HD44780
based LCDs, or compatible, connected to any project using: 4, 8
wire parallel interface, I2C IO port expander (native I2C and bit bang) and Shift Register.
It currently supports 4 types of connections:
4 bit parallel LCD interface
8 bit parallel LCD interface
I2C IO bus expansion board with the PCF8574* I2C IO expander ASIC such as I2C LCD extra IO.
ShiftRegister adaptor board as described Shift Register project home or in the HW configuration described below, 2 and 3 wire configurations supported.
ShiftRegister 3 wire latch adaptor board as described ShiftRegister 3 Wire Home
Support for 1 wire shift register ShiftRegister 1 Wire
I2C bus expansion using general purpose IO lines.
How do I get set up?
Please refer to the project’s wiki
Contributors
The library has had the invaluable contribution of:
piccaso - Florian Fida - Flo, thanks for testing and improving the SR library, initial version of the 1 wire interface and speed improvements.
Perry - bperrybap@opensource.billsworld.billandterrie.com, with his thoughtful contribution, speed improvements and development support for the SR2W library.
Adrian Piccioli, with his contribution to the i2c GPIO support.
todbot Tod E. Kurt for the softwarei2cmaster library.
felias-fogg - Bernhard for the softwarei2cmaster fast
Contribution guidelines
Writing tests
Code review
Help out with bug fixing
Setup a project logo
Write new drivers to support more LCDs.
Who do I talk to?
Repo owner or admin
For SoftI2CMaster latest versions, updates and support, please refer to SoftI2CMaster
References
Used by
Liquid Crystal 44780 Sample
MeteoControl Sample
SoC support
esp32
esp32c2
esp32c3
esp32s2
esp32s3
esp8266
host
rp2040
rp2350