Use 8x8 LED matrix with HK16K33 driver
An 8x8 LED Matrix is a component where 64 LEDs are arranged in a grid.
In this page the LED matrix plugs into a ‘backpack’ which drives the display.
The backpack uses the HT16K33 IC which interprets I2C instructions given to it by the microbit.
The LED matrix plugs into the backpack or is soldered depending on the version.
It is possible to drive just the matrix without the backpack using a shift register but this can be messy.
Instead we send I2C commands to the backpack which in turn lights the 8x8 matrix.
There are two components needed: an LED matrix and HT16K33-based backpack. Usually these are sold together as a module. A search on eBay or Amazon reveals many results to
HK16K33 backpack which range from £3 – £10.
Alternatively, you could shop at Adafruit who kindly provided many of the photos used in this page!
In some instances you will need to solder the LED matrix to the backpack. There’s a fantastic tutorial on Adafruit on how to do it.
A microbit edge connector is required to access the I2C pins on the microbit. These are
pin20 of the microbit.
|Backpack Pin||Microbit Pin|
The I2C naming conventions are different than usual.
SCL = CLK &
SDA = DAT.
The I2C bus is accessed through
pin20. There are already components on the bus. These are:
Each device on the bus must occupy a different address. The HT16K33 module has its own I2C address. The address is usually found on the datasheet or product page of the component. On the Adafruit backpack it’s possible to change the I2C address if required.
Alternatively, the microbit’s I2C bus can be scanned for devices. There is a guide to scanning the I2C bus on this website.
Upload the saved module to the microbit in mu. See here for tutorial on how to add modules.
Published: December 23, 2016 Updated: December 23, 2016
Acknowledgements: All images by Adafruit (CC-BY).