Das Blinkenlights
The "Das Blinkenlights" project enhances a Raspberry Pi NAS server with LED lights, using a PIC16F1782 microcontroller. Design files are shared publicly, promoting cost-effective DIY electronics for hobbyists.
Read original articleThe article discusses a hobby project titled "Das Blinkenlights," which aims to enhance a Raspberry Pi-based NAS server with decorative LED lights. The author reflects on their nostalgia for older computing systems and the visual appeal of flashing lights. The project involves creating a 2U panel made from a 1.6mm thick fiberglass PCB, featuring 128 reverse LEDs. The design utilizes a PIC16F1782 microcontroller, which is repurposed from a previous project, to control the LEDs. The author explains the technical challenges faced, such as the limited GPIO pins on the microcontroller and the need for shift registers to expand output capabilities. The project is designed to be cost-effective, with the author opting to share the design files publicly rather than selling them, encouraging others to replicate the project. The article also provides details on the assembly and programming of the microcontroller, along with links to the design files and code. The author expresses a willingness to assist others interested in the project while highlighting the simplicity and fun of DIY electronics.
- The project enhances a Raspberry Pi NAS server with decorative LED lights.
- It utilizes a PIC16F1782 microcontroller and shift registers for LED control.
- The design files and code are shared publicly for others to replicate.
- The author emphasizes nostalgia for older computing systems as motivation.
- The project is intended to be cost-effective and accessible to hobbyists.
Related
1990's Workstation in Your Pocket
A project on Hackaday emulates a 1990s DECstation workstation with an RP2040 microcontroller, replicating features like a MIPS processor, UNIX OS, monochrome screen, USB peripherals, and Ethernet. The GitHub repository offers detailed information.
Programming a CH32v003 with light
The author discusses integrating optical wireless communication into circuits using the CH32V003 microcontroller, highlighting LED use for transmission and reception, and demonstrating a functional light communication system with minimal components.
Guy does demoscene tricks to ESP32 powered display (2022)
The project evolved from a simple ESP32 message board to a complex system with animations and sound, utilizing coding techniques for optimization and highlighting scope creep in the learning process.
Show HN: Belshazzar's Clock, luminous paint night clock
The Belshazzar clock, inspired by a biblical story, features a luminous drum, is powered by a stepper motor and ESP32C3 board, and currently displays UTC time. Future improvements are planned.
Lego Retro Radio #10334 – play your own music using a Raspberry Pi
A project allows users to integrate a Raspberry Pi into the Lego Retro Radio set for custom music playback, involving design modifications and Python code for controlling music through the tuning knob.
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
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.
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!
>> unsigned char ascii2dec( unsigned char data) // expecting a hexedecimal num 0..F anything else returns 0
{
if(data=='0') return 0;
if(data=='1') return 1;
if(data=='2') return 2;
if(data=='3') return 3;
if(data=='4') return 4;
if(data=='5') return 5;
if(data=='6') return 6;
if(data=='7') return 7;
if(data=='8') return 8;
if(data=='9') return 9;
if(data=='A') return 10;
if(data=='B') return 11;
if(data=='C') return 12;
if(data=='D') return 13;
if(data=='E') return 14;
if(data=='F') return 15;
if(data=='a') return 10;
if(data=='b') return 11;
if(data=='c') return 12;
if(data=='d') return 13;
if(data=='e') return 14;
if(data=='f') return 15;
return 0; // default/error
}I could probably think about a little bit shorter function for that ;)
(It ran the very cool "BeOS" operating system[1], which was eventually ported to Mac, then x86.)
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...
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.
See: https://en.m.wikipedia.org/wiki/Blinkenlights http://www.catb.org/~esr/jargon/html/B/blinkenlights.html
> 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.
It would be nice to explicitly attach a (FOSS) license to this. (Apologizes if there is one and I just missed it)
Edit: Tried to buy these (either PCBs, the BOM, or ideally fully assembled boards) and holy shit I've never seen a worse website than oshwlab/easyeda. So far: clicked 'purchase parts,' had to sign up, captcha was at max strength and had to agonizingly select slowly fading in cards over four times; clicked to send code; code took a while to get here and captcha expired; entered code but it had ambiguous "i" vs. "l" vs. "1" and I entered the wrong one; repeat captcha, this time only two pages of slowly fading cards; click to send code again; enter code; captcha expired; enter captcha again, enter code again; told I already have an account (I do??); go to forgot password; solve another long captcha; click to send code; captcha expired; enter code and captcha; password reset; get taken to generic landing page; go back to main site and click 'purchase parts' again; says I'm not logged in. log in again; taken to generic landing page; go back to main site and click 'purchase parts'; page loads...takes me to "lcsc" and tells me to make an account. JFC.
> 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
Related
1990's Workstation in Your Pocket
A project on Hackaday emulates a 1990s DECstation workstation with an RP2040 microcontroller, replicating features like a MIPS processor, UNIX OS, monochrome screen, USB peripherals, and Ethernet. The GitHub repository offers detailed information.
Programming a CH32v003 with light
The author discusses integrating optical wireless communication into circuits using the CH32V003 microcontroller, highlighting LED use for transmission and reception, and demonstrating a functional light communication system with minimal components.
Guy does demoscene tricks to ESP32 powered display (2022)
The project evolved from a simple ESP32 message board to a complex system with animations and sound, utilizing coding techniques for optimization and highlighting scope creep in the learning process.
Show HN: Belshazzar's Clock, luminous paint night clock
The Belshazzar clock, inspired by a biblical story, features a luminous drum, is powered by a stepper motor and ESP32C3 board, and currently displays UTC time. Future improvements are planned.
Lego Retro Radio #10334 – play your own music using a Raspberry Pi
A project allows users to integrate a Raspberry Pi into the Lego Retro Radio set for custom music playback, involving design modifications and Python code for controlling music through the tuning knob.