You might not be aware unless you’re up on the latest gaming hardware, but Microsoft is trying to kill the Kinect. While the Xbox One famously included it as a mandatory pack-in accessory at launch (this was later abandoned to get the cost down), the latest versions of the system don’t even have the proprietary port to plug it in. For a while Microsoft was offering an adapter that would let you plug it into one of the console’s USB ports, but now even that has been discontinued. Owners of the latest Xbox One consoles who still want to use the Kinect are left to find an adapter on eBay, where the prices have naturally skyrocketed.
Recently [Eagle115] decided to open up his Kinect and see if he couldn’t figure out a way to hook it up to his new Xbox One. The port on the Kinect is a USB 3.0 B female, but it requires 12V to operate. The official Kinect adapter took the form of a separate AC adapter and a “tap” that provided the Kinect with 12V over USB, so he reasoned he could pop open the device and provide power directly to the pads on the PCB.
[Eagle115] bought a 12V wall adapter and a USB 3.0 B cable and got to work. Once the Kinect was popped open, he found that he needed to supply power on pin 10 (which is helpfully labeled on the PCB). There’s just enough room to snake the cable from the AC adapter through the same hole in the case where the the USB cable connects.
With the Kinect getting 12V from the AC adapter, the Xbox has no problem detecting it as if you were using the official adapter. At least for now, they haven’t removed support for the Kinect in the Xbox’s operating system.
If you want a custom video game system, you could grab a used computer, throw an emulator on it, and build yourself a custom arcade cabinet. On the other hand, if you’d rather not deal with emulators, you can always use a console and modify it into your own tiny arcade cabinet using the original hardware. That’s what the latest project from [Element18592] does, using an Xbox 360 Slim and a small LCD screen to make a mini-arcade of sorts.
The build uses a 7″ TFT LCD and a Flexible Printed Circuit (FPC) extension board. The screen gets 12V power from the Xbox and another set of leads are soldered directly to the composite output on the motherboard. The project also makes use of a special switch which can enable or disable the built-in monitor and allow the Xbox to function with a normal TV or monitor.
Admittedly, he does point out that this project isn’t the most practical to use. But it is still a deceptively simple modification to make to the Xbox compared to some of the more complicated mods we’ve seen before. The fact that almost anyone could accomplish this with little more than some soldering is an impressive feat in the world of console mods.
Part of why people can’t stop talking about Meltdown/Spectre is the fact that all the individual pieces have been sitting in plain sight for a long time. When everyone saw how it all came together last week, many people (and not even necessarily security focused people) smacked themselves on the forehead: “Why didn’t I see that earlier?” Speculative execution has caused headaches going way back. [Bruce Dawson] tells one such story he experienced back in 2005. (Warning: ads on page may autoplay video.)
It’s centered around Xbox 360’s custom PowerPC processor. Among the customization on this chip was the addition of an instruction designed to improve memory performance. This instruction was a hack that violated some memory consistency guarantees held by the basic design, so they knew up front it had to be used very carefully. Even worse: debugging problems in this area were a pain. When memory consistency goes wrong, the code visible in the debugger might not be the actual code that crashed.
Since we’re talking about the dark side of speculative execution, you can already guess how the story ends: no matter how carefully it was used, the special instruction continued to cause problems when speculatively executed outside the constrained conditions. Extensive testing proved that instructions that were not being executed were causing crashes. That feels more like superstition than engineering. As far as he can recall, it ended up being more trouble than it was worth and was never used in any shipped Xbox 360 titles.
Paradise means something different for everyone, it could be a sitting by a fire on a rainy night or lying on a sun-kissed beach. But for us, and makers like [liltreat4you], it’s a well stocked scrap pile out behind the house. After buying a racing wheel and pedals for his Xbox, he took a trip out to his little slice of paradise and found nearly all the hardware he needed to build a professional looking race simulator. According to his breakdown, most of the money he spent on this build ended up going into that sweet red paint job and the speed-enhancing stickers.
Not all of us are as lucky as [liltreat4you], and we probably won’t just happen upon a driver’s seat out of a Mazda, or a bunch of perfectly bent metal pipes from an old trampoline out on the back forty. But trolling Craigslist or cruising around for flea markets can still get you parts like these for cheap, so try not to be too discouraged if your backyard isn’t quite as well stocked.
Once he had the metal pipes and seat from the car, the rest of the build came together pretty quickly. After building an oval out of his salvaged pipes, he attached the seat and the arms that would eventually hold the steering wheel and display. A plate was also added at the bottom for the pedals to sit on. By using long bolts, [liltreat4you] was even able to add a degree of adjustment to the wheel position. Being that he got his seat out of a real car, there’s the usual adjustment you’d expect there as well.
Speaking of which, [liltreat4you] casually mentions that you should disconnect the battery of the donor vehicle before taking out the seat, as it’s possible that the removal of the seat or the disconnection of the seat harness can cause the airbags to deploy. We can neither confirm nor deny this, but it’s probably safe advice to follow.
It’s been said that the best way to tackle the issue of childhood obesity would be to hook those children’s video game consoles up to a pedal-powered generator. Of course, this was said by [Alex], the creator of Cykill. Cykill interfaces an Xbox to an exercise bike, so to keep the video game going you’ll have to keep pedaling the bike.
While there is no generator involved in this project, it does mimic the effect of powering electronics from a one. The exercise bike has a set of communications wires, which are connected to a relay on the Xbox’s power plug. When the relay notices that the bike isn’t being pedaled enough, it automatically cuts power to the console. Of course, the risk of corrupting a hard drive is high with this method, but that only serves to increase the motivation to continue pedaling.
There’s no holy war holier than establishing whether PC games are superior to console games (they are). But even so, there’s no denying that there are some good console titles out there. What if you’d still like to play them using a mouse and keyboard? If you’re [Agent86], you’d build up the most ridiculous chain of fun electronics to get the job done.
Now there is an overpriced off-the-shelf solution for this problem, and a pre-existing open-source project that’ll get the same job done for only a few bucks in parts. But there’s nothing like the fun in solving a problem your own way, with your own tangle of wires, darn it all! The details of the build span four (4!) pages in [Agent86]’s blog, so settle down with a warm cup of coffee.
Here’s the summary: an Xbox 360 controller is taken apart and turned into an Xbox controller. The buttons and joysticks are put under computer control via a Teensy microcontroller. GPIOs press the controller’s buttons, and digipots replace the analog sticks. Software on the Teensy drives the digipots and presses the buttons, interpreting a custom protocol sent over USB from the computer, which also gets some custom software to send the signals.
So if you’re keeping score: a button press on a keyboard is converted to USB, sent to a PC, converted to a custom serial protocol, sent to a Teensy which emulates a human for a controller that then coverts the signals back into the Xbox’s USB protocol. Pshwew!
Along the way, there’s learning at every stage, which is really the point of an exercise like this. And [Agent86] says that it mostly works, with some glitches in the mouse-to-joystick mapping. But if you’re interested in any part of this crazy chain, you’ve now got a model for each of them.
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.