So I'm currently playing with a 7447 to mulitplex a two digit 7 segment LED. With no control over the decimal points it's already eating up 6 outputs on my Arduino.
For the project I'm designing this won't do unless I switch to a mammoth Atmega like an 8515.
I'm having trouble googling this, but are there any SPI protocol LED drivers I could be using? This would be convenient as I'm already familiar with SPI for the digipots I'm using in this application.
I've looked at the Max 7219 but it just seems like total overkill
a MAX7219 is what I would suggest. Most other solutions will require many current limit resistors, the MAX needs only 1. Other solutions may need driver transistors. Not so with the MAX chip. Sure it looks like overkill but it will actually be simpler than most other solutions in the long run.
You want to multiplex a display. The MAX7219 is specifically designed to do exactly that, and do it correctly in every respect. That's why the 7447 is obsolete.
What is somewhat foolish is to use an unnecessary array of components to do the job poorly, requiring an additional nine resistors, two PNP transistors, waste an additional 60 mA (25 mA if you happen to have a 74LS47 - have you?) and have to strictly discipline your coding to execute the multiplexing when there s no need for any of that!
And you can get ready-built display modules for four or eight digits, quite cheaply, using the MAX7219 or other chips. It's not as if you need to make it difficult!
Another thing you are missing is that the MAX7219 does all the multiplexing for you, so that your Arduino doesn't have to waste CPU cycles doing it. This leaves more processing power for your actual application.
As I pointed out, though not in the context of "wasting CPU cycles" as in most applications, there really are more than enough to go around.
It's more of a problem that performing the multiplexing on the processor takes considerable discipline in coding - you really have to "know what you are doing" - and as always, that is a very big "ask" for beginners.
Sparkfun and Adafruit are selling them for around that. Cheapest ones on digikey are $5 (which I didn't see before because it didn't come up without explicitly searching there)
So this brings us into the "genuine" argument. I am interested to see that Mike for one, expresses no qualms on this account.
I do not buy individual chips. I see no reason to do so; all that I have used come ready-assembled (SMD version) on a module along with a display or immediate provision for one. All sourced from either eBay (when that was reasonably cheap) and Aliexpress (if you have the tremendous patience to navigate their totally broken search engine ).
That given, I have had no failures of MAX7219 chips, but after a couple of years of continuous use, several missing pixels in matrix displays (which by definition cannot reasonably be a chip problem).
Do you mean genuine as in not from the original manufacturers masks?
I do buy single chips, as I see no reason to buy modules if you can possibly help it. They just make your project look like a Frankenstein mess. ( yes I know the difference between the monster and the creator).
I always check chip prices against those of a proper distributor because most of the time they are much cheaper than eBay and Amazon. But in the case of obsolete pars and parts containing lead, then you can get a much better deal. The only time I have been fobbed off with parts that were advertised incorrectly, first they said it was the same and wen I insisted that they weren't I got a refund and told I could keep the parts, which I instantly binned.
For what price do you source the 7447 + resistors + transistors + LED displays?
How many units do you plan to produce?
What is your limit?
Imho for low values you can not beat easily the premade modules.
In case if the sketch uses already SPI, I use MAX7219 . The displays on the variants with green PCB are using sockets and can be changed with other colors.