Back in the old days, when handing someone a DB serial cable when they asked for a DE serial cable would get you killed, KVM switchers were a thing. These devices were simple boxes with a few VGA ports, a few PS/2 ports, and a button or dial that allowed your input (keyboard and mouse) and output (video) to be used with multiple computers. Early KVMs were really just a big ‘ol rotary switch with far, far too many poles. Do you remember that PS/2 wasn’t able to be hot plugged? The designers of these KVMs never knew that.
Today, KVM switchers are a bit more complicated than a simple rotary switch. We’re not dealing with VGA anymore — we have HDMI muxes. We’re also not dealing with PS/2 anymore, and USB requires a bit of microelectronics to switch from one computer to another. For one of his many Hackaday Prize entries, [KC Lee] is designing a low-cost HDMI switch and USB mux. It works, it’s cheap, and if you need to switch a keyboard, mouse, and monitor between boxes, it’s exactly what you need.
First off, the HDMI switching. Designing a switch for HDMI would usually take some obscure parts, intricate routing, and a lot of prototyping time. [KC] found a way around this: just hack up a $5 HDMI switch. This cheap HDMI switch is as simple as it gets, with an HDMI mux doing the heavy lifting and an 8-pin microcontroller to handle the buttons and a selector LED.
For the USB, there are a few more design choices. For USB 1.x switching, [KC] figures he can get away with a 74HC4052 dual 4:1 analog mux. Yes, he’s doing digital with analog chips, the heathen. There are drawbacks to this: everything could break, and it’s only USB 1.x, anyway. For a USB 2.0 KVM, there are a few more professional options. The OnSemi NCN9252 is a proper USB 2.0 mux, and in the current design.
Sometimes you run into a few problems when developing your own hardware, and to solve these problems you have to build your own tools. This is exactly how [KC Lee]’s USB Packet Snooper was created. It’s a small device that allows for capturing and analyzing Full Speed USB traffic to debug one of [KC]’s other Hackaday Prize entries.
[KC] is building an HID Multimedia Dial for this year’s Hackaday Prize. It’s kind of like the Microsoft Surface Dial or the ubiquitous Griffin PowerMate that has been on the market for the better part of two decades. This multimedia dial is bitbanging USB with an STM8, which means [KC] needs a tool to capture raw USB packets.
The design of this USB Packet Snooper is split up into two parts. The first is either a dongle or a pass-through device that simply serves as a tap between a USB device and a USB host. The logging and analysis board attaches to this dongle, and uses a rather fast ARM microcontroller to listen in on USB packets and send everything over serial to a PC.
This is a rather novel device; V-USB is limited to Low Speed USB, and other USB capture tools are far out of reach of the hobbyist budget. Software solutions on a PC obviously won’t work because [KC] doesn’t even know if he’s sending valid USB packets. This is a great tool that finally brings hobbyist-level USB analysis up to Full Speed USB.
Mass production means that there’s a lot of great hardware out there for dirt cheap. But it also means that the manufacturer isn’t going to spend years working on the firmware to squeeze every last feature out of it. Nope, that’s up to us.
[deqing] took a Bluetooth Low Energy / USB dongle and re-vamped the firmware to turn it into a remote keyboard and mouse, and then wrote a phone app to control it. The result? Plug the USB dongle in, and the computer thinks it sees a keyboard and mouse. Connect the phone via BLE, and you’re typing — even if you don’t have your trusty Model F by your side.
[Deqing] points out that ergonomics and latency will make you hate using this in the long term, but it’s just meant to work until you’ve got SSH up and running on that headless single-board Linux thing. If you’ve ever worked with the USB or BLE specifications, you can appreciate that there’s a bit of work behind the scenes in making everything plug and play, and the web-based interface is admirably slick.
There’s a great number toys in the world, many of which make all manner of pleasant or annoying noises for the entertainment of children. If you’re a musician, these toys may be of interest due to their unique or interesting sounds. However, due to their design being aimed at play rather than performance, it may be difficult to actually use the toy as a musical instrument. One way around this is to record the sounds of the toy into a sampler, but it’s not the only way. [little-scale] is here to demonstrate how to MIDI interface your toys.
[little-scale] starts out by discussing the many ways in which one can interface with a toy. The article discusses how a simple button can be replaced with a relay, or a multiplexer, and be interfaced to all manner of other devices to control the toy. This is demonstrated by using a mobile phone toy which makes sounds when buttons are pressed.
A Teensy 3.6 is used to run the show, acting as a USB-MIDI interface so the toy can be controlled by music software like Abelton. It’s connected to the toy’s buttons through a multiplexer. The toy’s speaker is cut off and used as an audio output instead, allowing the toy to be easily connected to other audio hardware for performance or recording. It’s also fed through a digital pot so MIDI commands can control the volume. A resistor is used to control pitch in the toy, so this too was replaced with a digital pot as well, to allow sample pitch to be controlled.
The project is incredibly well documented, with [little-scale] first tearing down the toy and highlighting the points of interest, before stepping through each stage of interfacing the toy to the digital world. We’ve seen some of [little-scale]’s work before, too – namely, this MIDI DAC for controlling vintage synthesizers. Video after the break. Continue reading “How To MIDI Interface Your Toys”
Infinity mirrors are some far-out table mods and make a great centerpiece. Instructables user [bongoboy23] took a couple steps beyond infinity when designing this incredible table tailor-made for our modern age.
Poplar and pine wood make up the framing, and red oak — stained and engraved — make for a chic exterior. Programmed with Arduino and run on a Teensy 3.1, the tabletop has 960 LEDs in forty sections. There are, four USB ports hidden behind sliding panels, as well as a two-port AC outlet and an inductive charging pad and circuit. A hidden Adafruit TFT touchscreen display allows the user to control the table’s functions. Control is limited to changing lighting functions, but Pac-Man, Snake, and text features are still to come!
Weighing in at $850, it’s not a cheap build, but it looks amazing.
Continue reading “A Table From Beyond Infinity”
Computer mice existed long before the Mac, and most of the old 8-bit computers had some software that could use a mouse. These mice had balls and quadrature encoders. While converters to turn these old mice into USB devices exist, going the other way isn’t so common. [Simon] has developed the answer to that problem in the form of SmallyMouse2. It turns a USB mouse into something that can be used with the BBC Micro, Acorn Master, Acorn Archimedes, Amiga, Atari ST and more.
The design of the SmallyMouse2 uses an AT90USB microcontroller that supports USB device and host mode, and allows for a few GPIOs. This microcontroller effectively converts a USB mouse into a BBC Micro user port AMX mouse, generic quadrature mouse, and a 10-pin expansion header. The firmware uses the LUFA USB stack, a common choice for these weird USB to retrocomputer projects.
The project is completely Open Source, and all the files to replicate this project from the KiCad project to the firmware are available on [Simon]’s GitHub. If you have one of these classic retrocomputers sitting in your attic, it might be a good time to check if you still have the mouse. If not, this is the perfect project to delve into to the classic GUIs of yesteryear.
[Paul] has put together an insanely small yet powerful tracker for monitoring all the things. The USB TinyTracker is a device that packages a 48MHz processor, 2G modem, GPS receiver, 9DOF motion sensor, barometer, microphone, and micro-SD slot for data storage. He managed to get it all to fit into a USB thumb drive enclosure, meaning that you can program it however you want in the Arduino IDE, then plug it into any USB port and let it run. This enables things like remote monitoring, asset tracking, and all kinds of spy-like activity.
One of the most unusual aspects of his project, though, is this line: “Everything came together very nicely and the height of parts and PCBs is exactly as I planned.” [Paul] had picked out an enclosure that was only supposed to fit a single PCB, but with some careful calculations, and picky component selection, he managed to fit everything onto two 2-layer boards that snap together with a connector and fit inside the enclosure.
We’ve followed [Paul’s] progress on this project with an earlier iteration of his GSM GPS Tracker, which used a Teensy and fit snugly into a handlebar, but this one is much more versatile.