Show HN: I spent 6 years building a ridiculous wooden pixel display

391 benholmen 63 8/4/2025, 4:16:21 PM benholmen.com ↗
I built the world's most impractical 1000-pixel display and anyone in the world can draw on it. It draws a single pixel at a time and takes 30-60 minutes to complete a single image. Anyone can participate in the project by voting for the next image to be drawn, and submitting images.

https://kilopx.com/

Comments (63)

fentonc · 2h ago
Awesome project! I built a somewhat similar 30-pixel display: https://www.chrisfenton.com/the-pixelweaver/

Mine was entirely mechanical (driven by punch cards and a hand-crank), and changed all of the pixels in parallel, but a lot of the mechanism development looked extremely familiar to me.

benholmen · 2h ago
This is incredible! I can appreciate how much work it took to make this happen. Well done!

I was recently in the presence of some linotype machines from the 1800s and it's so good to be humbled by the achievements of people who came before us. That machine was so complex, I could barely begin to figure out how to manufacture one. Your discussion of looms reminds me of that!

theletterf · 53m ago
A refresh rate of 370 microhertz gives "Calm Technology" a whole new meaning. I love it.

https://en.wikipedia.org/wiki/Calm_technology

bl0rg · 34m ago
Coincidentally that's also the framerate of the YouTube stream main camera (please fix OP)
re · 2h ago
Really cool! I just watched it finish "cat saying 'hi'". It doesn't look like any new posts have shown up on @kilopx.com on Bluesky for the last 9 days though.

A few suggestions for improvements:

- After completing a submission, move the "pen" out of the way as much as possible to get a clean photo of the completed art before moving onto the next submission.

- On the website, show attribution for the currently in-progress submission.

- On the website, have a "history" gallery for completed submissions. It looks like pending submissions have permalinks that say "Timelapse will be available after this is drawn", but there's no way to discover permalinks for completed submissions (or the in-progress one).

No comments yet

xpe · 2h ago
Another idea: have the cubes point an edge straight forward (instead of a face). Then if each cube has two adjacent dark sides and two adjacent light sides, one could setup two ‘simultaneous’ images: one viewed from the left at 45° and another viewed from the right. (Each pixel would have four possibilities.)
boothby · 2h ago
Similarly, the camera could stay face-on and double the pixel count with largely the same hardware.
aarondf · 3h ago
This has to be the the most expensive cost per pixel display I've ever seen. And I've never loved a display more. This is absurd in the best possible way
Rexxar · 2h ago
And absolutely no energy consumption when you don't change the image.
kulahan · 5m ago
Move over, e-ink displays. A new king is in town.
benholmen · 3h ago
I don't think I want to think of the actual cost per pixel - especially the cost of my time! I have deliberately avoided accounting the final cost
zahlman · 3h ago
For what it's worth, dollar stores typically sell wooden cubes for arts & crafts purposes (board game designers also like them for prototyping) in bags that work out to a few cents per piece. I guess they're quite a bit smaller than what you ended up using, though. And of course that doesn't account for the frame or the control mechanism. (And now you have me trying to think of more robust ways to turn the pixels...)
zer00eyz · 1h ago
> I created a reciprocating poking mechanism that uses a flexible glue stick

With the most cost effective and creative "wear item" ever.

TrnsltLife · 21m ago
Very cool. I loved reading your write-up. It reminded me of something I'd read in a steampunk novel once. I had to Google it to get the details. It's the kinotrope from Gibson & Sterling's Difference Engine.

I found a blog post about it and someone who made one with a servo for each pixel. Now that would be expensive!

https://differencing.blogspot.com/2010/04/kinotrope-clackers...

jwagenet · 6m ago
Breakfast design has made a number of similar panels with different “mediums”, likely inspired by Rozin’s work: https://breakfaststudio.com/works/echo
derefr · 2h ago
Speaking of "alternatives to e-ink for a zero-power-use-when-not-updating dot-matrix display"...

Has there ever been designed a "display" that is just a thermal printer hidden in one end of a box, and a take-up spool + tensioning spring hidden on the other end, such that the "display" is then a continuous thermal paper "scroll" stretched across the box behind [UV-protective!] glass, that can be "refreshed" by printing a new full-width image to the thermal printer?

daotoad · 1h ago
If you wanted to take this a little further, you could cover the "display" with heat erasable ink like is used in a Pilot Frixion pens.

This ink is interesting in that it fades when heated (60 C), but darkens when cooled (-10 C). In between those temperatures it is stable.

Thus you could have one loop that is continuously reused. Not sure how many cycles you can get before the ink degrades.

gmueckl · 1h ago
I like that idea. The printing process should probably be inverted: cool the paper as a whole to darken the whole sheet amd use a small heating coil to erase.
cgriswald · 2h ago
Allow me to correct you: Some fax machines use thermal paper so your display can be at least 8.5".
turtlebits · 1h ago
Not sure if you can call it a display if you have to throw it away to change an image.
tristor · 2h ago
Ooh, I like this idea. You could also use the box structure to stretch the display so it has 4 sides if you build the mechanism correctly, which means as you refresh the image on the "primary" display it moves the other images to the secondary, tertiary, and quaternary displays before it gets taken up. You can use tensioned rollers at each corner hidden by the frame if you plan for a gap for "bezel".
antithesizer · 2m ago
Evil triumphs when good people lean into their hobbies.
saltcured · 2h ago
I keep trying to imagine "faster" variations.

What about some system to shoot wooden spheres into a tube or channel for each scan line, selectively feeding different color spheres. Some combination of gravity or pneumatics to drive it. So a scan line would flush out one end and refill from the other. Then scale it up to a stadium size unit with bowling ball pixels.

I guess a challenging part would be proper timing to recycling the colors back into their appropriate supply channels. And also introducing some kind of damping to quiet it down and reduce the wear and tear on the pixels.

On the other extreme, you could go active matrix and have blocks that simply rotate in place to show different face colors based on some solenoid/servo action.

rented_mule · 2h ago
Your idea is not too far from marble pixel art machines... https://youtu.be/w1ks0Vy98KI
hugs · 1h ago
I'm working on something similar, but 3D and faster motion: PinThing / TAP (Tangible Actuated Pins) [1]

"Motorized pin art display" is what i'm going for...

The problem with passion projects: Progress is never as much or as fast as I want, though! Hard to find the people who want to throw money at things like this and/or buy them. And anything mechanical gets complicated and expensive very quickly. But it's so much fun and a great way to learn and apply so many new skills: laser cutting, 3D printing, CNC milling, circuit design, embedded programming, etc.

[1]: https://youtu.be/tx4W3ZDA_Vg

xpe · 2h ago
You could order the presentation of a set of images by some distance metric :)

- naively: Levenshtein

- better: real world edit time based on a model of the display : probably dominated by XY travel distance

munificent · 2h ago
I was wondering about the algorithm to drive the plotter and update pixels, which ties into this.

Given the current image being shown and the next image, you (presumably) want to plot the pixels of the next image as quickly as possible. I believe the optimal algorithm is:

1. Calculate the set of pixels that are changed between the current and next image.

2. Find the shortest path from the plotter's current position through each of those pixels. I believe breadth-first search (O(n)) is sufficient here.

Running this on all potential upcoming images and choosing the one with the lowest total path cost would do what you propose under "better".

benholmen · 2h ago
Oh I kinda love the idea of drawing the next one based on the pixel diff! Would be fun to game that queue.
skrebbel · 2h ago
you could have it render a movie
yunusabd · 43m ago
Very nice!

> I have a mechanism to quickly delete problem submissions.

Did you build a male genitalia swastika classifier like the fish guy? (What a sentence)

https://news.ycombinator.com/item?id=44719222

cinntaile · 3h ago
There was a fish project on here a few days ago that also had to deal with uh... adverserial images and it was (mostly?) solved by training a neural net to detect those.
benholmen · 2h ago
TTFP will surely be < 1 day
tlaverdure · 35m ago
This has been a fun project to follow. Great job, Ben! Hope I'll see one of these in a coffee shop, mall, or airport one day.
paulorlando · 1h ago
Reminded me of NYU's Wooden Mirror Project: https://www.youtube.com/watch?v=Wb6eFGbwPeA
dpe82 · 27m ago
Super cool project! I see the map on the wall.. where in Wisconsin are ya?
rexreed · 1h ago
This is cool. I wonder, as you were iterating on the design and development, why didn't you start with a very small grid (10x10) to validate or test different options for their practicality and operation before scaling up to the 1000 pixel versions? It might have saved a lot of time and money, but maybe small scale tests aren't sufficient to work out the kinks?
jstanley · 2h ago
Hah, cool, I had an idea for a similar project (although I'm not crazy enough to make 1000 pixels, or a robot to turn them for me). But I got as far as making a JavaScript simulation and realised I couldn't be bothered manually turning the beads https://incoherency.co.uk/beadboard/
eclipticplane · 2h ago
Amazing.

Could turn this into a 4 color display at the cost of drawing speed?

benholmen · 2h ago
Yes! I have an RGB sensor that could handle that, but it's more bulky than the simple IR on/off sensor I went with. Could be four colors, or four shades of a color.
mosdl · 3h ago
Really cool and it would totally work for a restaurant/coffee shop.
benholmen · 3h ago
I think I might put this in my friend's coffee shop but I'll restrict access to people in the coffee shop. Not going to let the internet get a hold of that.

In addition to the user-controlled modes I also have ambient modes. My favorite is a clock that struggles to draw the current time because it takes too long

Mabusto · 2h ago
You gotta do the classic bouncing logo from The Office.
benholmen · 2h ago
Genius. I'll do this when I install it in my Zoom background and take it off the internet
joetannenbaum · 3h ago
Incredible write-up and a hugely ambitious project. Thanks for sharing!
xnx · 3h ago
Wow. Impressive. I would never have guessed you'd use a Vanna White / Wheel of Fortune turning method.
benholmen · 2h ago
That it, the method will forever be called the Vanna White Method
mjwhansen · 2h ago
Ben, can I get a vowel, please?
yubblegum · 1h ago
It may be "ridiculous" but the fact remains that you are (clearly) awesome.
explodingwaffle · 3h ago
This is awesome! Just so you know, you are legally obligated to do Bad Apple when interest dies down.
alnwlsn · 3h ago
By my estimation, it would only take 1/3 of a year to render
benholmen · 3h ago
y'know, I've been excited / feared that Bad Apple would show up. The good news is a lot of frames would probably just be a few pixels to change from the previous frame, so some might draw really quickly.

Basically you want to avoid keyframes on this thing, they'll kill you

drivers99 · 2h ago
Some of the ports of Bad Apple have had to deal with this and they narrowed it down to the few changes needed for each frame. When there were too many pixels to change all at once, they would make fewer changes in exchange for a loss of quality.

https://trixter.oldskool.org/2014/06/19/8088-domination-post...

https://trixter.oldskool.org/2014/06/20/8088-domination-post...

boredpudding · 2h ago
This used to exist! I remember a video about this large analog billboard in Amsterdam (?).

Unfortunately I can't find the video. Will edit if I do (or anybody else finds it first).

smokel · 2h ago
Perhaps you are thinking of Daniel Rozin's "Wooden Mirror" (1999)?

https://www.smoothware.com/danny/woodenmirror.html

boredpudding · 2h ago
That's a very good one, but in my case it was a huge billboard that was advertising movies and stuff.

It had cubes in different colors so from further away it would look like an image.

benholmen · 2h ago
Rozin was a direct influence on me! Seeing his stuff ~10 years ago got me thinking about unorthodox displays.
CodeWriter23 · 1h ago
Best practical application of glue stick ever!
alexandersix_ · 1h ago
When you commit, you really commit. What an incredibly cool project.

I need to go find some corgi art to upload next!

cgriswald · 2h ago
This is great, but you can get even more impractical: build a framebuffer!
ashleyhindle · 2h ago
This is so great

How is it volume wise while it's working? Manageable or painful?

benholmen · 2h ago
Pretty quiet! I spent some time figuring out how to make sure the stepper motors don't whine (the answer is microstepping and decent motor controllers). The pixel turning is very quiet unless it misses slightly, then it makes a clunk.
joshmanders · 2h ago
This is awesome, Ben!
mjwhansen · 2h ago
Such a cool project, Ben!