Steel Battalion Controller Grows Up And Gets A Job

We’re going to go out on a limb here and say that the controller for Steel Battalion on the original Xbox is the most impressive video game peripheral ever made. Designed to make players feel like they were really in the cockpit of a “Vertical Tank”, the controller features dual control sticks, three pedals, a gear selector, and dozens of buttons, switches, and knobs. Unfortunately, outside of playing Steel Battalion and its sequel, there’s not a whole lot you can do with the monstrous control deck.

HID Report Descriptor

But now, nearly 20 years after the game released, [Oscar Sebio Cajaraville] has not only developed an open source driver that will allow you to use the infamous mech controller on a modern Windows machine, but he’s part of the team developing a new game that can actually be played with it. Though gamers who are imagining piloting a futuristic combat robot in glorious 4K might be somewhat disappointed to find that this time around, the Steel Battalion controller is being used to operate a piece of construction equipment.

In his blog post, [Oscar] focuses on what it took to develop a modern Windows driver for a decades old controller. It helps that the original Xbox used what was essentially just a rewiring of USB 1.0 for its controllers, so connecting it up didn’t require any special hardware. Unfortunately, while the controller used USB to communicate with the console, it was not USB-HID compliant.

As it turns out, Microsoft actually provides an open source example driver that’s specifically designed to adapt non-HID USB devices into a proper game controller the system will recognize. This gave [Oscar] a perfect starting point, but he still needed to explore the controller’s endpoints and decode the data it was sending over the wire. This involved creating a HID Report Descriptor for the controller, a neat trick to file away mentally if you’ve ever got to talk to an oddball USB device.

In the end, [Oscar] created a driver that allows players to use the Steel Battalion controller in his game, BH Trials. Unfortunately there’s something of a catch, as drivers need to be signed by a trusted certification authority before Windows 10 will install them. As he can’t quite justify the expense of this step, he’s written a second post that details what’s required to turn driver signing off so you can get the device working.

Earlier this year we saw an incredible simulator built around the Steel Battalion controller, were an external “coach” could watch you play and give you tips on surviving the virtual battlefield. But even that project still used the original game; hopefully an open source driver that will get this peripheral working on Microsoft’s latest OS will help spur the development of even more impressive hacks.

Continue reading “Steel Battalion Controller Grows Up And Gets A Job”

Laser Trip Wire Hides What You’re (Not) Working On

We assume your office policy allows for reading Hackaday during work hours. But what about cruising reddit, or playing Universal Paperclips? There’s a special kind of stress experienced when attempting to keep one eye on your display and the other on the doorway; all the while convinced the boss is about to waltz into the room and be utterly disappointed in you.

But fear not, for [dekuNukem] has found the solution with Daytripper. This wireless laser tripwire communicates back to your computer using NRF24 (2.4 Ghz on the ISM band) and can be used to invisibly cordon off a door or hallway and fire a scripted action on your computer if its beam has been broken. Nominally this is used to send the keyboard command that hides all open windows, but we’re sure the imaginative readers of Hackaday could come up with all sorts of alternate uses for this capability.

The Daytripper transmitter uses a laser time-of-flight sensor, in this case the very small VL53L0X by STMicroelectronics. It’s best situated so the laser will be bounced straight back at it. It has a range of about four feet, which is perfect for covering a door, though a wide hallway could give it some trouble. [dekuNukem] admits that the 5 Hz scan rate means a sufficiently fast moving adversary might slip past the sensor, but if they’re trying that hard to see what’s on your monitor, they probably deserve a peek.

On the receiver side, there’s a small board that plugs into your computer and mimics a USB keyboard. It has a selector switch on the side that allows the user to set what key sequence will be “typed” once the system has been tripped. It has built-in support for minimizing all windows or locking the computer, or you can set it to send ALT + Pause, which you can listen for and act on however you see fit.

If you want to build your own Daytripper, the firmware and hardware are both available on GitHub under an MIT license. For those who prefer instant gratification, [dekuNukem] is doing a small production run and offering them up on Tindie.

An Open Hardware Rubber Ducky

No it’s not an open source version of Bert’s favorite bathtime toy (though seriously, let us know if you see one), the PocketAdmin by [Radik Bechmetov] is intended to be an alternative to the well-known “USB Rubber Ducky” penetration testing tool from Hak5. It might look like a standard USB flash drive, but underneath that black plastic enclosure is a whole lot of digital mischief waiting to spill out.

The general idea is that the PocketAdmin appears to the host computer as either a USB Human Interface Device (keyboard, mouse, etc) or a USB Mass Storage Device. In either event, the user has the ability to craft custom payloads which can exploit the operating system’s inherent trust in locally connected devices. The most common example is mimicking a USB keyboard that starts “typing” once connected to the computer.

You can even configure what vendor and product IDs the PocketAdmin advertises, allowing you to more accurately spoof various devices. [Radik] has included some other interesting features, such as the ability to launch different payloads depending on the detected operating system. That way it won’t waste time trying to bang out Windows commands when it’s connected to a Linux box.

The hardware is designed to be as easy and cheap to replicate as possible. The heavy lifting is done by a STM32F072C8T6 microcontroller, coupled with a W25Q256FVFG 32MiB flash chip to store the payloads. Beyond that, the BOM consists mainly of passives and a few obvious bits like the male USB connector. [Radik] has even provided a link to where you can buy the convincing looking USB “flash drive” enclosure.

We’ve seen low-cost DIY versions of the USB Rubber Ducky in the past, but PocketAdmin is interesting in that it seems like [Radik] is looking to break new ground with this project rather than just copy what’s already been done. This will definitely be one to watch as the 2019 Hackaday Prize heats up.

Up Your Game With A Battle Tested Input Device

If you’re looking to add some realism to your flight setup without converting the guest bedroom into a full-scale cockpit simulator, you might be interested in the compromise [MelkorsGreatestHits] came up with. He bolted a genuine military keypad to his PC joystick and instantly added 100% more Top Gun to his desktop.

The Rockwell Collins manufactured keypad came from eBay, and appears to have been used in aircraft such as the EA-6B Prowler and Lockheed C-130 Hercules for data input. Each key on the pad is wired to the 37 pin connector on the rear, which [MelkorsGreatestHits] eventually mapped out after some painstaking work with a breakout board.

Once the matrix was figured out, he made up a cable that would go from the connector to a Teensy 2.0 microcontroller. The Teensy reads the keypad status and converts button presses over to standard USB HID that can be picked up in any game.

The joystick side of the build is a VKB Gunfighter, which is already a pretty nice piece of kit on its own. No modifications were necessary to the joystick itself, other than the fact that it’s now mounted to the top of a black project enclosure. It still connects directly to the computer via its original USB cable, as the keypad has its own separate connection. As luck would have it, the joystick is almost a perfect fit in the opening on the keypad, which presumably would have been for a small screen when installed in the aircraft.

Finding cockpit components from military aircraft on eBay is not as hard as you may think; something to keep in mind if you ever decide to tackle that custom flight simulator build.

Vintage Atari Becomes Modern Keyboard

The modern keyboard enthusiast is blessed with innumerable choices when it comes to typing hardware. There are keyboards designed specifically for gaming, fast typing, ergonomics, and all manner of other criteria. [iot4c] undertook their own build for no other reason than nostalgia – which sounds plenty fun to us.

An Arduino Leonardo is pressed into service for this hack. With its USB HID capabilities, it’s perfectly suited for custom keyboard builds. It’s built into a working Atari 65XE computer, and connected to the keyboard matrix. The Keypad and Keyboard libraries are pressed into service to turn keypresses on the 80s keyboard into easily digseted USB data.

There’s plenty of room inside the computer for the added hardware, with the USB cable neatly sneaked out the rear. [iot4c] notes that everything still works and the added hardware does not cause any problems, as long as it’s not used as a computer and a keyboard at the same time.

It’s possible to do a similar hack on the Commodore 64, too. If you’re doing tricky keyboard builds yourself, you know where to send ’em.

Every Computer Deserves A Rotary Encoder

In the era of touch screens and capacitive buttons, we’d be lying if we said we didn’t have the occasional pang of nostalgia for the good old days when interfacing with devices had a bit more heft to it. The physical clunk and snap of switches never seems to get old, and while you can always pick up a mechanical keyboard for your computer if you want to hear that beautiful staccato sound while firing off your angry Tweets, there’s a definite dearth of mechanical interface devices otherwise.

[Jeremy Cook] decided to take matters into his own hands (literally and figuratively) by designing his own multipurpose USB rotary input device. It’s not a replacement for the mouse or keyboard, but a third pillar of the desktop which offers a unique way of controlling software. It’s naturally suited to controlling things like volume or any other variable which would benefit from some fine tuning, but as demonstrated in the video after the break even has some gaming applications. No doubt the good readers of Hackaday could think of even more potential applications for a gadget like this.

The device is built around the diminutive Arduino-compatible PICO board by MellBell, which features a ATmega32u4 and native USB. This allowed him to very rapidly spin up a USB Human Interface Device (HID) with minimal headaches, all he had to do was hang his buttons and rotary encoder on the PICO’s digital pins. To that end, he [Jeremy] used the fantastic I2C rotary encoder designed by [fattore.saimon], which readers may remember as a finalist in the Open Hardware Design Challenge phase of the 2018 Hackaday Prize. He also added a NeoPixel ring around the encoder to use for some visual feedback and because, well, it just looks cool.

Since all of the core components are digital, there’s not a whole lot required in the way of wiring or passive components. This let [Jeremy] put the whole thing together on a piece of perfboard, freeing him up to spend time designing the 3D printed enclosure complete with translucent lid so he can see the NeoPixel blinkenlights. He got the tolerances tight enough that the whole device can be neatly press-fit together, and even thought to add holes in the bottom of the case so he could push the perfboard back out if he needed to down the line.

[Jeremy] spends a good chunk of the video going over the software setup and development of the firmware, and details some of the nuances he had to wrap his head around when working with the I2C encoder. He also explains the math involved in getting his encoder to emulate a mouse cursor moving in a circle, which he thinks could be useful when emulating games that originally used an encoder such as Tempest or Pong.

We’ve seen similar USB “knobs” in the past for controlling volume, but the additional inputs that [Jeremy] built into his version definitely makes it a bit more practical. Of course we’re suckers for interesting USB input devices to begin with.

Continue reading “Every Computer Deserves A Rotary Encoder”

Arcade Style Computer Hotkeys

Prolific maker [Sean Hodgins] has taken the wraps off of his latest one-day build, and as usual, it takes the kind of spare parts most people reading Hackaday will have in their parts bins and turns it into something fun and useful. This time around, he takes a bunch of spare arcade-style buttons he had from a previous project and combines them with an Adafruit Trinket (SAMD21 flavor) to make a USB input device for his computer.

[Sean] uses 1/4 inch acrylic to make the case, though he does mention that it could just as easily be 3D printed. But using the acrylic is easy and gives a nice glossy look to the final hardware. With a saw and a drill press you can make some very professional cases out of acrylic, which goes to show that you don’t necessarily need to have a high end 3D printer to create great looking enclosures.

As explained in the video, the Adafruit Trinket is not strictly necessary for this build, it’s just what [Sean] had lying around. Any microcontroller that can present itself to the operating system as a USB Human Interface Device (HID) will work fine for a project like this.

Software wise, a modified Arduino demo program is used to equate the states of the digital pins to pre-defined key combinations to be sent to the computer. In this simple example the key combinations are hard-coded into the Trinket’s source code, but a future enhancement could be adding a method of setting up new key combinations with a configuration tool.

We’ve covered our fair share of non-traditional USB input devices, all operating on largely the same principle. As it turns out, hackers have quite a pension for making oddball input devices.

Continue reading “Arcade Style Computer Hotkeys”