HT16K33 Python

A driver for various HT16K33-based displays

Latest Release: 4.0.0

 New Version


About HT16K33 Python

This library provides a hardware driver for a variety of displays bases on the Holtek KT16K33 controller chip, including four-digit, seven-segment LEDs; four-digit, 14-segment LEDs; 8x8 and 16x8 monochrome matrix LEDs; and bi-colour 8x8 matrix LEDs. It also supports four-digit, 14-segment LEDs based on the VK16K33 controller from Freenove.

The HT16K33 Matrix Featherwing library in use

The library also supports generic seven-segment displays wired up to an HT16K33, which can drive up to eight these LEDs. The HT16K33 may be on a board of your own design, or on a third-part one, such as the Adafruit 16x8 LED Matrix Driver Backpack. LED units you can connect range from single digits up to combinations of multi-digit units.

Note Connect your HT16K33 column pins to each LED’s digit selection pin, and its row pins to the LED’s segement selection pins.

The HT16K33 Matrix Featherwing library in use

The library comprises a core driver for the HT16K33 and child classes for each of the currently supported display products: just load in the driver for the display your project features.

The library supports both CircuitPython and MicroPython applications running on a variety of MCU-based devices, including members of the the AdaFruit Feather family, Sparkfun Feather devices and the Raspberry Pi Pico.


Please see the the documentation section for details of the general and device-specific driver APIs:


You can now install the library using the Python Package Index.

Source Code

You can view HT16K33 Python’s source code at GitHub.

Release Notes

  • 4.0.0 5 May 2024
    • Completely reorganise the library files into their own directory.
    • Add device installation script for MicroPython users - thanks, @ubidefeo.
    • Add HT16K33SegmentGen CircuitPython examples.
    • Use Raspberry Pi Pico for all examples.
  • 3.5.1 30 October 2023
  • 3.5.0 2 September 2023
    • Add generic HT16K33 driver — thanks, @vader7071.
  • 3.4.2 14 February 2023
    • Fix an error when a space is shown as a zero — thanks, @asasine.
  • 3.4.1 14 November 2022
    • Correct VK16K33 naming.
    • Fix VK16K33 colon setting and unsetting — thanks, Dietmar Schüller.
  • 3.4.0 6 October 2022
  • 3.3.1 13 September 2022
    • 14-segment character-set numerals now match 7-segment equivalents.
    • Assorted code tweaks.
    • Wrangle and extend examples.
    • Remove old docs.
    • Big thanks to @akbiocca for assistance with this release.
  • 3.3.0 5 August 2022
    • Add rotate() method to
  • 3.2.0 26 July 2022
    • Support the Adafruit 0.54in Alphanumeric Display via
    • Bug fixes.
  • 3.1.0 16 February 2022
  • 3.0.2 23 November 2020
    • Refactor out some code.
  • 3.0.1 7 November 2020
    • Correct variable name in
  • 3.0.0 6 November 2020
    • Initial public release.

Related Software

Site and software copyright © 2024, Tony Smith