This is a library for using the I²C-based LED matrices with the HT16K33 chip. It supports both 16x8 and 8x8 matrices, as well as 7- and 14-segment displays.
This driver depends on:
Please ensure all dependencies are available on the CircuitPython filesystem. This is easily achieved by downloading the Adafruit library and driver bundle.
Installing from PyPI¶
On supported GNU/Linux systems like the Raspberry Pi, you can install the driver locally from PyPI. To install for current user:
pip3 install adafruit-circuitpython-ht16k33
To install system-wide (this may be required in some cases):
sudo pip3 install adafruit-circuitpython-ht16k33
To install in a virtual environment in your current project:
mkdir project-name && cd project-name python3 -m venv .env source .env/bin/activate pip3 install adafruit-circuitpython-ht16k33
# Import all board pins and bus interface. import board import busio # Import the HT16K33 LED matrix module. from adafruit_ht16k33 import matrix # Create the I2C interface. i2c = busio.I2C(board.SCL, board.SDA) # Create the matrix class. # This creates a 16x8 matrix: matrix = matrix.Matrix16x8(i2c) # Or this creates a 8x8 matrix: #matrix = matrix.Matrix8x8(i2c) # Or this creates a 8x8 bicolor matrix: #matrix = matrix.Matrix8x8x2 # Finally you can optionally specify a custom I2C address of the HT16k33 like: #matrix = matrix.Matrix16x8(i2c, address=0x70) # Clear the matrix. matrix.fill(0) # Set a pixel in the origin 0,0 position. matrix[0, 0] = 1 # Set a pixel in the middle 8, 4 position. matrix[8, 4] = 1 # Set a pixel in the opposite 15, 7 position. matrix[15, 7] = 1 matrix.show() # Change the brightness matrix.brightness = 8 # Set the blink rate matrix.blink_rate = 2
Contributions are welcome! Please read our Code of Conduct before contributing to help this project stay welcoming.