You’ve (probably) got four limbs, so why are you only using half of them when you’re working on the computer? Just because your toes don’t have the dexterity to type (again, probably) doesn’t mean your feet should get to just sit there doing nothing all day. In a recent project, [MacCraiger] shows you just how easy it can be to put some functionality under foot by building a pair of media control stomp switches.
If the devices pictured above look a lot like guitar effects, that’s because they share a lot of parts. [MacCraiger] used the same sort of switch and aluminum case that you might see on a pedal board, as he figured they’d be better suited to a lifetime of being stepped on than something he 3D printed.
Up on the desk, and this time in a printed case, is the Arduino Leonardo that they connect to. The wiring for this project is very straightforward, with the switches connected directly to the GPIO pins. From there, the Arduino firmware emulates a USB Human Interface Device and fires off the appropriate media control keystrokes to skip to the next track or pause playback depending on which switch has been engaged.
This hardware isn’t exactly breaking any new ground here, but we did like how [MacCraiger] used standard 3.5 mm audio cable and the associated jacks to connect everything up. It’s obviously on-theme for what’s essentially a music project, but more importantly, gives the whole thing a very professional look. Definitely a tip to mentally file away for the future.
As [Jan Derogee] explains in the faux-retro video after the break, drawing on classic 8-bit computers was something of a pain. The rudimentary light pens and joysticks of the 1980s allowed for free-form input, but were clumsy and awkward to use. Which is why he set out to create an ideal drawing device for the C64 using modern electronics. For the sake of completion, he also gave it a USB HID mode so it would work on somewhat more modern computers.
His device, which he’s calling the Commo Pad, looks like it could have been transported here directly from the 1980s, but it’s built from entirely new hardware. The case is actually made of wood that [Jan] sanded and painted to give it that chunky plastic aesthetic that we all know and love, and the retro artwork on the touch panel really goes a long way to sell the vintage vibe.
Speaking of which, the touch panel is perhaps the most interesting component of the entire build. It’s actually a resistive panel that was meant for mounting to an LCD that [Jan] has connected to an Arduino. All he had to do was provide a stable frame for it and print out some art work to slide in behind it.
The Arduino and associated electronics allow the Commo Pad to be picked up by the C64 as either a joystick or mouse, which means it doesn’t need any custom software on the computer side to function. Similarly, it can also mimic a USB mouse if you want to plug it into something made a bit later than 1982. Should you be so inclined to make it wireless, the addition of a Bluetooth seems like it would be relatively trivial.
After verifying that the knob worked for volume control on his computer, [Tysonpower] decided to try and pull the firmware from the device’s STM32 microcontroller. Unfortunately, this is where things got tricky. It turned out the chip had Code Protection enabled, so when it was wired up to a programmer and put into DFU mode, the firmware got wiped. Oops.
That left [Tysonpower] with no choice but to write a new firmware from scratch, which naturally required reverse engineering the device’s hardware. Step one was reading up on STM32 development and getting the toolchain working, which paved the way to getting the knob’s LED to blink. A couple more hours worth of work and some multimeter poking later, and he was able to read the knob’s movement. He describes getting USB HID working as a nightmare due to lack of documentation, but eventually he got that sorted out as well.
This multi-touch touch panel built by [thiagesh D] might look like it came from the retro-futuristic worlds of Blade Runner or Alien, but thanks to a detailed build video and a fairly short list of required parts, it could be your next weekend project.
The build starts with a sheet of acrylic, which has a grid pattern etched into it using nothing more exotic than a knife and a ruler. Though if you do have access to some kind of CNC router, this would be a perfect time to break it out. Bare wires are then laid inside the grooves, secured with a healthy application of CA glue, and soldered together to make one large conductive array. This is attached to a capacitive sensor module so it’ll fire off whenever somebody puts a finger on the plastic.
With RGB LED strips added to the edges, you could actually stop here and have yourself a very cool looking illuminated touch sensitive panel. But ultimately, it would just be a glorified button. There’s plenty of interesting applications for such a gadget, but it’s not going to be terribly useful attached to your computer.
To turn this into a viable input device, [thiagesh D] is using a Raspberry Pi and its camera module to track the number and position of fingertips from the other side of the acrylic with Python and OpenCV. His code will even pick up on specific gestures, like a three finger drag which changes the colors of the LEDs accordingly in the video below. The camera’s field of view unfortunately means the box the panel gets mounted to has to be fairly deep, but if recessed into the surface of a desk, we think it could look incredible.
The keyboard and mouse are great, we’re big fans. But for some tasks, such as seeking around in audio and video files, a rotary encoder is a more intuitive way to get the job done. [VincentMakes] liked the idea of having a knob he could turn to adjust his system volume or move forward and backwards through a stream in VLC, but he also wanted to be able to repeatedly enter keyboard commands with it; something commercial offerings apparently weren’t able to do.
So he decided to build his own USB knob that not only looks fantastic, but offers the features he couldn’t find anywhere else. It’s another project which proves that DIY projects don’t have to look DIY. In fact, they can often give their commercial counterparts a run for their money. But this “Infinity USB Knob” isn’t just a pretty face, it allows the user to do some very interesting things such as quickly undo and redo changes to see how they compare.
As you might imagine, the electronics for this project aren’t terribly complex. The main components are the Adafruit Trinket M0 microcontroller and the EC11 rotary encoder itself. To provide nice visual feedback he added in a NeoPixel ring, but that’s not strictly necessary if you’re trying to rig this up yourself. Though we have to say the lighting effects are a big part of what makes this build look so good.
Though certainly not the only part. The aluminum enclosure, combined with the home theater style knob on the encoder, really give the finished product a professional look. We especially like his method of drilling out the top of the case and filling in the holes with epoxy to create easy and durable LED diffusers. Something to keep in mind for your next control panel build, perhaps.
[VincentMakes] has done an excellent job of documenting the hardware and software sides of this build on Hackaday.io, and gives the reader enough information that replicating this project should be pretty straightforward for anyone who’s interested. While we’ve seen several rotary encoder peripherals for the computer in the past, we have to admit this is one of the most compelling yet from a visual and usability standpoint. If this build doesn’t make you consider adding a USB knob to your arsenal, nothing will.
The question of whether to use a mouse versus a trackball is something of a Holy War on the level of Vi versus Emacs. We at Hackaday want no part of such things, use whatever you want, and leave us out of it. But we will go as far as to say that Team Trackball seems to take things mighty seriously. We’ve never met a casual trackball user: if they’ve got a trackball on their desk then get ready to hear all about it.
[LayeredDesigns] mentions that all the free room inside the shell for this two-button modification has got him thinking of what else he could fit in there. The logical choice is a Teensy emulating a USB HID device, which could allow for all sorts of cool programmable input possibilities. One potential feature he mentioned was adding a scroll wheel, which the Teensy could easily interface with and present to the operating system.
[miroslavus] hasn’t had much luck with rotary encoders. The parts he has tested from the usual sources have all been problematic either mechanically or electrically, resulting in poor performance in his projects. Even attempts to deal with the deficiencies in software didn’t help, so he did what any red-blooded hacker would do — he built his own rotary encoder from microswitches and 3D-printed parts.
[miroslavus]’s “encoder” isn’t a quadrature encoder in the classic sense. It has two switches and only one of them fires when it turns a given direction, one for clockwise and one for counterclockwise. The knob has a ratchet wheel on the underside that engages with a small trip lever, and carefully located microswitches are actuated repeatedly as the ratchet wheel moves the trip lever. The action is smooth but satisfyingly clicky. Personally, we’d forsake the 3D-printed baseplate in favor of a custom PCB with debouncing circuitry, and perhaps relocate the switches so they’re under the knob for a more compact form factor. That and the addition of another switch on the shaft’s axis to register knob pushes, and you’ve got a perfectly respectable input device for navigating menus.
We think this is great, but perhaps your project really needs a legitimate rotary encoder. In that case, you’ll want to catch up on basics like Gray codes.