A C++ Library for Linux based single board computers ( sbc ) to drive electronic displays. Developed and tested on Raspberry pi (5, 4 & 3).
44
stars
80
commits
C++
primary language
Jul 8, 2026
updated
cd ~/Downloads
wget http://abyz.me.uk/lg/lg.zip
unzip lg.zip
cd lg
make
sudo make install
curl -sL https://github.com/gavinlyonsrepo/Display_Lib_RPI/archive/2.7.0.tar.gz | tar xz
cd Display_Lib_RPI-2.7.0
make
sudo make install
cd examples
# Edit the makefile in examples folder by picking the "SRC" file path you want to run
make
make run
| Component name | Type | Interface | Readme URL link |
|---|---|---|---|
| ILI9341 | 16 bit Colour Graphic TFT LCD | SPI HW & SW | Readme |
| ST7789 | 16 bit Colour Graphic TFT LCD | SPI HW & SW | Readme |
| ST7735 | 16 bit Colour Graphic TFT LCD | SPI HW & SW | Readme |
| GC9A01A | 16 bit Colour Graphic TFT LCD | SPI HW & SW | Readme |
| GC9D01N | 16 bit Colour Graphic TFT LCD | SPI HW & SW | Readme |
| GC9107 | 16 bit Colour Graphic TFT LCD | SPI HW & SW | Readme |
| SSD1331 | 16 bit Colour Graphic OLED | SPI HW & SW | Readme |
| ERM19264 UC1609 | Bi colour Graphic LCD | SPI HW & SW | Readme |
| PCD8544 | Bi colour Graphic LCD | SPI HW & SW | Readme |
| ERM1 CH1115 | Bi colour Graphic OLED | SPI HW & SW | Readme |
| SSD1306 | Bi colour Graphic OLED | I2C | Readme |
| SSD1315 | Bi colour Graphic OLED | I2C | Readme |
| SH1106 SH1107 | Bi colour Graphic OLED | I2C | Readme |
| HD44780 PCF8574 | Character LCD | I2C | Readme |
| TM1638 | LED 7 segment display | GPIO | Readme |
| TM1637 | LED 7 segment display | GPIO | Readme |
| MAX7219 | LED 7 segment display | SPI HW & SW | Readme |
| HT16K33 | LED segment display | I2C | Readme |
The application programming interface html documentation is at link hosted on github pages and generated by Doxygen. Detailed project overview images are available there.
The font system readme for the graphic displays is in the 'doc' folder at link.
There are 2 makefiles.
Run 'make help' on these makefiles to see a menu of all options.(uninstall library for example)
Library naming :
Project class overview :
Most functions that return a value, return a enum 'rdlib::Return_Codes'. Zero for success and a positive number for an error code. The error codes are listed in is in the 'doc' folder at link.
Development Tool chain:
A configuration file can be created which is read into program by running "rdlib_config::loadConfig()" at start of program If the file is missing it will create it at "/($HOME)/.config/rdlib_config/config.cfg". In this file logging and debug modes can be enabled they are OFF by default. A path to log file can also be set. Certain functions produce debug information to console if the debug setting is enabled. Some errors conditions trigger logging if the logging setting is enabled. The logging function can also be used in user applications: see file examples/misc_test/utilities_test/main.cpp.
Config file :
Log file example output :
A previous version of Display_lib_RPI (V1.3.0) which used the bcm2835 library as a low level interface is in releases and can still be downloaded and used. Version 1.3.0 will NOT work on raspberry pi 5 and uses direct register access. It will only work on raspberry pi < 5.
78 commits
2 commits
C++
99.6%
A C++ Library for Linux based single board computers ( sbc ) to drive electronic displays. Developed and tested on Raspberry pi (5, 4 & 3).
44
stars
80
commits
C++
primary language
Jul 8, 2026
updated
cd ~/Downloads
wget http://abyz.me.uk/lg/lg.zip
unzip lg.zip
cd lg
make
sudo make install
curl -sL https://github.com/gavinlyonsrepo/Display_Lib_RPI/archive/2.7.0.tar.gz | tar xz
cd Display_Lib_RPI-2.7.0
make
sudo make install
cd examples
# Edit the makefile in examples folder by picking the "SRC" file path you want to run
make
make run
| Component name | Type | Interface | Readme URL link |
|---|---|---|---|
| ILI9341 | 16 bit Colour Graphic TFT LCD | SPI HW & SW | Readme |
| ST7789 | 16 bit Colour Graphic TFT LCD | SPI HW & SW | Readme |
| ST7735 | 16 bit Colour Graphic TFT LCD | SPI HW & SW | Readme |
| GC9A01A | 16 bit Colour Graphic TFT LCD | SPI HW & SW | Readme |
| GC9D01N | 16 bit Colour Graphic TFT LCD | SPI HW & SW | Readme |
| GC9107 | 16 bit Colour Graphic TFT LCD | SPI HW & SW | Readme |
| SSD1331 | 16 bit Colour Graphic OLED | SPI HW & SW | Readme |
| ERM19264 UC1609 | Bi colour Graphic LCD | SPI HW & SW | Readme |
| PCD8544 | Bi colour Graphic LCD | SPI HW & SW | Readme |
| ERM1 CH1115 | Bi colour Graphic OLED | SPI HW & SW | Readme |
| SSD1306 | Bi colour Graphic OLED | I2C | Readme |
| SSD1315 | Bi colour Graphic OLED | I2C | Readme |
| SH1106 SH1107 | Bi colour Graphic OLED | I2C | Readme |
| HD44780 PCF8574 | Character LCD | I2C | Readme |
| TM1638 | LED 7 segment display | GPIO | Readme |
| TM1637 | LED 7 segment display | GPIO | Readme |
| MAX7219 | LED 7 segment display | SPI HW & SW | Readme |
| HT16K33 | LED segment display | I2C | Readme |
The application programming interface html documentation is at link hosted on github pages and generated by Doxygen. Detailed project overview images are available there.
The font system readme for the graphic displays is in the 'doc' folder at link.
There are 2 makefiles.
Run 'make help' on these makefiles to see a menu of all options.(uninstall library for example)
Library naming :
Project class overview :
Most functions that return a value, return a enum 'rdlib::Return_Codes'. Zero for success and a positive number for an error code. The error codes are listed in is in the 'doc' folder at link.
Development Tool chain:
A configuration file can be created which is read into program by running "rdlib_config::loadConfig()" at start of program If the file is missing it will create it at "/($HOME)/.config/rdlib_config/config.cfg". In this file logging and debug modes can be enabled they are OFF by default. A path to log file can also be set. Certain functions produce debug information to console if the debug setting is enabled. Some errors conditions trigger logging if the logging setting is enabled. The logging function can also be used in user applications: see file examples/misc_test/utilities_test/main.cpp.
Config file :
Log file example output :
A previous version of Display_lib_RPI (V1.3.0) which used the bcm2835 library as a low level interface is in releases and can still be downloaded and used. Version 1.3.0 will NOT work on raspberry pi 5 and uses direct register access. It will only work on raspberry pi < 5.
78 commits
2 commits
C++
99.6%