If you need to reverse-engineer a USB protocol on a computer running Linux, your work is easy because you control everything on the target system — you can just look at the raw USB data. If you’d like to reverse-engineer a USB device that plugs into a game console, on the other hand, your work is a lot harder. Until now.
serialusb is a side-project by [Mathieu Laurendeau], alias [Matlo]. His main project, GIMX is aimed at gaming and lets you modify your gaming controller’s performance by passing it first through your PC and tweaking the USB data before forwarding it on to the target console. Want rapid fire? You got it. Alter the steering-wheel sensitivity curves? Sure.
GIMX is essentially a USB man-in-the-middle between your controller and your console, with the added ability to modify the data along the way. For hardware that’s not yet supported by GIMX, though, either [Matlo] would need to borrow your controller, or teach you to man-in-the-middle your own USB traffic. And that’s what serialusb does.
The hardware required is very modest: a USB-to-serial adapter and an ATmega32u4-based Arduino clone. Many of you could whip this together with parts on hand, and it’s the same hardware you’d need to run GIMX anyway. Data goes through your computer, is usbmon’ed and wireshark’ed, and then passed over serial to the ATmega which then converts it back into USB, plugged into the console. A very tidy little setup.
In case this seems familiar, we’ve covered a similar trick by [Matlo] before that used a BeagleBoard as the computer in the middle. That’s a sweet setup for sure, but if you don’t have a spare single-board computer lying around, now you can get it done for only around $5 in parts. Happy USB reversing!
[Neil Movva] is not your average college student. Rather than studying for exams or preparing to defend a dissertation, he’s working on a project that will directly help the disabled. The project is Pathfinder, a wearable haptic navigation system for the blind. Pathfinder is an ambitious project, making it all the way to the semifinals of the 2015 Hackaday Prize. Haptics, the technology of providing feedback to a user through touch, lies at the core of Pathfinder. [Neil] was kind enough to present this talk about it at the Hackaday SuperConference.
Continue reading “Neil Movva: Adding (wearable) Haptic Feedback to Your Project”
Back in the day, we had smartphones with physical buttons. Not just power, volume, and maybe another button on the front. Whole, slide-out QWERTY keyboards right on the underside of the phone. It was a lawless wasteland, but for those who yearn for the wild-west days of the late 2000s, [Liviu] has recreated the shortcut buttons that used to exist on the tops of these keyboards for modern-day smartphones.
There were lots of phones that had shortcut keys on their keyboards, but [Liviu] enjoyed using the ones that allowed him to switch between applications (or “apps” as the kids are saying these days) such as the calendar, the browser, or the mail client. To recreate this, he went with a few NFC tags. These devices are easily programmed via a number of apps from your app store of choice, and can be placed essentially anywhere. In order to make them visible to the phone at any time, though, he placed the tags inside a clear plastic case for his phone and can now use them anytime.
If you’ve never used or programmed an NFC tag, this would be a great project to get yourself acquainted with how they operate. Plus, you could easily upgrade this project to allow the tags to do any number of other things. You can take projects like this as far as you want.
Continue reading “NFC Tags Add Old-School Functionality to New Phone”
[Frederick] decided his new Zero needed a USB hub. He noticed a small, on hand, USB hub was the same size as the Zero. As any good hacker would, he stripped it from its case to piggy-back it onto the Zero. What’s with the piggy-backing since we just saw that with another Zero hack that added a WiFi dongle? Is it something in the water? Nah, probably just a natural fit with the mini-sized Zero.
Foam and elastic bands make a next arrangement
Tricky wiring to the hub’s USB
It certainly helps that the USB and power pads on the back of the Zero are available and of a good size to accept direct, soldered wire connections. The USB connections on the hub were a little more tricky. The wires were soldered to the surface mount pins of the mini-B connector. But [Frederick] managed to get that done, also.
A nice advantage of this hack is that a couple of soldered jumper wires let the Zero draw power from the hub’s wall-wart, eliminating one cable from those needed to work with the Pi. Using hot glue for strain relief on the wiring is a nice touch. To keep the boards from shorting he put a piece of foam between them and help them together with elastic bands. Simple and easy.
We had some incredible speakers at the Hackaday SuperConference. One of the final talks was given by [Kay Igwe], a graduate electrical engineering student at Columbia University. [Kay] has worked in nanotechnology as well as semiconductor manufacturing for Intel. These days, she’s spending her time playing games – but not with her hands.
Many of us love gaming, and probably spend way too much time on our computers, consoles, or phones playing games. But what about people who don’t have the use of their hands, such as ALS patients? Bringing gaming to the disabled is what prompted [Kay] to work on Control iT, a brain interface for controlling games. Brain-computer interfaces invoke images of Electroencephalography (EEG) machines. Usually that means tons of electrodes, gel in your hair, and data which is buried in the noise.
[Kay Igwe] is exploring a very interesting phenomenon that uses flashing lights to elicit very specific, and easy to detect brain waves. This type of interface is very promising and is the topic of the talk she gave at this year’s Hackaday SuperConference. Check out the video of her presentation, then join us after the break as we dive into the details of her work.
Continue reading “Kay Igwe Explains Brain Gaming Through SSVEP”
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 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.