The amount of information the humble seven-segment display can convey is surprising. There are the ten numerals, dead-ringers or reasonable approximations for about half the alphabet, and even a few not-quite-canonical symbols. But when you put 12,288 segments to work, you get all that and much more.
Behold Sea of Segments, an art piece by [Will Gallia] that really pushes what’s possible with seven-segment displays. The piece, which looks about the size of a decent flat-panel TV, is composed of an 8×6 array of PCBs, each of which holds an 8×4 array of white LED seven-segment displays; each board also holds two TLC5920 LED drivers. [Will] designed the PCBs to tile horizontally and vertically, making it possible to take data either from the top or right side and output to the bottom or left. Power is distributed to the modules through a series of steel bus bars, which also provide structural support for the display. The whole thing lives in an enclosure with a smoked acrylic front panel, and hangs from a pair of steel cables that also provide power.
Under the hood, a PocketBeagle does all the heavy lifting of talking to the display and translating images onto the display. [Will] came up with an encoding scheme that gives about five bits of grayscale, and built a program to figure out which segments should be lit to create an image. The result is a smooth and convincing reproduction of videos of waves on a beach, which is where the project gets its name. Check out the results in the video below.
[Will] says he drew inspiration for this build from the DigitGrid by [Skot9000]. That was a great project too, but Sea of Segments takes the concept to another level.
39 thoughts on “Sailing On A Sea Of Seven-Segment Displays”
so satisfying to watch!
regarding the half alphabet, there is a special alphabet designed for 7 seg displays 👍
Honestly can’t get over how mesmerising this is. It’s one of those ones that you don’t think would be difficult to cobble together until you start to build it.
Just wow for the control software/firmware.
I wonder if this could be used to display a somewhat playable Game Boy display? 🤔
Brilliant! Being under a tighter budget (for both time and funding) I would like to simulate this with a fragment shader.
There’s a ton of ascii character shaders. Many of them let you limit what characters are used. You’d use this, but with only numbers.. and a segment font.
There also is an ASCII cam that take output of a webcam and display it în terminal… You can combine it with this screen!
“Because I can” is a perfectly valid reason for doing this.
But if you just want that look, it would be much easier, quicker, and cheaper to just create the video and pipe it to a large-ish monitor. Probably brighter, and gives you RGB all at the same time. And then it’s a trivial upgrade to a “14 segment” version. :-)
There’s always one, suggesting that emulation would be easier than actually accomplishing something cool that took a lot of time, money and effort that the creator is proud of 🙄
Of course it’s easier to emulate, but that’s kind of why this is an art piece and the emulation might be a GitHub somewhere.
Would be a nice screensaver though!
Would also be cool if this display would be rendered from a live video feed of the ocean
It’s not a suggestion at all. It’s a statement.
If your metric of success is “that took a lot of time, money and effort,” then kudos to the creator for meeting your standard.
Practical? Heck no. Useful? Maybe as decoration. Good use of one’s time and abilities? Better than time spent commenting here :-/
But it’s an interesting, well-executed piece of Art, and it would certainly make me think if I were to encounter it, and maybe that’s what matters.
You nailed it with that last sentence!
Could this be done with a video? Sure.
Does doing so come the same sense of accomplishment as making real 7-segment displays do this? I think not.
Sure it doesn’t serve any real practical purpose, but neither do half the projects on Hackaday – that isn’t the point. Sometimes it’s fun to build things, as you say just because you can.
My point is, if I built something like this for fun, “it could be done with a video” or “why not just use an emulator” would imply that you think I’m stupid for not knowing that, and undermine the effort that went into it. Why else would you bother easing your time stating the obvious?
Wasting your time*
If you note he also wrote an emulator for dev purposes.
Now that question I have is how much were 13ooo seven segment displays?
13oo seven segment displays. I’m an idiot.
What the heck does “thirteen oo” mean, anyway? Did you maybe mean 1300?
Why bother with an emulator when you could just laser cut a black cardboard overlay for a TV showing standard video?
(I love this 8-segment display btw, I have a pretty big soft spot for obscure, obsolete and alternative display techniques)
Lighting effects. The backlight of the LCD or OLED would have ‘bleeding’ and reflections (Screens are meant to be viewed from a certain angle) from viewing the piece from the sides. Also, with multiple segements creating multiple points rather than a single backlight.
Turning off the backlight would ruin the effect and result in an off-white in most displays as well as way too dim (the pixels in the display wouldn’t be equal in brightness or feel to the segement it emulates, nor would it emit in the same fashion)
You could also make a mask in after effects and apply that and then display the result.
In case you don’t have a laser cutter.
Or simpler yet, make a PNG mask with the segments transparent and use avidemux to apply it as a full-screen ‘logo’.
Free and open source.
Incidentally Avidemux has gained quite some tweaks ‘lately’ and has new filters and an improved filter interface. Even has a decent stabilizing filter now.
For a long time Avidemux was a bit stuck in development, so it’s nice to see movement like that.
Wow. That is beautiful, technically amazing, and all that. Jaw dropping.
I second this! ❤️
mesmerizing and beautiful. I’d love to see this taken a step further and have the image ‘rendered’ from recognizable characters. I imagine different effects could be achieved with different character sets.
Wouldn’t the number of segments be 10,752 rather than 12,288? (8 * 6 * 8 * 4 * 7)
The decimal points count as segments.
You win the internet for the day.
How is dimming accomplished on the digits?
I have 5916’s and wish to do the same
According to the writeup, the author uses binary coded modulation to achieve 5 bit grayscale
Isn’t it 10,752 segments working together? It’s 1,536 digits with seven segments each. 12,288 as quoted in the article would be 8 segments per digit.
7 segments for the numbers, plus the decimal point which does seem to be used in the image. I guess that while it is an LED element in the modules, it’s ambiguous whether or not it counts as a segment.
The dot is also counted as a segment
He uses the decimal point ‘segments’ of the displays as well…
If you’re watching the video and trying to read the digits/characters as they’re used for border shading you should probably not spend quite as much time in the lab…
And I was thinking I was clever getting old calculators to spell BOOBS
Bad Apple when?
You’ll have to request it I guess.
Wow seen huge 7 segment based display builds before but none with greyscale support…it really takes it to the next level. Bravo!
Please be kind and respectful to help make the comments section excellent. (Comment Policy)