I2C to 7-segment board

I have an large format 5x7 segment LED display that I want to control over I2C.

It uses ELS-1806GWB LED blocks and currently has what I believe is a IDE (40 pin) ribon cable and plug. The board only has LEDs on it, and the IDE-to-LED tracks are easily traceable as there are no ICs, resistors etc on the board.
I presume I’ll need something like a 4511 BCD decoder, and an I2C interface board.

Just about all the I2C backpacks I’ve seen are sold as for something like 16x2 LCD displays. Are these a good place to start, or are there ready-made I2C boards I could use?

I'm not shure about these LCD-drivers.

Check if the HT16K33 driver IC has enough power to drive your LED display.
If this driver is ok, there are at least to libraries available.
one from myself: Arduino Noiasca HT16K33 library for 7 segment and 14 segment Holtek LED driver, another one from the user HKJ-lygte.
We use different approaches. Check what you like better.

HT16K33 is only 5V I think. Large format displays are likely to require something higher than that.

Please post a link to the specs of the display(s).

idrisdraig:
It uses ELS-1806GWB LED blocks and currently has what I believe is a IDE (40 pin) ribbon cable and plug. The board only has LEDs on it, and the IDE-to-LED tracks are easily traceable as there are no ICs, resistors etc on the board.

So where is the schematic you have made of it, and do you have any data on what a “ELS-1806GWB” is, because I cannot find any such thing with a search engine? You will have to determine how the segments are connected and how many LEDs are in each.

Provide proper pictures (taken in full daylight but not sun so that details are actually visible) of the board.

idrisdraig:
I presume I’ll need something like a 4511 BCD decoder, and an I2C interface board.

You do not need a decoder, that’s what an Arduino is for. :grinning: You need a driver to provide whatever current the LEDs need. If you want an I2C interface for it then you will need to use something like a PCF8575 interface board to connect to the driver(s),

I found this. It does nothing more than confirm that the part number exists, and that it is for a 7-seg display with dimensions 56x37x10mm. Other than that, no useful data at all.

That listing implies it is a "pull".

It appears to be an obsolete part. Well, clearly no surprise there as the OP has just found it on a surplus/ disposals board. :grinning:

Pre-Internet?

This means that if the OP still wants to use this display, some “reverse engineering” will be required to answer several questions:

Which pins on the 40 pin cable are connected to which anodes and which cathodes?

Are the digits common-anode or common-cathode?

Are the segments commoned?

What is the forward voltage of the segments?

What is the forward voltage of the decimal points, if they are connected?

In other words the OP will need to probe the display to make their own data sheet.

When probing, start with 5V and always use a 330~470R series resistor. If the segments will not light, go to 6~7V, 9V.

The decimal points are likely to have a lower forward voltage than the segments, so take care not to damage them.

Thank you for saving me all that writing. :grinning:

PaulRB:
The decimal points are likely to have a lower forward voltage than the segments, so take care not to damage them.

Almost always only one LED, while the segments in large displays will have two or even possibly three or four in series. :sunglasses:

Thanks for the suggestions on reverse engineering and non-existant datasheets.
The LED board really is nothing more than 5x 7-segment units with a handful of extra LEDs.
The PCB is clearly labled for both all the 7-seg pins and the 40pin connector.
The DPs are not connected.
It is CA, but the supply voltage and likely current drawn are TBC.

I don’t believe adding photos at this stage will reveal anything I haven’t already discovered myself.

The PCF8575 looks interesting. Thanks Paul__B.
If I understand correctly, this has 16 asignable IO pins. As the LED board has 39 cathode connections, is there a better way to connect the two boards than with something like 74hc595 shift registers? (And presumably a series resistor for each LED.)

idrisdraig:
Thanks for the suggestions on reverse engineering and non-existant datasheets.
The DPs are not connected.
It is CA, but the supply voltage and likely current drawn are TBC.
As the LED board has 39 cathode connections, is there a better way to connect the two boards than with something like 74hc595 shift registers? (And presumably a series resistor for each LED.)
[/quote]
Two boards? You have 2 of these things? Or do you mean the display and the Arduino?

74hc595 are not i2c, so not suitable for your requirements.

Are you certain there are 39 cathodes and only 1 anode? If so, that limits the driver design options significantly. No multiplexing, for example, which would have reduced the component count significantly.

Pcf8575 cannot be connected to the cathodes directly, if more than 5V supply is needed to light the segments. Transistors would be needed between that chip and the cathodes because of the higher voltage, and 39 of them, which is a pain. Uln2803 x 5 might work. Is an old design, with a large voltage drop, but at least the current & power dissipation limitations of the chip won't be an issue.

Might be worth looking for an i2c 8 or 16 channel constant current led driver chip. Then, no series resistors would be needed and hopefully no transistors either.

idrisdraig:
As the LED board has 39 cathode connections,

So you have traced this out and tested with the resistor/ LED as PaulRB advised? What was the voltage across each segment and decimal?

Another option for driver chips would be saa1064. Unfortunately they stopped production of the chip many years ago and remaining stocks are hard to find and often expensive, especially in the pdip-24 version. The so-24 version is a little cheaper but less convenient for beginners. You could use adapters to make the chips breadboard compatible. You would need 3 chips, because although each chip can drive 4 digits, that relies on multiplexing, which is not an option with your display, so the chips will be limited to 2 digits each.

By two boards, I meant the PCF8575 board Paul__B linked to and the LED board. I was suggesting using 5x shift registers (one for each 7-seg) between those.


(Only 5 7-segs shown, rather than the3 which I have.)

I'm certain there are 39 cathodes. I counted them 3 times, then got my 11yr old to check my maths. :slight_smile:
Testing the board with a voltage confirms the wiring is exactly as described above.
The 7-seg elements start to illuminate at just over 5v and have a usable visibility at 6v.
There are a handful of 5mm LEDs which illuminate clearly at 5v. (These are arranged as colons instead of the decimal points built into the 7-segs, which are not connected)


OK, so you have a common anode connection and 39 cathodes. That is 35 segments and four separate LEDs (which is curious as I see five on your board)! And there are no resistors so you will need 39 resistors to control the LED current. You could have been more generous with the photograph resolution so we could see the PCB traces and other details! :astonished:

I am fascinated by your Fritzing diagram which is complete rubbish! OK, I realise it is not your work as it comes from the Fritzing site (and is also ridiculously poor resolution :roll_eyes: ).

My suggestion would indeed be five shift registers - specifically TPIC6B595s. These are chained and require three control pins. There is really no point driving them through an I2C interface since they only require three control pins in total. You would need them and the 39 resistors, a somewhat higher resistor value for the single LEDs (which will probably be much brighter for a similar current). Probably an 8 or 9 V supply to the LEDs or 12 V if it is already on hand.

Note that there are a total of 45 leds and segments, some of the leds are probably combined and most of the points is probably missing.

HKJ-lygte:
Note that there are a total of 45 LEDs and segments, some of the LEDs are probably combined and most of the points is probably missing.

Really?

idrisdraig:
There are a handful of 5mm LEDs which illuminate clearly at 5v. (These are arranged as colons instead of the decimal points built into the 7-segs, which are not connected)

idrisdraig:
...I want to control over I2C

Its time we asked: why?

Its not a bad idea, but neither is using SPI as Paul__B suggested. I also think tpic6b595 is a good choice for your displays, except that you will need 39 resistors.

But 74hc595 is not a good idea. They can't handle more than 5V and have quite low current limits (70mA per chip, so only 8mA per output. Controlling the '595 via the i2c expander can be done but it is going to be slow and complex. There is certainly no need to use 3 pins per '595, they can easily be chained so only 3 pins are needed for all 5 chips.

Paul__B:
That is 35 segments and four separate LEDs (which is curious as I see five on your board)! ...

Really?

idrisdraig:
There are a handful of 5mm LEDs which illuminate clearly at 5v. (These are arranged as colons instead of the decimal points built into the 7-segs, which are not connected)

5x 7-seg = 35 pins
2x2 colons = 2 pins
1 extra LED top left. No idea what that was originally intended for, but, yep, that's connected to a pin as well.
And yet ... that's still only 38.
Strange.
Except, as I keep trying to explain ...

idrisdraig:
I'm certain there are 39 cathodes. I counted them 3 times, then got my 11yr old to check my maths. :slight_smile:

There's another for a minus sign (far left).

Total 39.

PaulRB:
Its time we asked: why?

Because I’ve used all the digital pins on my Uno already.
And when I get this first display sorted, I need to add a 16x2 LCD display, and hopefully if I’ve got any pins left, some more input buttons.
So it’s a good opportunity to get my head round I2C, and if I can free up even a sinle analog I/O pin, that gives me more options.

The TPIC6b595 looks a good option. Thanks for the suggestion.

I2C of course, uses two “Analog” pins. Your 1602 display will use these I2C pins (A4 and A5). The PCF8575 interface board I cited, connected to the same I2C pins would give you a whole 16 I/O pins which would likely take over all of your presently used “Digital” pins.

So I doubt you have much to worry about. Of course, without knowing what you have been using the pins for, we cannot say further. :grinning:

I didn’t notice that minus sign. That explains that each colon is a single series pair.