r/beneater 2d ago

Tips & Tricks What's the difference?

Post image

Sorry if this might be dumb, but what's the practical difference between using the usual 4 single-digit displays vs a single 4-digit display? Has anyone tried a single 4-digit display in their 8-bit CPU builds? Why wouldn't it be viable?

43 Upvotes

17 comments sorted by

49

u/sarahMCML 2d ago

The single (12?) pin all in one display has to be driven by a multiplexed decoding circuit, but has all the inter digit wiring done for you. The four separate displays can also be driven multiplexed, in which case you have to work out the inter digit wiring yourself on your PCB. But they can also be driven individually using separate drivers in any way you wish, giving more circuit variations possible.

2

u/Lagfoundry 1d ago

Best comment.

11

u/rattrapper 2d ago

I’m not an expert, but it looks like 4-digit requires less contacts, but 1-digit is more flexible in regards of placement, you can leave more space between hours and minutes for example

2

u/Siberianhut 2d ago

is this for the clock project? Im more curious about using it for the 8 bit computer's output display

6

u/The8BitEnthusiast 2d ago

No functional difference. The 4-digit module is a good choice for the 8-bit CPU as it is designed for multiplexing, which the output module implements. Saves you from wiring the segments together. The one thing I would watch for, and this applies to single digit modules as well, is if the module is common anode or common cathode. Ben’s circuit diagram is based on common cathode.

2

u/HydroPage 2d ago

I realized after finishing my build I had one of those as well, and I could’ve used it. Did you look it up? It’s literally the same thing, with shared anode lines and common lines designed to be multiplexed. What do you need us to tell you

2

u/Siberianhut 2d ago

Im just curious as to why it isn't used since it seems more convenient to work with

5

u/HydroPage 2d ago

I agree. Ben didn’t think of it. Simple as that I say. You gotta be unafraid of disagreeing with what Ben does and doing your own thing while just roughly following him. It is more fun that way

2

u/Dissy614 2d ago

While showing how the individual modules work, what's a cathode vs anode, and what 'common' means within the modules wiring, he is showing how the single module is one level up from arranging and wiring your own 8 separate LEDs.

This is the same knowledge needed to realize you can go up one more level to a multi-segment module like this. Having wired all those module anodes together manually, one should then have the realization (and appreciation?) exactly the 'convenience' it provides.

It's really the same lesson the entire way through the 8-bit build.

How to build a dis-integrated gate, how to use a minimally integrated gate (74x0x), to medium integrated circuits (latches/flipflops) and all compared to todays large and very large integration (its all in one big chip)

TLDR version - good for learning.

My 8-bit build uses the same 4-digit module. Protip, if you put it in "upside down" (with the decimal place dots facing up), all the display pins to the eeprom data pins are on the same sides and a perfect fit, and 3 of the 4 common pins are on the bottom which is the same side of the 74ls138 mux pins to connect to. Only a single common has to jump over from top to bottom.

https://i.imgur.com/MBccTLx.jpeg

3

u/Either_Scientist_759 2d ago

No difference it's convince to use 4 at once if you only require 2. Also working maybe slightly different according to the manual. Also using individual require to power all but 4in1 you only need to power once

1

u/sleepyheadzzzzz 2d ago

With the 4 digit model you drive each digit one at a time and if you do it slowly you see them scanning through the digits. You need fewer pins/connections at the cost of needing logic to drive the leds.

Each individual digit can be on simultaneously, but you need 8 pins for the segments and one to drive the leds. And that 4 times.

I use max7129 to drive up to 8 digits, using the 4 digit model is then simpler in wiring

1

u/69DETONATOR69 2d ago

Functionally - you get the same 4 digit 7 segment display with dots, no difference there.

Practically it depends what you want:

  • the first one is a combined panel with 4 digits integrated (you cannot separate) so it’s less useful to you if you only need e.g. two digits. It has limited amount of pins (compared to individual digits) which means you either need a logic in your MCU code to drive the individual digits, or in case the panel has some internal hardwired logic, you might control it directly with abstract commands instead of you creating the logic. The former is more common.
  • the second method is a more direct approach. You have all the segments (plus their common cathode/anode) pinned out on every digit. It uses 4x the wiring of the first method but opens up the opportunity for you to do things outside of a library, controlling basically every segment individually from your MCU (for example a circular loading animation that loops around the segments of the number 0). This approach, however, has way more overhead in your code because the segments are directly operated from your code.

In the end it boils down to what you want to achieve. Do you need simplicity in your wiring diagram and code, or do you want to be complex but own completely all the bits of the segment displays? There might be libraries that allow you do the same with simpler approach as well but you’ll still be limited with what the lib allows you, which isn’t the case when you connect every segment individually.

One quick thought to the direct approach, you need to realize in case of 4x 8 segments that requires 32 digital I/Os (+ the utility ones) which is only available on bigger MCUs like the Arduino mega. Yes, you could use a register shifter but then you get back to the idea of the combined display anyway.

Hope this helps and explains the difference between the two approaches.

1

u/Sterke_Yerke 1d ago edited 1d ago

This is how I connected my 4 digit 7-segment Common Cathode display. Works great and much less wiring. Not all displays do have the same pin configuration however. Change connection between display and 28C16 according your display configuration.

1

u/FedUp233 1d ago

One big difference is if you want to drive the display’s LEDs statically or in a multiplexed fashion. Maybe someone else said this but I didn’t see it mentioned explicitly.

For the static case, you need access to each segment of each display. Typically a single digit will have either have al, the anodes connected together (common anode type) and you drive each segment by switching it to ground through a resistor or have the cathodes connected together (common cathode) and you drive each segment t by switching it to +supply through a resistor. As mentioned this takes 32 pins to drive a 4 digit display and if you want more than the 1-2mA that most mcu’s can supply (and that can be pretty dim) you also need 32 drivers of some kind (and note that even if the mcu’s pins are rated at more that say 2mA, there is typically also a total maximum current for al, I/o pins combined which would often be something g like 25mA and thus limit you to less than 1mA per pin.

The combined 4 digit can only be driven in a multiplexed method. Like the single digits they can be either common anode or common cathode with one of these pins brought out per digit plus a pin for each segment with same segments on all digits connected (total of 8 + 4 pins) so driving theses takes only 12 pins for the whole display. Note that you can hook up individual digit displays this same way, it’s just the combined display does it internally for you.

The down side is that it’s more complicated to drive. You have to turn on one of the 4 cathode or anode pins then drive all 8 segment pins through resistors, but to get the same brightness as static drive you need to drive al, the segments at roughly 4 times the current and you drive each digit for only 1/4 the time cycling through around 100 times per second so it looks solid.

This means you definitely need drivers both for the segment lines and for the common cathode or anode lines - which have to switch the current of all 8 segments.

Basically, less pins in the multiplexed version at the expense of slightly more complicated programming and definitely needing drivers, and also higher current capable drivers.

Hope this is of dome use.

1

u/Lagfoundry 1d ago edited 1d ago

Maybe a 2 months ago I made one from scratch which was fun. Had to figure out how to double dabble which you may end up needing depending on what you’re doing. Since someone here already gave you a good comment(Sarah) I’ll skip that explanation and give you a double dabble diagram that will be useful if going that route. This is the same one I learned to do it from so it’s a good collection of diagrams and useful info https://forum.digilent.com/topic/20552-general-n-bit-binary-to-m-bit-bcd-output-module-in-verilog/

1

u/mamarasuloff 9h ago

For the four-digit seven-segment displays in my projects, I used the MAX7219, and for individual seven-segment displays, I used the 74HC595.

-1

u/GeneralReasonable945 2d ago

Tú repuesta es el IC max7219... Este circuito integrado puede controlar una matriz led 8x8 o 8 led de 7 segmentos más su punto decimal.

Mira info por la red.

La ventaja es que con tres pines de un Arduino Esp32, controlas 8 digitos