[HN Gopher] Show HN: I spent 6 years building a ridiculous woode...
       ___________________________________________________________________
        
       Show HN: I spent 6 years building a ridiculous wooden pixel display
        
       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/
        
       Author : benholmen
       Score  : 618 points
       Date   : 2025-08-04 16:16 UTC (6 hours ago)
        
 (HTM) web link (benholmen.com)
 (TXT) w3m dump (benholmen.com)
        
       | joetannenbaum wrote:
       | Incredible write-up and a hugely ambitious project. Thanks for
       | sharing!
        
       | aarondf wrote:
       | 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
        
         | benholmen wrote:
         | 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 wrote:
           | 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...)
        
           | lemonberry wrote:
           | But the experience and feeling of building it... priceless.
           | Money can't account for that.
        
         | Rexxar wrote:
         | And absolutely no energy consumption when you don't change the
         | image.
        
           | kulahan wrote:
           | Move over, e-ink displays. A new king is in town.
        
           | joemi wrote:
           | It was directly inspired by e-ink, after all.
        
         | zer00eyz wrote:
         | > I created a reciprocating poking mechanism that uses a
         | flexible glue stick
         | 
         | With the most cost effective and creative "wear item" ever.
        
         | ortusdux wrote:
         | I think the Mythbusters might still hold the record -
         | https://youtu.be/ZrJeYFxpUyQ?si=pysqKGFiDO99oyvD&t=476
        
       | mosdl wrote:
       | Really cool and it would totally work for a restaurant/coffee
       | shop.
        
         | benholmen wrote:
         | 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 wrote:
           | You gotta do the classic bouncing logo from The Office.
        
             | benholmen wrote:
             | Genius. I'll do this when I install it in my Zoom
             | background and take it off the internet
        
       | cinntaile wrote:
       | 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 wrote:
         | TTFP will surely be < 1 day
        
         | rightbyte wrote:
         | The constraint that the picture needed to be a right facing
         | fish made it somewhat easier though. Now I need to paint
         | another fish...
        
       | xnx wrote:
       | Wow. Impressive. I would never have guessed you'd use a Vanna
       | White / Wheel of Fortune turning method.
        
         | benholmen wrote:
         | That it, the method will forever be called the Vanna White
         | Method
        
           | mjwhansen wrote:
           | Ben, can I get a vowel, please?
        
       | explodingwaffle wrote:
       | This is awesome! Just so you know, you are legally obligated to
       | do Bad Apple when interest dies down.
        
         | alnwlsn wrote:
         | By my estimation, it would only take 1/3 of a year to render
        
           | benholmen wrote:
           | 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 wrote:
             | 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...
        
       | eclipticplane wrote:
       | Amazing.
       | 
       | Could turn this into a 4 color display at the cost of drawing
       | speed?
        
         | benholmen wrote:
         | 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.
        
           | stavros wrote:
           | Why do you need a sensor? Don't you always know what face
           | each cube is showing?
        
       | xpe wrote:
       | 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
        
         | benholmen wrote:
         | Oh I kinda love the idea of drawing the next one based on the
         | pixel diff! Would be fun to game that queue.
        
           | skrebbel wrote:
           | you could have it render a movie
        
           | sphars wrote:
           | This version of the Bad Apple meme[0] does just that, with
           | physical apples: https://www.youtube.com/watch?v=lT-fdnIK0k0
           | 
           | [0]: https://knowyourmeme.com/memes/bad-apple
        
         | munificent wrote:
         | 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".
        
       | ashleyhindle wrote:
       | This is so great
       | 
       | How is it volume wise while it's working? Manageable or painful?
        
         | benholmen wrote:
         | 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.
        
       | xpe wrote:
       | 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 45deg and
       | another viewed from the right. (Each pixel would have four
       | possibilities.)
        
         | boothby wrote:
         | Similarly, the camera could stay face-on and double the pixel
         | count with largely the same hardware.
        
           | zahlman wrote:
           | For this to work, you'd want two adjacent faces painted,
           | rather than opposite faces being painted, which seems to be
           | how they're currently done (unless they only have one face
           | painted?). Then the four possible rotations would allow for
           | each possible pixel-pair. (The cubes could perhaps instead be
           | squat rectangular prisms, to correct the aspect ratio, too.)
        
             | boothby wrote:
             | Likewise, if you generalize to 3-face array, you'd need an
             | octagonal unit painted in a 2^3 debruijn sequence...
        
         | mxfh wrote:
         | If you're willing to sacrifice a color just use
         | triangles/prisms the faces could then just be virtually
         | adjacent and still rotate independently
         | 
         | https://excalidraw.com/#json=driyv7dR-eODBzuh_hdrk,93QQvkYae...
        
           | mxfh wrote:
           | I guess the patents are long expired now and don't really
           | apply to pixels, but that concept exists already for non-
           | pixelated images and sadly these are replaced mostly by LEDs
           | now in the wild:
           | 
           | https://www.rotapanel.com/trivision-mechanism-and-prism-
           | type...
        
       | boredpudding wrote:
       | 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 wrote:
         | Perhaps you are thinking of Daniel Rozin's "Wooden Mirror"
         | (1999)?
         | 
         | https://www.smoothware.com/danny/woodenmirror.html
        
           | benholmen wrote:
           | Rozin was a direct influence on me! Seeing his stuff ~10
           | years ago got me thinking about unorthodox displays.
        
           | boredpudding wrote:
           | 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.
        
       | fentonc wrote:
       | 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 wrote:
         | 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!
        
       | cgriswald wrote:
       | This is great, but you can get even more impractical: build a
       | framebuffer!
        
       | joshmanders wrote:
       | This is awesome, Ben!
        
       | derefr wrote:
       | 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?
        
         | cgriswald wrote:
         | Allow me to correct you: Some fax machines use thermal paper so
         | your display can be at least 8.5".
        
         | tristor wrote:
         | 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".
        
         | daotoad wrote:
         | 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 wrote:
           | 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.
        
         | turtlebits wrote:
         | Not sure if you can call it a display if you have to throw it
         | away to change an image.
        
       | mjwhansen wrote:
       | Such a cool project, Ben!
        
       | saltcured wrote:
       | 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 wrote:
         | Your idea is not too far from marble pixel art machines...
         | https://youtu.be/w1ks0Vy98KI
        
       | jstanley wrote:
       | 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/
        
       | re wrote:
       | 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).
        
       | rexreed wrote:
       | 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?
        
       | paulorlando wrote:
       | Reminded me of NYU's Wooden Mirror Project:
       | https://www.youtube.com/watch?v=Wb6eFGbwPeA
        
       | CodeWriter23 wrote:
       | Best practical application of glue stick ever!
        
       | alexandersix_ wrote:
       | When you commit, you really commit. What an incredibly cool
       | project.
       | 
       | I need to go find some corgi art to upload next!
        
       | yubblegum wrote:
       | It may be "ridiculous" but the fact remains that you are
       | (clearly) awesome.
        
       | hugs wrote:
       | 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
        
       | theletterf wrote:
       | A refresh rate of 370 microhertz gives "Calm Technology" a whole
       | new meaning. I love it.
       | 
       | https://en.wikipedia.org/wiki/Calm_technology
        
         | bl0rg wrote:
         | Coincidentally that's also the framerate of the YouTube stream
         | main camera (please fix OP)
        
         | lemonberry wrote:
         | This is really interesting. Have you read Amber Case's book,
         | "Calm Technology"? If so would you recommend.
        
           | theletterf wrote:
           | I do! https://passo.uno/best-tech-writing-books/
        
             | lemonberry wrote:
             | Thank you! I subscribed to your RSS feed too. Nice
             | interrobang reference in your About Me.
        
       | yunusabd wrote:
       | 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
        
       | tlaverdure wrote:
       | 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.
        
       | dpe82 wrote:
       | Super cool project! I see the map on the wall.. where in
       | Wisconsin are ya?
        
         | benholmen wrote:
         | Western Wisconsin, Eau Claire. It's beautiful here
        
       | TrnsltLife wrote:
       | 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 wrote:
         | Breakfast design has made a number of similar panels with
         | different "mediums", likely inspired by Rozin's work:
         | https://breakfaststudio.com/works/echo
        
       | antithesizer wrote:
       | Evil triumphs when good people lean into their hobbies.
        
       | paulgerhardt wrote:
       | See also Daniel Rozin's _Wooden Mirror_ [1999]
       | 
       | https://digitalartarchive.siggraph.org/artwork/daniel-rozin-...
        
       | _giorgio_ wrote:
       | It reminds me of this
       | 
       | In Christopher Nolan's "Interstellar," the "Interstellar library"
       | refers to the tesseract, a 5-dimensional space within a black
       | hole, visualized as a bookshelf. This structure is not a physical
       | library but rather a construct created by future humans, allowing
       | Cooper to interact with the past and relay gravity data to his
       | daughter, Murph.
        
       | donatj wrote:
       | Oh hey, I know you IRL from the PHP meetups! I've been watching
       | this develop on Bluesky!
       | 
       | Super cool project.
        
       | bobafett-9902 wrote:
       | this is so cool! add some Mark Rober build type music montage and
       | this is a viral video on YT
        
       | grliga wrote:
       | this similar(?) one paints one pixel at a time, but with ping
       | pong balls
       | 
       | https://everyware.kr/home/portfolio/r/
        
       | joemi wrote:
       | This is pretty cool as-is, but I can't help but try to think up
       | ways to increase the speed. (Not the point, I know.) I feel like
       | it should be able to do a whole column pretty quickly with some
       | optimizations. If the device that turns a block could do so
       | without needing x-axis alignment to change, then you could do a
       | whole column pretty quickly. Or perhaps it'd be better to do rows
       | instead of columns, since the y-axis alignment shouldn't need to
       | change with the current device. As for the block-turning device
       | itself, I think some sort of thing that rotates would speed
       | things up since you wouldn't need to reset, I think. I bet a
       | manufacturing automation specialist could get this thing
       | cruising...
       | 
       | BTW I love that you initially went with a very direct e-ink
       | analog with the balls!
        
       | jamestimmins wrote:
       | This is really exciting. The world of non-electronic computer
       | interfaces has a ton of potential, so I love seeing people build
       | them and write up their experiences.
       | 
       | Congrats OP!
        
       | stavros wrote:
       | This is fantastic, great job! I loved reading about the process,
       | and it's the sort of pointless thing I really enjoy seeing done
       | to perfection.
        
       | crimony wrote:
       | You have four sides to each pixel cube, have you considered
       | black, white and two grey levels?
        
       | christophilus wrote:
       | Rad. The occasional crazy project like this is what keeps me on
       | HN.
        
       | fitsumbelay wrote:
       | this is what I come to hacker news for. this. so awesome
        
       | mappu wrote:
       | There's a full colour one of these in the entrance hallway inside
       | the Berlin Technikmuseum, near the Zuse exhibit - there are 12800
       | cubes, each with 4 colours:
       | https://www.youtube.com/watch?v=BfWFLnsy6QA
        
       | 0x696C6961 wrote:
       | But can it run doom?
        
       ___________________________________________________________________
       (page generated 2025-08-04 23:00 UTC)