USB Volume Control

If you buy expensive computer speakers, they often have a volume knob you can mount somewhere on your desk so you aren’t dependent on the onboard volume control. [Kris S] decided to build his own version of the remote volume control. Not surprisingly, it uses an Arduino-compatible Digispark board and a rotary controller. The Digispark (that [Kris S] bought for $2) is compatible with the Adafruit Trinket. This is key because the Trinket libraries are what make it easy to send media keys over the USB (using the HID interface) to control the volume.

Really, though, the best part of the build is the good looking knob made out of a pill bottle (see the video below). The micro Digispark is small enough to fit in the lid of the pill bottle, and some wax and pellets add some heft to the volume control. Continue reading “USB Volume Control”

A Better, Open Hardware Keyboard

A keyboard is the most important tool in the modern desk jockey’s arsenal but, despite this fact, millions of people suffer the $10 membrane keyboards that shipped with the computer they got a decade ago. It’s a terrible way to live your life, but for those of us who are enlightened, there’s another way: mechanical keyboards. [Mário] over at the Bit Bang Theory just built his own mechanical keyboard with his own homebrew firmware and a few interesting features that aren’t found in other open hardware keyboard projects.

The ‘from scratch’ aspect of this build is somewhat of a misnomer; the key switches used in this build were taken from a Monterey K108, and the key caps were taken from a keyboard with a Portuguese layout. Once the switches were in place and soldered up, it was time for the electronics.

While most homebrew keyboards these days use a Teensy 2 thanks to some amazing firmware and development tools that have grown up around this device, there’s not a Teensy to be found inside this keyboard. The keyboard controller is built around a PIC18F4550 and uses the USB available on the chip. Naturally, there are more than a few WS2812b RGB LEDs around the edge of the keyboard that “breathe”, run a KITT-style LED chaser, or simply display a single chosen color.

There are a few neat features in this keyboard controller that aren’t readily available with other open source keyboard firmwares. There’s a keylogger, macro recorder, and a toggle macro that will activate or deactivate a (secret) internal 8GB USB storage key. Settings are saved in the internal EEPROM.

It’s a great looking build, and something we don’t see enough of around here. In any event, it’s just one step further towards eliminating the menace of cheap keyboards, and something we hope to see more of soon.

Two Turntables and No Microphone

It used to be that you had to spend real money to get an alternative controller for your electronic musical arsenal. These days, with cheap microcontrollers and easily-accessible free software libraries, you can do something awesome for pocket change. But that doesn’t mean that you can’t make a sexy, functional piece of art along the way! [Jan Godde] did just that with his cleverly named Wooden Sensor Box With Two Rotary Disks. (If you’ve got a better name for this thing, toss it in the comments.)

mpv-shot0003From what we can see, the box has two potentiometer sliders, two touch-sensitive potentiometers, two force sensitive resistors, a slew of knobs, and a whole bunch of (capacitive?) touch points. In short, a ton of continuous controllers of all sizes and shapes in an aesthetic case. But stealing the show, and giving the device its name, are two platters from old hard drives that serve as jog wheels.

As shown in the video below the break, the two jog wheels are covered with alternating stripes on the underside. Each platter has a dedicated pair of IR LEDs and photodetectors underneath serving as a quadrature encoder that allows [Jan] to tell which direction the platters are rotating, and how far.

Continue reading “Two Turntables and No Microphone”

Palm Interface Has You Suggest where Self Driving Car Should Go

These days, our automobiles sport glittering consoles adorned with dials and digits to keep us up-to-date with our car’s vitals. In the future, though, perhaps we just wont need such vast amounts of information at our fingertips if our cars are driving themselves around. No information? How will we tell the car what to do? On that end, [Felix] has us covered with Stewart, a tactile gesture-input interface for the modern, self driving car.

Stewart is a 6-DOF “Stewart Interface” capable of both gesture input and haptic-output. Gesture input enables the car’s passenger to deliver driving suggestions to the car. The gentle twist of a wrist can signal an upcoming turn at the next intersection; pulling back on Stewart’s head “joystick style” signals a “whoa–slow down, there, bub!” Haptic output via 6 servos pushes around Stewart’s head in the car’s intended direction.  If the passenger agrees with the car, she can let Stewart gesture itself in the desired direction; if she disagrees; she can veto the car’s choices by moving her hand directly against Stewart’s current output gesture. Overall, the interface unites the intentions of the car and the intentions of the passenger with a haptic device that makes the connection feel seamless!

We know we’re not supposed to comment on the “how” with art projects–but we’re engineers–and this one makes us giddy with delight. We’re imagining those rc car shock absorbers dramatically dampening the jittery servos and giving the user a nice resistive feel. Interconnects are laser cut acrylic, and the shell is a smoothly contoured 3d print. We’ve seen Stewart Interfaces before, but nothing with the look-and-feel of a sleek design feature on its way to being dropped into the cockpit of our future self-driving cars.

Continue reading “Palm Interface Has You Suggest where Self Driving Car Should Go”

Broken Finger Is No Obstacle to Modern Hacker

[Jim Merullo] and his son were enjoying a nice game of Frisbee when an unfortunate dive led to an injury. His son broke his pinky finger leaving doctors no choice other than bounding his entire left hand in an unreasonably large cast. For most, this would mean no use of the left hand for several weeks, which is somewhat problematic if tin01your son has a Minecraft addiction.  [Jim], however, is no stranger to the hacker community and began working on a solution. He broke out the #2 Philips screwdriver, fired up the soldering iron and got to work.

A detailed analysis of the injured left hand revealed limited use of the middle and ring finger, and full use of the thumb. Because his son played the game using his right hand for the mouse and left for the keyboard, he needed to find a way for him to operate a keyboard with the limited use of his left hand. He took apart an old USB keyboard and soldered up some tactile switches to emulate the needed key presses. After making a fashionable Altoids tin mount that fit over the cast, his son was able to enjoy his favorite video game with limited interruption.

Continue reading “Broken Finger Is No Obstacle to Modern Hacker”

Disk Hack Creates Persistence of Vision

[Adam Antok] was compelled to create this repurposed hard drive persistence of vision hack after seeing a toy of the same nature.

hdd-display-schematicHe used the frame, disk and motor from a drive and added LEDs under the spinning disk as the light source. The disk has 8 small holes drilled equidistant around the disk, and spiraling slightly toward the center. As the holes pass by the LEDS they are flashed by the ATtiny2313 processor to create images. To determine the position of the platters a Hall effect sensor is monitored by the 2313 to detect a magnet on the underside of the disk. There is room to display ten characters at one time. Each cursor position can scroll through the character set by rotating an encoder. For all the precision needed to coordinate the LEDs with the spinning holes the electronics and software code are amazingly simple. That’s a really nice job, [Adam]!

Persistence of vision hacks are to hackers like flames are to moths. One really nice thing about [Adam’s] project is that you can interact with it while it’s running. Check it out after the break.

For a novel take on POV, check out this slow swinging pendulum clock.

Continue reading “Disk Hack Creates Persistence of Vision”

Bootstrapping Motion Input with Cheap Components

Motion control is a Holy Grail of input technology. Who doesn’t want an interface that they can control with simple and natural movements? But making this feel intuitive to the user, and making it work robustly are huge hills to climb. Leap Motion has done an excellent job creating just such a sensor, but what about bootstrapping your own? It’s a fun hack, and it will give you much greater appreciation for the currently available hardware.

Let’s get one thing straight: This device isn’t going to perform like a Leap controller. Sure the idea is the same. Wave your hands and control your PC. However, the Leap is a pretty sophisticated device and we are going to use a SONAR (or is it really SODAR?) device that costs a couple of bucks. On the plus side, it is very customizable, requires absolutely no software on the computer side, and is a good example of using SONAR and sending keyboard commands from an Arduino Leonardo to a PC. Along the way, I had to deal with the low quality of the sensor data and figure out how to extend the Arduino to send keys it doesn’t know about by default.

The Plan

The plan is to take an inexpensive SONAR module (the HC-SR04) and an Arduino Leonardo and use it to perform some simple tasks by mimicking keyboard input from the user. The Leonardo is a key element because it is one of the Arduinos that can impersonate a USB keyboard (or mouse) easily. The Due, Zero, and Micro can also do the trick using the Arduino library.

I wanted to determine how many gestures I could really determine from the HC-SR04 and then do different things depending on the gesture. My first attempt was just to have the Arduino detect a few fingers or a hand over the sensor and adjust the volume based on moving your hand up or down. What I didn’t know is that the default Arduino library doesn’t send multimedia keys! More on that later.

Continue reading “Bootstrapping Motion Input with Cheap Components”