return to table of content

Show HN: I built a JavaScript-powered flipdisc display

leetharris
15 replies
1d1h

This is so cool.

I love to see Javascript used for stuff like this. It blew my mind that the James Webb Telescope uses a custom Javascript runtime for a lot of the onboard functions.

risenshinetech
6 replies
22h8m

Why do you love to see a particular language used for something?

It would be like being excited at seeing someone using aluminum to build something over steel/wood/etc.

pengaru
2 replies
19h54m

tribes

sbarre
1 replies
6h54m

What a cynical take, especially here in a community that should be celebrating novel uses of technology, whether it would be your choice or not.

verbalstoner
0 replies
18m

There is nothing new about using JS for UI, as that is the only place it belongs.

bl4ckneon
0 replies
15h56m

It's also intresting to see a language used in a way it's not intended to necessarily our for a creative/unique use. Why do people like to port doom to random devices, because it was never indended to run on those (and it's a challenge/meme at this point)

beaugunderson
0 replies
14h8m

to speak to your example: my girlfriend's dad was a welder on aluminum boats. he is always excited to see aluminum boats, find out who built them, etc.

aembleton
0 replies
20h51m

Not the parent, but I like seeing particular languages used for something like this because it may be a langauge that I am familiar with along with all of its libraries and tooling. This makes a project like this that interacts with hardware easier to acheive.

bigstrat2003
5 replies
22h30m

That's horrifying. Javascript doesn't belong anywhere near anything which isn't a web page, and even then it's questionable.

phist_mcgee
4 replies
19h48m

Maybe the engineers at NASA know what they're doing?

ClassyJacket
2 replies
16h58m

As a JavaScript hater, I admit they surely they do, but I'm still curious as to why it was the best choice. If it's a custom runtime, existing runtimes being reliable\secure\well understood by existing engineers isn't relevant. And it's not like they're adding in lots of external libraries either.

I found this comment: https://news.ycombinator.com/item?id=19739454

" The language itself wasn’t so important as having adequate performance, robustness, memory use, reproducibility and extreme QC"

but I still don't understand. Interesting they went with a language that doesn't even have integers.

At least the comments on this reddit thread have some hilarious jokes:

https://old.reddit.com/r/javascript/comments/wrtny3/the_jame...

Looks like they released a paper, the abstract of which, indicates it's not a fully custom runtime, which would make more sense:

https://ui.adsabs.harvard.edu/abs/2006SPIE.6274E..0AB/abstra...

Unfortunately they want money to read the rest of it and I'm curious but not that curious, and I probably wouldn't understand it anyway.

phist_mcgee
1 replies
16h49m

It's a very readable paper. The paper's DOI is 10.1117/12.671403, and you can read it for free on Sci Hub.

ClassyJacket
0 replies
14h3m

Thanks. Yeah, I thought of that, but I'm at work at a place where I very much should not be having Sci Hub in my browsing log.

tetris11
0 replies
9h49m

no one's doubting it, but they still want to know the reason because it goes contrary to the expectations of most developers here, even the JavaScript fans

spankalee
0 replies
1d1h

The SpaceX Dragon capsule touchscreens run an HTML/JS app built using web components (Polymer) :D

imzadi
15 replies
1d2h

How do they have no moving parts?

simpsoka
8 replies
1d2h

The disc moves, but there aren't any moving mechanical parts to cause it to move. It's done with electromagnetic pulses. I'll update it to make this more clear.

crazygringo
7 replies
1d

I don't really see what the distinction is?

You might as well say a motor has no moving parts, because it's done with electromagnetic impulses. But that would be absurd.

Obviously the hinge of each disc will wear and tear and eventually fail. Buildups of dust and oil will affect them too and prevent them from flipping. Flipdiscs are as mechanical as mechanical parts get.

You writing in the intro: "...have no moving parts, near limitless lifespan..." is just not credible.

And if I'm being entirely honest, that's where I stopped reading your post, because you simply didn't seem trustworthy. You might want to focus more an accuracy rather than hyperbole if you want to maintain readers.

beatboxrevival
3 replies
1d

Probably because they are just a hobbyist and not an expert in the field (nor do they assert that they are). Maybe be a little kinder on the internet. It sounds like it was just a minor oversight.

crazygringo
1 replies
23h51m

Maybe be a little kinder on the internet.

I really did think about whether or not to write that last paragraph. But the thing is, it's the truth. And I think it's going to be more helpful in the long run for authors to know these things.

Believe me, I've been on the receiving end many times and it's made me a vastly better writer and communicator. When somebody stops reading your article because of a howler, it's much better for you to hear why so you can learn from it.

(And you don't need to be an expert in the field to realize that discs that flip are mechanical, or that they don't have a "near limitless lifespan". These aren't exactly subtle mistakes, and it's one of the main justifications presented in the introduction itself.)

simpsoka
0 replies
23h32m

Thanks for the feedback. I've updated the article.

risenshinetech
0 replies
21h57m

You're seriously insinuating that a person has to be an expert in the field to be able to identify that a device with moving parts has... moving parts in it?

risenshinetech
1 replies
22h5m

It's amazing the type of pretty tame criticism that gets downvoted here these days. Your criticism is entirely factual and has zero hint of malice. I felt the exact same way when I read these things in the article -- just pure nonsense.

simpsoka
0 replies
21h36m

So sorry to have caused the confusion. I've updated the post to be more detailed. Honest mistake. I was referencing the mechanical parts of the board that move the dot. For example, unlike Vestaboards, which have a gear to move the panels, flipdisc boards use magnets. Good thing pixels on a webpage are easier to update than pixels on a flipdisc board!

lucianbr
0 replies
1d

The entire history of the world stands as proof that focusing on hyperbole maintains readers better :)

Though I do wish for more accuracy. These things are totally moving parts, and there is no way they have even a long lifespan, let alone a "near limitless" one. Though to be precise, "near limitless" is meaningless.

omneity
2 replies
1d2h

One could argue flipping doesn't change X, Y nor Z coordinates :)

hatthew
0 replies
16h37m

One could argue it changes the θ coordinate

adolph
0 replies
1d1h

Seems koan-ish:

  What is the movement of a stone standing still?

  What is the rolling rock that goes nowhere?

simpsoka
0 replies
23h32m

Updated to make this more clear! Sorry for the confusion.

endisneigh
0 replies
1d2h

Probably best to say mechanical movement.

dylan604
0 replies
1d2h

that's my question too. if there's not moving parts, how does the disc flip if it doesn't move. if there's nothing moving, what is all of that noise.

omoikane
5 replies
1d1h

near limitless lifespan

The lifespan is probably not as limitless as you might have imagined, the discs tend to fall off or get stuck. But they are really neat while they are working, especially how they sounds.

I was at an office with these flip dot displays, and eventually we dismantled the display. I took some picture of the pieces and you can see how stuck discs look like:

https://photos.app.goo.gl/onpHefUVL8oeP4si7

amelius
3 replies
20h38m

The lifespan is probably not as limitless as you might have imagined

How do you remove dust from them? I imagine that's when they break.

wrs
0 replies
20h16m

The linked Alfazeta manual has recommendations for very carefully vacuuming the panel.

vasco
0 replies
11h7m

Wouldn't you just make the picture change a few times to remove dust and that's it? They flip, the dust comes out.

kajecounterhack
0 replies
19h5m

You can individually remove the discs and use a compressed air cannister, but it's very laborious.

simpsoka
0 replies
1d1h

For sure. They're similar to butterfly wings. It's easy to lose or break discs. Our kids loved touching them while we were building, and we'd constantly have to replace discs that fell off.

jstanley
5 replies
1d2h

What is up with the URL?

simpsoka
3 replies
1d2h

Sorry, I don't know how that got added. It's https://flipdisc.io/

pvg
2 replies
1d2h

It's this misline in your html

<link rel="canonical" href="http://localhost:4321/">

HN extracts these.

simpsoka
0 replies
1d2h

Cool, thanks! I'll update that.

qmarchi
0 replies
1d2h

Excellent question, it should probably be changed to https://flipdisc.io/ (truncating everything after the first /)

BeefySwain
5 replies
1d2h

How exactly did the author get the panels? I've looked into stuff like this before and it's basically impossible to source outside of things like eBay. Unless you're willing to buy industrial quantities at industrial prices.

How did they buy them, and for how much?

simpsoka
1 replies
1d2h

I got mine off eBay, but you can get the same panels from AlfaZeta. There are some more affordable options like: https://xqd-led.en.alibaba.com/productgrouplist-936470954-2/.... I do mention in my post that I would like to see these panels become more affordable for hobbyists. If anyone wants to collaborate on this, please contact me!

sbarre
0 replies
6h56m

Do you mind sharing how much the panels cost from eBay?

I feel like that's a key data point that would help people decide if they want to explore this further.

edit: someone further down the thread discusses pricing: https://news.ycombinator.com/item?id=40791049

fragmede
1 replies
1d

What's wrong with eBay?

simpsoka
0 replies
23h40m

Nothing - just might have to wait a bit for them to come up.

lanewinfield
0 replies
20h17m

Speaking as someone who also recently purchased these panels (and read the second paragraph where they mention where they got them), they're from the company AlfaZeta.

They build and ship from Poland. They don't have a publicly available price list but they cost approx 220 EUR per 7x28 panel. Expensive, but few places still manufacture them.

If you continue reading the post, they also link out to other manufacturers including ones on AliExpress that seem to be cheaper.

carb
2 replies
1d2h

I was about to post the same.

The result is really nice, and makes the conclusion make a lot of sense.

I do hope that flipdiscs become more accessible for hobbyists. If anyone wants to collaborate on new affordable flipdisc hardware, let me know!

€4500 is quite the pill to swallow (unless prices have gotten cheaper since that 2018 Hackaday project)

simpsoka
1 replies
1d2h

I paid a fraction of that. They'll come up on eBay every once in a while.

carb
0 replies
1d

great to hear!

anfractuosity
0 replies
1d2h

You could also have a look for used bus signs on ebay, or I imagine scrap yards might have them too. I got a 14x20 display for around £50.

ape4
4 replies
1d2h

Whats the expected lifetime for a flipdisc display like that

simpsoka
3 replies
1d2h

over 150 million operations on average -- from alfazeta documentation

its_ethan
2 replies
23h57m

I was curious roughly how long 150 million operations is...

Assuming (literally just a guess) that the tiles "operate" at a rate of 3 times per second playing back a video or something:

(150 million operation) / (3 operations/ second) = 50 million seconds = 578 days

It's likely much slower than 3 operations per second too - so probably 6-10x that in reality, which would be on the order of a decade of continuous runtime before they reach expected EOL.

mmcclure
1 replies
14h46m

Keeping low numer of controllers on one data line, allows to drive these displays with an increadible speed of 15 frames per second (black – to – white).

From Alfazeta's page (including the typos). 15 frames per second feels pretty wild, but would also, unfortunately, change this math pretty considerably if you ran it full tilt.

its_ethan
0 replies
2h52m

I had originally assumed 15 fps but it did feel a bit too fast.. BUT a 15 fps video being displayed in black and white doesn't mean the tiles will "flip" 15 times per second - a 15fps video could still mean that a tile doesn't flip at all for 50 "frames".

It does leave you exposed to the risk of a video where one of these does flip like 12 times in a second for like 20 seconds or something.

You could probably analyze whatever video is being played to calculate some kind of like "risk" value or "expected-lifetime-decrease" value to at least better understand what the impact is of the video being played. All that goes out the window when you do the sort of real-time mirroring shown in the article.

yyyfb
3 replies
1d

I built a lo-fi device like this (with a LED matrix instead of a flipboard) and I didn't really find great software for building animations at a low pixel count. I ended up doing something super low level where I draw to a buffer directly using ImageMagick. If there's a better library I'd love to know.

wrs
2 replies
20h13m

The stack here is lo-res but not lo-power. “…we’re leveraging existing web tech that we’ve found to work well - PIXI for general 2D rendering, Three.js for 3D rendering, Matter.js for physics engine, and GSAP for animations. We also utilize node-canvas, and node-gl for server-side rendering.”

yyyfb
1 replies
18h58m

I'd be fine with power, I'm running off a raspberry pi that can do all this easily. Still I'm not sure how I'd go about plugging something like PIXI onto a custom display? It draws to a screen from a browser, and I need it to draw to a memory buffer...

beatboxrevival
0 replies
18h45m

You should be able to use the library mentioned in the article with a few small modifications to connect to your device.

ianbicking
1 replies
1d

Having silver on one side and an abstract/neutral design on the other side is an excellent effect

amelius
0 replies
20h26m

They have a work that shows melting polar ice, but I wonder how energy efficient it is (I expect it does not consume energy when nothing flips, but still ...)

lanewinfield
0 replies
20h15m

Each board is, as of this year, 220 EUR per 7x28 panel. Still expensive! But specialized.

scosman
2 replies
1d1h

Love this.

Reminds me of the “flip flap” boards in old train stations. Like https://www.vestaboard.com/

yojo
1 replies
1d1h

Man I love those things. I have warm memories of standing in Italian train stations as a kid and letting the clacking wash over me when they did a full board refresh. It’d fade out like a rain stick as the stragglers that started furthest from their target letter trickled in.

Now it’s all LED, which is way more practical and so much less magical.

wrs
0 replies
20h12m

I wish they would just fake the sound effect (hey, electric cars do it).

rob74
2 replies
11h38m

flipdisc displays are sort of an obscure technology

"niche technology" is probably the better term - that niche being readability in sunlight. A few years ago, flipdisc displays used to be very common in buses, trains etc. Then LEDs got better and the niche vanished...

nirav72
1 replies
4h32m

It was going to happen, these flip displays with moving parts probably required maintenance. Also higher energy consumption. Not to mention the noise. I still remember the noise when they use to have these in trains and airports.

glitcher
0 replies
1h18m

I always liked the clickity sounds of those panels updating!

rhaps0dy
2 replies
1d1h

Flip displays are an interesting alternative. They have no moving parts,

What? The display is made almost entirely of moving discs.

simpsoka
0 replies
1d1h

See discussion below. I just need to update the copy.

lucianbr
0 replies
1d

Except for the moving parts, there are no moving parts. What's unclear? :)

tailspin2019
0 replies
1d

That’s awesome. Looks like the wooden pixels rotate to reflect more or less light to achieve various shades of “grey”.

Ingenious!

simpsoka
0 replies
1d2h

That's rad! I didn't know about Wooden Mirror

nico
2 replies
1d2h

This looks amazingly cool. Love the old school “analog” feel of it

Thank you for sharing

nayuki
1 replies
20h42m

Well, it's mechanical but still digital. Each pixel is either on or off. Locations are discrete and finite.

oops
0 replies
17h33m

Each pixel is either on or off.

Or traveling. I imagine if you wanted to you could position the disc at any point between “on” and “off” by constantly flipping it back and forth.

Corrado
2 replies
23h33m

I think this could be useful as a NOC monitor. Mostly the display is static but if something goes wrong the display updates and the noise naturally draws your attention. No “alarm” necessary.

simpsoka
1 replies
22h57m

I love this idea. It alerts you without the adrenaline spike.

newaccount74
0 replies
8h51m

Pretty sure your brain will quickly associate the gentle sound of the display switching with the dreadful feeling that something went wrong...

wferrell
1 replies
1d

Kath - so cool to see this is you! What a great project. Well done.

simpsoka
0 replies
23h38m

Hey hey! Thank you!!

tailspin2019
1 replies
1d

In a world of flat featureless screens, I really love the physicality of this. Even the noise it makes. It feels like it communicates a lot more than its raw “pixel” count would suggest.

simpsoka
0 replies
23h56m

I love this and agree. I think having art that bridges the digital/physical divide will only be more important in the world of AI.

nayuki
1 replies
1d1h

Where is the obligatory Touhou Bad Apple animation on this black-and-white display?

dehugger
1 replies
1d

This is incredibly cool! Does the video audio amplify the sound of the discs flipping or are they really that loud?

simpsoka
0 replies
1d

They can be a little loud, but I find it pretty soothing, tbh. It's sort of like a rain storm.

cperry
1 replies
23h30m

Amazing work, I've long dreamed of building some sort of magical chyron or ticker using flip discs.

simpsoka
0 replies
23h28m

Thanks!! With scenes you could add a ticker for something to this board.

IIAOPSW
1 replies
19h48m

As for what to do next, there is nothing I want more than the old split-flap departure board of Penn Station. It was exactly like this one https://www.youtube.com/watch?v=U8azGTsslNc

The clicking, its sooooo satisfying.

voidUpdate
0 replies
9h44m

I've seen people making custom ones themselves, and its on my todo list of projects. https://youtu.be/K_UEkRFP7fs was where I got the idea from, but many videos exist

tuna-f1sh
0 replies
3h47m

Nice. I also have a fondness for flip-dots. Started with Javascript controller for Hanover bus display (https://engineer.john-whittington.co.uk/2017/11/adventures-f...) and continued with the Alfa-Zeta modules following a commission to make the controller for a 256x56 one - 24 panels!

For that I used a Python module (https://github.com/tuna-f1sh/flipdot) and Python Flask/React based manager, with sequence info in a SQLlite db. Same outcome as your App with pre-loaded transitions and of course, Game of Life: https://engineer.john-whittington.co.uk/2020/04/game-of-life...

It's my project TODO list to make a FPGA based direct HDMI controller for the Alfa-Zeta modules since refresh rate of the on-board firmware leaves a little to be desired.

seanvelasco
0 replies
1d2h

reminds me of a certain art installation at Changi Airport in Singapore. it was the first cool thing I saw in that country

olalonde
0 replies
3h27m

Just so you know, the links in the contact section appear to be broken.

noisy_boy
0 replies
5h9m

I have looking for a cheap low-res 18in x 10in display so that I can display stuff to it via Python using a raspberry pi; this is very interesting but its a bit too big and expensive.

nirav72
0 replies
4h29m

This is neat. But wondering what the power draw for something like this would be?

nayuki
0 replies
22h0m

Fun fact: Texas Instruments DLP (Digital Light Processing) are like a miniaturized version of the flip-disc display.

But some differences are that flip-discs rotate 180° whereas DLP pixels only tilt a little bit to redirect the light to a heatsink, flip-discs have different colors on each side whereas DLP has mirror pixels, flip-discs probably have finite lifespan whereas DLP is good for trillions of cycles, and DLP responds so quickly (in microseconds) that grayscale is accomplished by duty cycle modulation (PWM).

hex4def6
0 replies
21h38m

It would be really cool if you could read out the state of the grid as well. You could then use the display as SRAM. Would look very cool as part of the world's slowest microcontroller.

helsinkiandrew
0 replies
11h47m

Mike from Mikes Electric Stuff on YouTube, did a very interesting 25 minute video deep dive on flipdots - how they work, patent details, how to drive and get the best performance, etc:

https://www.youtube.com/watch?v=u26N-pQY2U4

eterevsky
0 replies
23h33m

I was expecting Bad Apple on flipdiscs.

dmd
0 replies
7h5m

I've got one of these too, albeit much lower resolution. I bought it as a Krush Flip Clock at CES 2016, and wrote a Python driver for it. Looks like it's the same exact protocol.

https://github.com/dmd/clack

beatboxrevival
0 replies
1d2h

I've been coveting a Vestaboard, but this seems like a more interesting alternative. Thanks for the guide!

LordShredda
0 replies
1d2h

I think the javascript here plays a rather small part in the entire assembly.

GalaxyNova
0 replies
17h48m

I've always wanted to build something like this, but I have no idea where to get the actual flipdiscs.

ElCapitanMarkla
0 replies
17h46m

Love this. I have 2 blank walls in my new office which could do with something like this