Skip to content
niwciu edited this page Feb 13, 2025 · 17 revisions

lcd_hd44780_header

General description

GitHub License GitHub top language GitHub Release GitHub branch check runs CI Pipeline

Library GCOVR Report
Library Code Complexity Report

A simple, configurable, cross-platform C library, that allows you to drive any display equipped with an HD44780 driver. Library is completely separated from driver layer so can be used to drive LCD directly with GPIO or through SPI or I2C interface. The library contains ready-to-run examples for different platforms, as well as templates for driver interfaces that speed up integration process with your projects.


Implemented features

  • Initialize & control LCD to work in 4-bit mode
  • With proper driver interface can control LCD using GPIO pins or I2C or SPI interface
  • One-direction or bi-direction communication with LCD (predefined time slots or LCD RW pin usage)
  • Easy to port on different microcontrollers
  • Contain examples of porting to STM32, AVR, ESP8266
  • Allows to display strings/chars directly on LCD
  • Allows to put strings/chars in buffer and refresh LCD periodically with buffer content
  • Allows to define custom chars (more than 8) as well as custom char banks where different combinations of custom characters can be easily loaded to LCD CGRAM
  • Contain functions for displaying on LCD int values as a string representing:
    • int format
    • hex format
    • bin format
  • The library has currently predefined following LCD types:
    • 1 line 8 characters (801)
    • 2 line 8 characters (802)
    • 2 lines 16 characters (1602)
    • 2 lines 20 characters (2002)
    • 4 lines 16 characters (1604)
    • 4 lines 20 characters (2004)
  • Allows to configure and compile only functionality that will be needed in the project
  • Allows to control LCD backlight

ToDo features

  • driver interface examples for SPI mode
  • driver interface examples for I2C mode