Don't use 7-segment displays (2011) [pdf]
harold.thimbleby.net
harold.thimbleby.net
This was the exact thought I had. The paper strikes me as being very odd, and the arguments against using 7-segment LEDs are very thin.
I will agree with one thing, though: the right components to use are an engineering decision and as with all engineering decisions, the right choice (i.e., the right set of tradeoffs) needs to be determined on a project-by-project basis. For a given project, that may mean not using a 7-segment LED. Or it might mean that's exactly the right choice.
As someone designing electrical circuits that might or might not use a 7-digit display this seems rather to be a guide for which use cases to avoid them.
Electrical engineers sadly sometimes don't think about that at all and slap what they know onto everything. When you have a medical device where a reading error or ambiguity can have serious consequences you might want to be aware of that. There are 7-segment-display usecases where that is not an issue irrelevant, e.g. because you have enough contextual clues to not hold the device wrong and read it upside down or because the potential damage from a reading error is irrelevant.
But this is still a design consideration one should be aware of. Especially in times where 7-segment displays aren't necessarily the cheapest option.
In fact, 7-segment displays aren't even a monolithic technology, and not all of the gripes in the article apply to every implementation. You have traditional LED models, LCD 7-segment displays, and then some OLED flavors, VFDs, and even electromechanical designs in niche applications.
Few modern use cases actually benefit from the qualities of an analog gauge. It seems to be more of a status marker, at least for consumer goods. Military and ruggedized applications are a different story.
Especially household appliances are worsened by the switch from analogue to digital. A microwave oven used to be so practical to operate. Just dial the clock to your desired time and that's it. Now, you have to press +30s button a bunch of times, or type your time. They're even trying to put digital on stoves, clearly not intended for use by people who actually cook. Induction stoves all have this problem. My air fryer is much worse to operate than it should, because they insisted on digital. It would be perfectly fine with a gauge for time and one for temperature. Now there's all these buttons and a segmented display.
I have a segmented display thermometer. It's not better than an analogue in any way I know of, but they're cheaper. I have a segmented display speedometer on my motorcycle. It is of course getting its input from an analogue measurer, so why transfer it to digital?
I for one find a "71" in large digits much easier to read than trying to figure out where between the lines a little needle is pointing. If the opposite were really true, we'd draw little pictures of gauges to communicate numbers.
The source is analog only in the sense that physics is "analog" until you get to Planck scale or to quantum phenomena.
I am so glad people didn't try using an LCD display or similar, I'd never be able to fix them when the pixels/display panels go bad and the original manufacturer is long out of business. LEDs, shift registers, mosfets... all serviceable.
https://www.eevblog.com/forum/blog/eevblog-1044-lcd-technolo...
but if the display itself is damaged, that's tough, pretty much just reuse the case at that point I bet.
Replace old custom unobtanium cracked LCD with modern LCD/OLED.
It probably does make sense to use them with legacy equipment that require a large certification effort (most of the examples are medical).
The advice the author gives for situations where seven segment displays are used is good, though.
What really doesn't make sense is using a seven segment font on a high resolution device to make the product seem more technological, I guess, but I don't think that was mentioned.
Maybe cheaper, but what about power consumption? I would have expected them to need significantly more, which might matter for battery-powered devices.
Seven segment displays are quite power hungry relative to what information they can display. LCDs sip power, the issue is their backlight.
LCD/LED are pixel types.
Seven segment LCDs are super low power, and can be made to reflect through ambient lighting.
The numitrons used a ton of power. Or was that VFDs?
It's not all about economics either; I can read a 7-seg display from clear across a factory floor from almost any angle in the dark.
Try reading those low-cost LCDs in the same conditions (the dark is worse, because the LCD doesn't have a true black so the contrast is lower).
Ironically, this is true at lower power/brightness than higher. A few gas stations near me got newer super-bright displays and you can no longer make them out at a distance.
Is it dark when you are on your factory floor? And what is it that you need to read across the factory floor?
Some equipment is placed directly under bright lights.
> And what is it that you need to read across the factory floor?
I don't understand the question. I mean, machines in a factory display something for the operator. If a machine doesn't need to display anything, why have a conversation about 7-seg LED vs LCD?
Are we comparing here pixel-matrix LCD screens with 7-segment screens?
And as a bonus, you don't have to involve anymore UI/UX design than to answer the question "what number should go here?"
You can't touch that with TFT/LCDs. Not to mention the current consumption of a segment LCD display is measured in microamps.
And the micros that drive segment LCD displays can easily be sub dollar.
How can that be true?
If you ask a factory in China to make you 1 million displays, the seven-segment version will be a lot cheaper. That's why new products use them. Even at 1k quantity from distributors, seven-segment displays are substantially cheaper.
I personally don't necessarily support "just go graphical" sentiment, but such local minima do exist.
OLED would have much shorter life, along with burn in - 7 segment ones tend to display very static info in many cases.
As items (iii) (although it incorrectly says "(ii)") and (iv) of the caption of figure 1, are reasonable considerations.
There is also the consideration of faulty displays, in case a segment stops working (although you can mitigate this problem somewhat, by adding a test switch to light up all of the segments).
About decimals, one possibility (depending on the application) is to require a fixed position for the decimal point and add a wider gap between the digits at that position, which improves the clarity.
They also mention, "the user cannot see the difference between entering zero, or entering zero then decimal point". This is a problem on many hand-held calculators but it is easy to avoid, by not displaying the decimal point unless it has been entered explicitly (or if the result is being displayed).
Upsidedown (also mentioned in the article) is also a reasonable consideration, although there are ways to mitigate that too.
This would allow for failure detection without the user having to explicitly press a test button and look for any misbehaving segments. You can't do this as easily (if at all) with LCD or OLED.
Also, fairly trivial to detect if a display has a segment out and throw a fault if needed. It's also not likely you burn out a whole segment at once if you have it wired up with that in mind.
It’s almost like that is what electronic design means, creating a curcuit that works is perhaps the easiest part. Choosing all the parameters for the parts to be used and keeping it under the target cost is the hardest!
You can just grab all the pins to say 8 and wire them to vcc and it works. They are just led lights, arranged a particular way
You can even drive them with something like a 555 timer or other 74 series ICs if needed to make basic and very robust monitoring systems. They are very tough, can’t easily break or be destroyed by heat or cold
They have a place.
The chip was $17.
A RPi 0 is (was) $5.
Just one of those "Not in Kansas anymore" moments.
Just because you can do something on a RPi doesn't always mean you should.
https://circuitdigest.com/electronic-circuits/555-timer-seve...
There is something magical about seeing the score "flip" when a point is scored.
Next cheapest would be a low resolution LCD display, (30x80) that has its own set of issues. 7 segments at minimum provide for high visibility even if they fail at high readability.
note: price doesn't have to be money, complexity is expensive
Why isn't there a market for 14-segment displays or other simple alphanumeric displays?
edit: Childen comments use the phrase "for a few more $" a lot and i think they miss the point that if that was acceptable and easy we wouldn't be talking about it.
There are plenty of places where a simple and small microcontroller paired with a 4-digit segment display is the cheapest, simplest, and most defensible design decision.
I'm not going to bother using a microcontroller to solve a problem if isn't a use case where the solution needs to be as simple and robust as possible.
Sure, they bring some complexity. Instead of just driving some pins you now need a display library and at least some bitmap font. But they provide a lot more fidelity, are vastly more readable, and fail in more obvious ways without needing periodic test patterns (the flashing 8's or snakes mentioned in the paper so you can detect failed segments)
For larger displays the choice becomes more interesting between OLED, LED matrices or 16 segment displays, but for small devices like those shown in the paper cheap OLEDs make the choice easy
bold of you to assume i have enough memory to drive the thing.
edit addendum; If it was using a 7-segment display, it is either really cheap or really simple "a graphical GUI on a screen" IS NOT A REASONABLE NEXT STEP.
I think we have radically different expectations of a simple embedded system.
If you just want a really cheap ARM microcontroller, Puya has some parts like the PY32F002A in the <$0.10 range. Single core, lower Fmax, and fewer peripherals than the RP2040, but the price is hard to argue with.
It really isn't. I've implemented simple UIs on SSD1306 displays, and it's very easy to work with. The hardware is specifically set up to optimize for rows of 8px tall text (or multiples of that with a bit more effort). Once you have row/column addresses set up, each byte you write to the display writes one 8px column of pixels to a row and moves the column pointer over by a pixel. Printing text is a matter of streaming a sequence of bytes to the display.
Yes, I'd also like to note, the market is flooded with crap. Multiple devices I've owned with these "cheap" displays have been on crappy, battery-intensive devices. The devices with simpler segment (or dot matrix) displays last longer and work better.
I get some of the points where extreme legibility trumps (nearly) all other concerns, however I'd propose the issue could have been solved more simply with more specialized segment displays.
[0] http://www.reitberger.de/English/Large%20displays/Alphanumer...
[1] https://www.reddit.com/r/whatisthisthing/comments/6zsezx/thi...
[2] https://www.reddit.com/r/whatisthisthing/comments/e19uaz/wha...
I would say that if you're going to use a 7-segment display, it would be helpful to add a "test/diagnostic" button that does a pattern in which all segments are lit up in a predictable order, does a TOP pattern in which only the top segments are lit (to allow for device orientation), and then goes back to displaying exactly what was on the display prior to pressing the button.
Most of that is just due to a lack of contrast. Add a slightly-tinted window in front of it to reduce the contrast between unlit segment & background, and it becomes a lot easier to read.
[1]: On higher resolution I generally prefer serif fonts. In particular, for coding I use Go Mono, which is one of very few serif monospace fonts.
https://leap.tardate.com/electronics101/digitallogic/digital...
I have two lab power supplies, one with a 7-segment display and one with an OLED. The 7-segment one allows me to easily see issues with the circuit due to the refresh rate, such as unwanted oscillations, which can be completely masked by the comparatively slow refresh rate of the OLED.
I won't necessarily see each value, but I'll notice a slight blurring of the least significant digit for example.
Don’t use 7-segment displays (2011) [pdf] - https://news.ycombinator.com/item?id=26373405 - March 2021 (78 comments)
That and you can make 7-segment displays fault tolerant, ie, detecting when segments are out/partially out, because you can measure current draw. Not exactly difficult, also not exactly common because they don't really fail that often.