“This is an eight-character alphanumeric LED display with an I2C interface. It’s based on a low-cost HT16K33 display-driver chip, and supports four two-character 14-segment alphanumeric display modules. Because it has an I2C interface it’s easy to drive from pretty much any microcontroller, such as an Arduino Uno, or even an ATtiny85
I also include a display interface that provides a print() class that allows you to print strings and numbers to the display, with automatic scrolling. This lets you use the display as a convenient alternative to the Arduino Serial Monitor for printing values and results while debugging. The display interface will also work with Adafruit’s four-character alphanumeric displays.
I wanted an eight-digit alphanumeric display, for displaying messages for another project which I hope to write about in a future article, and sourced a set of low-cost alphanumeric display modules from AliExpress. A good I2C driver for this type of application is the HT16K33  which can support up to 8 displays x 16 segments, as well as a key matrix. Adafruit make a nice I2C backpack based on the HT16K33  but it only drives two 2-digit display modules, so I would have needed two backpacks. I therefore decided to design my own HT16K33-based backpack that would support eight alphanumeric digits.
It’s compatible with a wide variety of two-digit 0.54” (13.8mm) display modules. I used LDS-5241BX two-digit display modules from AliExpress , but you could also use KWA-541AWB-Y two-digit display modules available in a variety of colours from Adafruit , or the Kingbright PDC54-11SYKWA from RS-Online .
Note that there are displays that look identical to these that won’t work on this board. The HT16K33 only supports common cathode displays, so you must make sure the displays you buy are common cathode. Also, Kingbright also make 14-segment displays that common the segments in two groups, reducing the number of pins needed, and these won’t work either.”