💾 Archived View for gemini.ctrl-c.club › ~stack › gemlog › 2023-03-09.videoswitch.gmi captured on 2023-05-24 at 18:38:32. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-03-20)
-=-=-=-=-=-=-
It seems that I can't concentrate on software much these days.
A friend had asked me to see what I can do with a broken 80's video switch with about 100 lit pushbuttons. Ah, I remember seeing one of these at a high-end studio back in the day. I found myself drawn to it. How does one light up dozens of incandescent lamps with a microcontroller?
Well, all the lights were blown out, so I stuck LEDs into the switches. Reverse engineering the board I traced past the drivers to flip-flops for the lamps -- and it worked. I McGivered these into a shift register through creative soldering and lead-clipping, but it the thing was unreliable and after replacing a few chips I gave up on in-circuit modification. I think that someone attached a 12-volt power supply to 5-volt logic, blowing out every lamp and making the logic flaky.
Instead I wire-wrapped (I love wire-wrapping, and it's period-appropriate) a controller using 5 DM13A LED driver shift-registers (each drives 16 LEDs), and it works like a charm, driven by a $3.00 (double that for 2023) ESP32 devboard. Also the whole thing draws less than 2 Amps with all lights on and almost nothing with lights off (the ancient heap was straining my 5A power supply).
Switch Controller Image (72KB)
Now I have a 5x16 display buffer, and refresh by shifting all 5 into an output pin while twiddling the clock pin. It's pretty fast - the clock can go to 25MHz I think. In fact I could probably set up multiple buffers to create a brightness control if I cared.
Now for software I suppose. The switch has a joystick and a few analog controllers, so I could rig up pong or sudimentary space invaders. Or just flash some lights like a sci-fi- computer.