These are ideas that I’ve come up with for projects which I have either not started or not finished. This page is a working log of things I need to remember to work on when and if the opportunity presents itself. If you manage to do any of these things, I’d like to see.


  • Dance arcade cabinet (for sister’s and brother-in-law’s rec room)
    • Dance pads: One sensor square was designed and tested and is known to work, though a redesign may be in order at some point.
    • USB HID controller: A box that has an arbitrary number of in and out lines. I’d prefer something that uses the more modern, more plug-and-play USB HID format, wherein we have not only a USB device but one that doesn’t require a specific driver. Since the target platform is Linux, that’s important. In the time since I last worked on it, this guy basically did what I’d been trying to do, but it might be useful to get that build running on Ubuntu instead of Windows.
    • Light controller: An RS-232-based design was successfully built. Outputs were broken-out chains of 74HC595 SIPO shift registers. It’s a common design and easy to adapt to any microcontroller. Running it would require capable client software on the PC to read/write the device directly. Hooks exist in StepMania to control lights on the cabinet and pads (I wrote one myself). Barring a direct mapping to a suitable HID-base device class, a virtual serial port is a possibility.
    • Input controller: Basically, the light controller in reverse. Inputs would be broken-out chains of 74HC164 PISO shift registers (or cheap microcontrollers programmed to behave in the same way). The device would identify itself as a USB gamepad with a button for each input (though it could be extended to read ADCs as analog controls, too) and zero platform-dependent code would be necessary.
    • The MEGA KNOB: A 12- to 18-inch diameter wheel on the front of the cabinet that could be spun game-show-style to quickly navigate a large song selection. I never fully worked out the details, but I have a handful of bearings that I harvested from a pair of rollerblades that might be helpful. The endgame is to get the motion of the wheel into a rotary encoder so that it can be fed into the input controller.


Nothing currently.

Leave a Reply

Your email address will not be published. Required fields are marked *