Reusing clock 7 segment display - bunch of multiplexed LEDs

My alarm clock died, but the 7 segment display is nice. With arduino, temp and humidity sensor (DHT22), and RTC (DS3231) I'm planning to revive the clock. Just because there's nothing better to do in the spare time.

I need an advice as I didn't deal with multiplexed LEDs much before, well except for dot matrix.

The display has 27 pins. 4 of them are positive connections, rest (23) is all negative. They light up at around 2.5V and I guess max brightness is around 3V. Board has built-in resistors for LEDs. Measuring current for LEDs will be easy. Display consists of 7 segment 4 digit time, 7 segment 3 digit humidity with % symbol (as separate LED), 7 segment 4 digit temp display.

What would be the best IC to get it to work? I have couple of MAX7219 left I a bit of experience working with them so that what I would prefer to use. Problem is that MAX is a common-cathode driver, while my display appears to be common anode (as for less number of "positive" connections). But it seems like this would work: Drive Max7219/Max7221 with common anode displays - Marco Di Feo

Now I would need to chain three of those ICs (8 pins for each, and 23 needed). But "dig 0-2" outputs of all of them would need to be connected. (as one IC would for example apply power to pin #1 (-) and pin #27 (+) to light up some segment, and other ic would use pin #15 (-) and #27(+) for some other segment. Do two chained IC work in the same time? Would that create conflicts?

So the question is what would be the best way to approach this problem. Best would be getting an IC that has more pins, but I can't find one. Other option would be modifying the display (by cutting anode connections and separating each display to three individual ones). Then driving each display separately would be easier.

Your thoughts?

o0klocek0o:
The display has 27 pins. 4 of them are positive connections, rest (23) is all negative. They light up at around 2.5V and I guess max brightness is around 3V. Board has built-in resistors for LEDs.

Built-in resistors for LEDs? What "board" is this, the display or the main board? Clock displays are commonly multiplexed from the power transformer and have two common anodes, this begins to sound vaguely similar.

o0klocek0o:
Problem is that MAX is a common-cathode driver, while my display appears to be common anode (as for less number of "positive" connections).

The MAX7219 is nothing more than an 8 by 8 matrix driver. It has some functionality that may in limited cases be convenient for common-cathode 7-sement displays but otherwise it does not care. It's all about the code.

This project sounds singularly impractical, but until you show us the diagram you have made of how all the segments operate with those pins, there is little to comment. MAX7219s will not be involved! :astonished:

4 anodes and 23 cathodes is a very unusual configuration. You can't simply use multiple max chips because of that. If the anodes for the time, temp & humidity had been separate, then great, you could have used 2 x max. But because the anodes are shared, you can't because you can't synchronise the multiplexing across the chips.

Another commonly used chip is ht16k33, but that has 8 common pins and 16 segment pins, so still not enough, and again no way to synchronise between multiple chips.

You may have to build your own multiplexing circuit, controlled by the Arduino. The chips needed for that may depend on the current/brightness required. You could start with, for example 3 x 74hc595 to sink current from the cathodes, and 4 Arduino pins to drive 4 PNP transistors for the anodes. This will have limited brightness because of the limited max current of the '595 chips (70mA per chip), but with a multiplex ratio of only 1:4, might be ok.

Alternatively, if you have a mega with nothing better to do, you could use 23 of its pins and not use the 74hc595. You may be able to get more current that way too. But you will still need the 4 x pnp transistors for the anodes.

Thanks for the input. The portion about synchronizing multiplexing was my worry. I'm posting the photos of the screen for reference, but for now I'm not planning to use it. Seems like too much work, especially since I can get four 7-segment 8-digit displays for ~$14 that don't require any work.
IMG_20200118_164559.jpg

Display will stay in the junk drawer and maybe some day I will return to it.

If I do come back, I will cut connections between 3 parts of the display and have time, humidity, and temp displays as separate portions. This will increase number of anodes and make possible to use multiple MAX chips.

At this point I still refuse to buy another clock, so for now I dig up dot matrix display and that will be my clock for now.

IMG_20200118_164559.jpg

o0klocek0o:
If I do come back, I will cut connections between 3 parts of the display and have time, humidity, and temp displays as separate portions. This will increase number of anodes and make possible to use multiple MAX chips.

No, it won't.

You won't be using MAX7219s - or HT16K33s. As PaulRB points out and I had a mind to mention earlier, a Mega 2560 is probably the easiest way to drive this, FWIW. While the two sides do appear to be separate to some degree, it is clearly a variant of a clock display, multiplexed as 2 by many.

It would be interesting and useful if you could show us the diagram you have made of how all the segments operate with those pins.