Digital Expression Via Harmonica

There is a good chance you clicked on this article with a mouse, trackball, trackpad, or tapped with your finger. Our hands are how most of us interact with the digital world, but that isn’t an option for everyone, and [Shu Takahashi] wants to give them a new outlet to express themselves. Some folks who cannot use their hands will be able to use the Magpie MIDI, which acts as a keyboard, mouse, MIDI device, and eventually, a game controller. This universal Human Interface Device (HID) differs from a mouth-operated joystick because it has air pressure sensors instead of buttons. The sensors can recognize the difference between exhalation and inhalation, so the thirteen ports can be neutral, positive, or negative, which is like having twenty-six discrete buttons.

The harmonica mounts on an analog X-Y joystick to move a mouse pointer or manipulate MIDI sound like a whammy bar. [Shu] knows that a standard harmonica has ten ports, but he picked thirteen because all twenty-six letters are accessible by a puff or sip in keyboard mode. The inputs outnumber the Arduino Leonardo’s analog inputs, so there is a multiplexor to read all of them. There was not enough time to get an Arduino with enough native ports, like a Teensy, with HID support baked in. Most of the structure is 3D printed, so parts will be replaceable and maybe even customizable.

Even with two working hands, we like to exercise different hardware, but the harmonica is a nifty tool to have attached to your computer.

Continue reading “Digital Expression Via Harmonica”

Four On The Floor For Your Virtual Race Car

There was a time when building realistic simulations of vehicles was the stuff of NASA and big corporations. Today, many people have sophisticated virtual cockpits or race cars that they use with high-resolution screens or even virtual reality gear. If you think about it, a virtual car isn’t that hard to pull off. All you really need is a steering wheel, a few pedals, and a gear shifter. Sure, you can build fans to simulate the wind and put haptics in your seat, but really the input devices alone get you most of the way there. [Oli] decided he wanted a quick and easy USB gear shifter so he took a trip to the hardware store, picked up an arcade joystick, and tied it all together with an Arduino Leonardo. The finished product that you can see in the video below cost about $30 and took less than six hours to build.

The Leonardo, of course, has the ability to act like a USB human interface device (HID) so it can emulate a mouse or a keyboard or a joystick. That comes in handy for this project, as you would expect. The computer simply has to read the four joystick buttons and then decide which gear matches which buttons. For example up and to the left is first gear, while 4th gear is only the down button depressed. A custom-cut wooden shifter plate gives you the typical H pattern you expect from a stick shift.

Continue reading “Four On The Floor For Your Virtual Race Car”

Teardown: Wonder Bible

Even the most secular among us can understand why somebody would want to have a digital version of the Bible. If you’re the sort of person who takes solace in reading from the “Good Book”, you’d probably like the ability to do so wherever and whenever possible. But as it so happens, a large number of people who would be interested in a more conveniently transportable version of the Bible may not have the technological wherewithal to operate a Kindle and download a copy.

Which is precisely the idea behind the Wonder Bible, a pocket-sized electronic device that allows the user to listen to the Bible read aloud at the press of a button. Its conservative design, high-contrast LED display, and large buttons makes it easy to operate even by users with limited eyesight or dexterity.

The commercial for the Wonder Bible shows people all of all ages using the device, but it’s not very difficult to read between the lines and see who the gadget is really aimed for. We catch a glimpse of a young businessman tucking a Wonder Bible into the center console of his expensive sports car, but in reality, the scenes of a retiree sitting pensively in her living room are far closer to the mark.

In truth, the functionality of the Wonder Bible could easily be replicated with a smartphone application. It would arguably even be an improvement by most standards. But not everyone is willing or able to go that route, which creates a market for an affordable stand-alone device. Is that market large enough to put a lot of expense and engineering time into the product? Let’s crack open one of these holy rolling personal companions and find out.

Continue reading “Teardown: Wonder Bible”

Using HID Tricks To Drop Malicious Files

[Nikhil] has been experimenting with human interface devices (HID) in relation to security. We’ve seen in the past how HID can be exploited using inexpensive equipment. [Nikhil] has built his own simple device to drop malicious files onto target computers using HID technology.

The system runs on a Teensy 3.0. The Teensy is like a very small version of Arduino that has built-in functionality for emulating human interface devices, such as keyboards. This means that you can trick a computer into believing the Teensy is a keyboard. The computer will treat it as such, and the Teensy can enter keystrokes into the computer as though it were a human typing them. You can see how this might be a security problem.

[Nikhil’s] device uses a very simple trick to install files on a target machine. It simply opens up Powershell and runs a one-liner command. Generally, this commend will create a file based on input received from a web site controlled by the attacker. The script might download a trojan virus, or it might create a shortcut on the user’s desktop which will run a malicious script. The device can also create hot keys that will run a specific script every time the user presses that key.

Protecting from this type off attack can be difficult. Your primary option would be to strictly control USB devices, but this can be difficult to manage, especially in large organizations. Web filtering would also help in this specific case, since the attack relies on downloading files from the web. Your best bet might be to train users to not plug in any old USB device they find lying around. Regardless of the methodology, it’s important to know that this stuff is out there in the wild.

Walkman-esque Human Interface Device

Cheap keyboards never come with extra buttons, and for [Pengu MC] this was simply unacceptable. Rather than go out and buy a nice keyboard, a microcontroller was found in the parts drawer and put to work building this USB multimedia button human interface device that has the added bonus of looking like an old-school Walkman.

The functions that [Pengu MC] wants don’t require their own drivers. All of the buttons on this device are part of the USB standard for keyboards: reverse, forward, play/pause, and volume. This simplifies the software side quite a bit, but [Pengu MC] still wrote his own HID descriptors, tied all of the buttons to the microcontroller, and put it in a custom-printed enclosure.

If you’re looking to build your own similar device, the Arduino Leonardo, Micro, or Due have this functionality built in, since the USB controller is integrated on the chip with everything else. Some of the older Arduinos can be programmed to do the same thing as well! And, with any of these projects, you can emulate any keypress that is available, not just the multimedia buttons.