A driver for various HT16K33-based displays
Latest Release: 4.3.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 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 segment selection pins.
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.
Docs
Please see the the documentation section for details of the general and device-specific driver APIs:
- Monochrome matrix displays
- Monochrome Featherwing matrix displays
- Colour matrix displays
- Small 7-segment displays
- Small 14-segment displays
- Large segment displays
- Generic segment displays
- Multi-colour bar graph displays
PyPi
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.3.0 17 July 2026
- Allow the display to be turned on and off with the instance function
display(). - Allow the display state to be determined with the the instance function
display_state(). - Add rotation to
ht16k33matrixmulti.py. - Fix display blink rate stored state.
- Allow the display to be turned on and off with the instance function
- 4.2.0 7 March 2025
- Add multi-matrix scrolling enabler class.
- Code clean.
- 4.1.0 2 January 2025
- Add
HT16K33Bar.py bargraph driver. - Add alternative, all-capitals character set for
ht16k33Segment.py. - Support new board selection parameter in
ht16k33Segment14.py. - Support EC Buying 0.54in 4-digit, 14-segment display in
ht16k33Segment14.py. - Fix decimal point clearing
ht16k33Segment14.py.
- Add
- 4.0.3 18 December 2024
- Fix typo breaking mpremote usage — thanks,
@sebromero.
- Fix typo breaking mpremote usage — thanks,
- 4.0.2 16 December 2024
- Fixed a character set indexing bug in
ht16k33Segmentbig.py— thanks,@jonhp.
- Fixed a character set indexing bug in
- 4.0.1 16 August 2024
- Minor fixes/improvements.
- Add experimental
rotate()method toht16k33Segmentbig.py.
- 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
HT16K33SegmentGenCircuitPython examples. - Use Raspberry Pi Pico for all examples.
- 3.5.1 30 October 2023
- Support installation from Python Package Index.
- 3.5.0 2 September 2023
- Add generic HT16K33 driver — thanks,
@vader7071.
- Add generic HT16K33 driver — thanks,
- 3.4.2 14 February 2023
- Fix an error when a space is shown as a zero — thanks,
@asasine.
- Fix an error when a space is shown as a zero — thanks,
- 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
- Allow the colon and decimal point on SparkFun Qwiic Alphanumeric Display.
- 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
@akbioccafor assistance with this release.
- 3.3.0 5 August 2022
- Add
rotate()method toht16k33segment.py.
- Add
- 3.2.0 26 July 2022
- Support the Adafruit 0.54in Alphanumeric Display via
ht16k33segment14.py. - Bug fixes.
- Support the Adafruit 0.54in Alphanumeric Display via
- 3.1.0 16 February 2022
- Add
ht16k33segment14.pyto support the SparkFun Qwiic Alphanumeric Display.
- Add
- 3.0.2 23 November 2020
- Refactor out some
ht16k33matrix.pycode.
- Refactor out some
- 3.0.1 7 November 2020
- Correct variable name in
ht16k33matrix.py.
- Correct variable name in
- 3.0.0 6 November 2020
- Initial public release.

Comments
Nothing yet. Say the first thing.
Sign in to join the conversation.