Stokes’ ProjBlog

A journal documenting innumerable, mostly terminally in-progress undertakings. Nerdiness abounds.


‘The Control Panel Project’ September 2, 2009

Filed under: New project!,The Control Panel Project — Stokes @ 4:48 pm
A retro-style control panel module.

I’ve long been interested in UI and usability; I took some courses back in school and I’ve pursued it on my own since then. A couple of months back, I performed a thought experiment: what would be the worst (plausible) user interface hardware? It occurred to me that bad interfaces keep the user from performing an activity, but what if the interface itself was the activity? In such a case, the regular rules no longer apply.

From that came my idea for a modular, expandable control panel composed of banks of toggle switches.

A retro-style control panel module.

The prototypes I built consist of sets of eight vintage toggle switches equally spaced on brushed aluminum panels. The panels have a nice bevel on one side and are open on the other; the back has mounting holes and a set of leaf springs for maintaining tension but is otherwise open as well. Placed open-end-to-open-end or top-to-bottom, the switches are distributed evenly across the resulting surface.

The end result has a nice, Altair/PDP-8 feel to it.

A retro-style control panel module.

The system is really just a bunch of switches connected to 74LS166 parallel-to-serial shift registers. The one vaguely clever electronic feature is that each panel’s orientation changes both the order in which the switches are scanned and which direction is ‘on.’ This is accomplished by a header wired to reverse all of the switches and swap power and ground when plugged in upside down. This way, the control panel can be reconfigured without the need to adjust the software that reads it — it only needs to be told the number of panels attached. Even this could be made automatic in a future version.

I had additional plans for including other vintage-style controls (e.g. knobs, thumbwheels, et cetera), but this project has sort of stagnated. If I return to the project, I may implement this.

Then I just have to think of something to control with the panel.


Leave a Reply

You must be logged in to post a comment.