alexisruccius
Ht16k33Multi – Easy Multi-Display Support for HT16K33 with 7-Segment Displays
Hey everyone!
I just published a small but handy Elixir library called Ht16k33Multi, designed to drive multiple 4-digit 7-segment displays powered by the HT16K33 LED driver chip via I²C.
What’s It For?
If you’re working with LED displays on Nerves, Raspberry Pi, or any I²C-capable hardware and want to display characters across multiple 7-segment devices, this library makes it super easy to:
Manage multiple display devices using GenServer names
Write characters and words to one or many 7-segment displays
Control dimming and blinking
Features
- Display numbers on a 7-segment display
- Display words using a built-in 7-segment font
- Support for multiple displays (hence the “multi” in the name!)
→ Easily chain HT16K33 chips to show full sentences - Use built-in blinking and dimming features of the HT16K33
- Well-documented with inline examples
Example
# Start the Ht16k33Multi GenServer
iex> Ht16k33Multi.start_link()
# Write to the display
iex> Ht16k33Multi.write("Hola")
# Enable blinking
iex> Ht16k33Multi.blinking_on()
Installation
Add the dependency in your mix.exs:
def deps do
[
{:ht16k33_multi, "~> 0.1.0"}
]
end
Then fetch it with:
mix deps.get
Learn More
Most Liked
alexisruccius
HT16K33Multi v0.2.2 – Now with Colon Segment Support
Hi everyone,
I’m happy to announce that HT16K33Multi v0.2.2 is now available!
What’s New
v0.2.0
Added support for controlling the colon segment, which is especially helpful for clock-style displays:
colon_on/1/colon_off/1– toggle colon on a specific displaycolon_on_all/1/colon_off_all/1– toggle colon on for all displays
v0.2.1
- Fixed an issue where displays weren’t fully cleared on startup
v0.2.2
- Fixed an issue with dependency resolution
I’ve been testing this on actual HT16K33 hardware and things seem to be working well so far.
If you try it out, I’d really appreciate hearing how it goes on your end!
Feel free to report issues in the GitHub repo—PRs are always welcome!








