Das Blinkenlights (rodyne.com)
Got a boring server rack? Got a retro-computer project? Need some bling??
If you have a little electronics skill then you may want to make a few of these babies to let your server rack party like a 1970's mainframe.
Just a fun little project done over a couple of days at XMAS, and probably best not to install in the corporate server room!
83 comments
[ 3.0 ms ] story [ 139 ms ] thread> Show HN is for something you've made that other people can play with. HN users can try it out, give you feedback, and ask questions in the thread.
> Off topic: blog posts
https://news.ycombinator.com/showhn.html
> On topic: things people can run on their computers or hold in their hands. For hardware, you can post a video or detailed article. For books, a sample chapter is ok.
While it's posted on a blog, I would say it meets the criteria for having the video and write-up showing off the cool thing that has been built.
I think what that page is saying about blog posts is that you shouldn't post a Show HN as a 'look at this blog post I made about [some random topic]', as in when it's the blog post itself that you're showing off. It's not saying you can't post any blog post as a Show HN.
But I like the title Das Blinkenlights so have changed it anyway. @boznz: I hope that's ok!
(The post is currently at #3 on the frontpage so there's not much need for it to be high on /show in any case.)
That's when you design in a PC board stiffener. These are just pieces of metal, U-channel, L-channel, or solid bar, to add some structural strength. Cheap and easy, but rarely seen in hobbyist work. Any board with buttons or knobs or connectors unsupported for more than a few inches should have some stiffening. You have to allow space for stiffening bars when designing the board, and you need to place screw holes.
They are simple to work with. Each LED has 4 connections: GND, +5V, DATA IN and DATA OUT. Each LED grabs the first 24 bits of the data stream (8 bits for Red, Green and Blue) and sends the rest on DATA OUT for the next LED.
for(i=0;i<8;i++) LEDRegister[i]=LEDRegister[i]+TMR0+addr;
Note this is also technically a bug, the for(i=0;i<8;i++) loop executes so fast that TMR0 (an independent PIC timer that increments every 740uS) is usually the same value added to each LEDregister. I actually added +i to the end of this line in my version, but I'm guessing someone making this will tweak the code to do whatever they want or store some patterns as consts. The code really is quite crappy now that I look at it sober, the watchdog timer is turned off and should be on, there is no checksum on the serial data, procedures called from interrupts, defines with double-slash comments, all stand out like a sore thumb. Lucky it just blinks lights and doesn't run a dialysis machine!
> // no data coming in so do something interesting
My question is what they send over serial.
I currently have a small program on the RPi NAS which polls my AWS server showing a few metrics, uptime, load, traffic and latest sessionID, but it was off at the time of the video as it is pretty static. Only the top panel is actually used for this the others are just random for now work in progress I guess.
For my retro computer, it is still a bit of a mess, but should be easy to clock out the 16 CPU registers into a serial stream which I will hook a small micro into to send it over a UART. I have actually gotten more excited about completing the retro computer project since having the lights to look at.
Blinkenlights isn’t a german word it’s pseudo german for Blinklicht originating from
https://en.wikipedia.org/wiki/Blinkenlights#:~:text=on%20the...
But the Chaos Computer Club built light installations called
https://en.wikipedia.org/wiki/Project_Blinkenlights
And the CCC project was a whole building.
For his example, I was expecting a whole cage with some tricked out lights, maybe some smoke effects (I can see new colo signs being updated "no cardboard,no smoke machines allowed"), a sub-woofer playing some chiptunes, etc.
Not quite. The -ke ending here is just another regional variant of the diminutive. The s at the end is a colloquial plural form.
So the transformation from German to this weird german-english would be:
Knöpfe - Knöpfchen - Knöppkes - Cnoeppkes
https://en.m.wikipedia.org/wiki/Jim_Knopf
And the article is interesting anyway.
There's a joke if you have IPV6 connectivity where if you use IPV4 it says it has full colour support but if you do... well, it doesn't!
Someone wrote about it on Medium: https://medium.com/nerd-for-tech/telnetting-watching-star-wa...
Nice bit of nostalgia for me.
https://blink1.thingm.com/
It would be nice to explicitly attach a (FOSS) license to this. (Apologizes if there is one and I just missed it)
I am personally quite convinced that they chose to do it this way because the way you describe it – the obvious way – did not look cool enough.
Reference: https://thedailywtf.com/articles/Thinking-Machines#comment-1...
See: https://en.m.wikipedia.org/wiki/Blinkenlights http://www.catb.org/~esr/jargon/html/B/blinkenlights.html
(It ran the very cool "BeOS" operating system[1], which was eventually ported to Mac, then x86.)
[0] https://en.wikipedia.org/wiki/BeBox
[1] https://en.wikipedia.org/wiki/BeOS
https://www.theregister.com/2025/01/09/testing_haiku_beta_5/
It's like explaining to young people that we used to have to pay per message for SMS, or that only one person could be on the Internet at a time at your house.
Now if you'll excuse me, I see some suspicious looking clouds I need to go yell at.
It means that instead of being mounted to a PCB and having the light shine "up" from the board, it instead shines down between the solder points, and you arrange for the PCB to have a hole there. It means all the components are on one side, but the light is emitted on the back which can be clean and/or have cool silkscreens etc. Nice!
[1]: http://www.kingbrightusa.com/category.asp?catalog_name=LED&c...
> First problem there are not enough GPIO pins on the 28-pin PIC to drive 128 LED’s, plus an address line, plus a serial receive pin, minimum GPIO’s for that is 24 (16×8 LED scan matrix)+4(address)+1(RXD) = 29. A simple solution is to add two 74HC595 shift registers to increase the outputs by 16 at the expense of 4 pins to control them.
Wouldn't the simple solution be just to split the matrix in half and throw second PIC in there? Or just make 1U panels instad of 2U?
Also the PIC is rated to sink/source 25 mA so you could have skipped the led driver transistors, making the boards even simpler.
Also RPI has builtin i2c, so you don't need usb adapter for it.
I could probably think about a little bit shorter function for that ;)
On another note, somebody asked me to make 30 panels using an RP2040 which I will put up on my site when ready, price will actually be less due to qty. as a side note he did want me to use the RP2350 but nobody has any in stock yet.