HT16K33 4-digit 7-segment backpack (I2C) with ESP32
Supply 3.3-5 V
Bus I2C
I2C address
0x70 / 0x71 / 0x72 / 0x73 / 0x74 / 0x75 / 0x76 / 0x77
Pins and ESP32 wiring
| Pin | Role | ESP32 pin | Notes |
|---|---|---|---|
| + | Power | 3V3 | Pin order varies between boards: match by the printed label. HT16K33 is rated 4.5 to 5.5 V. At 3V3 it usually works, dimmer |
| - | Ground | GND | |
| D | I2C data (SDA) | D21 | I2C data (SDA) |
| C | I2C clock (SCL) | D22 | I2C clock (SCL) |
Suggested wiring for the 30-pin ESP32 DevKit, avoiding flash, input-only and strapping pins. BoardPilot checks it for you as you wire.
Starter code (Arduino)
#include <Wire.h>
void setup() {
Serial.begin(115200);
Wire.begin(21, 22); // SDA = GPIO 21, SCL = GPIO 22
Wire.beginTransmission(0x70);
bool found = Wire.endTransmission() == 0;
Serial.println(found ? "HT16K33 4-digit 7-segment backpack (I2C) found at 0x70" : "Not found: check power, GND and SDA/SCL");
}
void loop() {}
Sources
- Holtek HT16K33 datasheet, Slave address 1110 A2 A1 A0; VDD 4.5 to 5.5 V
- Adafruit LED Backpacks guide, 0.56" 7-segment backpack pinouts, address jumpers A0 to A2
Try it in 3D in BoardPilot
Related parts
HT16K33 8x8 LED matrix backpack (I2C)LCD 16x2 with I2C backpackLCD 20x4 with I2C backpackSH1106 OLED 1.3" 128x64 (I2C)SSD1306 OLED 0.91" 128x32 (I2C)SSD1306 OLED 128x64 (I2C)
Part data: CC BY 4.0, free to reuse with credit to BoardPilot.