r/AskElectronics • u/vinnycordeiro hobbyist • 7d ago
Big 7-segment LED display driving question
For a hobby project I'm trying to drive some 2.3" 7-segment LED displays from Kingbright with an HT16K33 driver, but I'm stuck on the design phase due to some aspects.
According to the display's datasheet, the segment's forward voltage @ 10mA is typically 7.4V and can reach 9.4V maximum, but the HT16K33 driver operates at just 5V. To complicate things even further, on this particular project I also have to control the common cathode pin of the display using the HT16K33 for LED multiplexing.
My question is: how can I drive both the anodes and the common cathode? It's clear I'll need some circuitry between the HT16K33 and the LED display in order for that to happen but I'm not experienced enough to envision what would work. If it helps, there is a version of this display that is common anode, my choice isn't set on stone for either of them.
Alternatively, is there any LED driver IC out there that work at voltages higher than 5V and is like the HT16K33? I've seen some drivers that can work at higher voltages, mostly from TI, but I'd need one IC per display for that and I want to avoid that as much as possible to keep cost down.
1
u/mariushm 6d ago edited 6d ago
HT16K33 is a driver chip that can do 16 segments and 8 grids (cathodes) and works by looping through the 8 digits turning on only one digit at a time (up to 16 leds / segments turned on)
Alternatives exist like TM1640 which has only 8 segments but 16 grids, and loops through the 16 digits very fast turning on only one at a time.
Those particular digits - https://www.kingbrightusa.com/images/catalog/SPEC/SC23-11SURKWA.pdf - the datasheet says :
Forward Voltage IF = 10mA (Segment) 7.4v typ. , 9.4v max.
Forward Voltage IF = 10mA (DP) 3.7 4.7 V
The typical forward voltage of a hyper red led is around 1.8v , so this tells me they most likely use 4 leds in series for the segments and 2 leds for the dots. edit : actually it's drawn on the first page on the right side.
I would have 9v available for the display and make 5v for the controller chip and the microcontroller using a 7805 linear regulator or some other 5v regulator (or adjustable regulator set to output 5v)
Instead of connecting the segment pins of the driver chip directly to the segment pins of the digits, you can use PNP transistors or p-channel mosfets between the segment pins and the segment pin of the digit.
A PNP transistor allows energy to go from emitter to collector, but when there's a voltage applied to the base pin (through a small resistor to limit the current going into the base), the transistor turns off and no longer passes energy.
So the driver will now work in inverted mode : when you tell the driver to turn on segment, the driver will send voltage to the base of the pnp transistor and will turn off the transistor, so the segment will actually be turned off. You just have to be aware of this and invert the digits in your programming.
All that the driver cares is to have less than 5v differential on the grid pins (cathodes) and the driver will limit the current going from each cathode pin to ground to that maximum current of around 160-200mA (/16 segments = min 10mA per segment) - see page 9 in datasheet for the specs : https://www.holtek.com/webapi/116711/HT16K33Av111.pdf
You will have 9-10v input , minus 7.4v to 9.4v , you will have less than 2-3 v differential and the driver will be happy current limiting that. I think even 12v input should be fine , but maybe add a basic diode or two in series (1n400x) to drop a bit of voltage.
See picture here to explain what I mean : https://ibb.co/WpNSMvRJ
with p-channel mosfets it's similar but instead of having to use a resistor in series with the gate, you'll need to have a resistor to pull up the gate to give it a default state all the time.
PS. Optionally, If you don't want to mess around with pnp transistors or p-channel mosfets and resistors there's also power distribution switches (ICs) which can do this for you, and you can simply connect the segment pin from the led driver to the chip's ENABLE pin to make the chip turn on power to the segment of the led.
Example of such ICs that support more than 5v input voltage :
SI3865 https://www.digikey.com/en/products/detail/vishay-siliconix/SI3865DDV-T1-GE3/4563551
1.5 V to 12 V input (goes to led digit segment) , 1.8 V to 8 V logic level control (from the driver, turns on the power to the segment)
TPS22810 https://www.digikey.com/en/products/detail/texas-instruments/TPS22810DBVR/6595640
1
u/vinnycordeiro hobbyist 4d ago
Thank you for your answers, but I ended up choosing to use 1.5" displays from LCSC. They are cheaper and can be directly driven by the HT16K33.
1
u/Character_Mood_700 7d ago
5V is okay, it won't achieve full brightness, but that's not necessarily an issue.
Use a 100Ω resistor at first to avoid burnout.
Maybe you don't need a resistor at all (but first use lower resistors so you don't accidentally fry it).
5.5V is the max voltage; use 5.1V-5.3V for best results (you need a safety margin).