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.
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!
With the release of the Raspberry Pi Zero last month, we’ve been waiting in excitement to see the first creative hacks to come out, making use of its tiny size; which if you didn’t know, is smaller than a business card. [Terence Eden] hopped to it and made what might be the first Raspberry Pi Zero emulator: inside an Xbox controller.
Thanks to its small size it’s actually a fairly straight forward hack with minimal modification to the controller in order to make it fit. In fact, you only need to remove the memory card holder from the controller and snip one bit of plastic in order to make it fit right in the middle — awesome.
Now it does stick out a bit as you can see in the pictures, but we’re sure it won’t take someone long to make a 3D printed part that snaps into the controller giving it a more stock appearance. Unfortunately since HDMI can’t carry a power source to the Pi, [Terence] is using a micro-USB to power it — but there is enough space inside the controller for a battery pack if you wanted to make it truly portable.
Continue reading “Shoving a Raspberry Pi Zero Into an Xbox Controller”
The Xbox 360 is a great console. But unfortunately, some units are quite susceptible to overheating, resulting in the horrifying red ring of death (or RROD for short!). Sometimes the damage is done, and you’re pretty much out of luck. But if it’s a two light RROD (indicating inadequate cooling), there’s something you can do to save it. It’s simple — just add a fan.
If your unit is showing the two light RROD, open up the Xbox and take a look at the main heat-sink. You’re probably going to have to re-seat it with new thermal paste due to heat overload. That’ll fix your problem for a bit, but it’s more than likely going to happen again.
[Doyle] did this and it solved the RROD — but checking temperatures, he saw that the chip still hit about 80C in less than 30 seconds of being on! So he decided to add an extra fan.
Continue reading “Adding A Fan Where Microsoft Should Have”
If one could temporarily remove their sense of humor and cast a serious look into a Rube Goldberg machine, they would not say to themselves “well that looks simple.” Indeed, it would almost always be the case that one would find themselves asking “why all the complexity for such a simple task?”
Too often in hacking are we guilty of making things more complicated than they really need to be. Maybe it’s because we can see many different paths to a single destination. Maybe it’s because we want to explore a specific path, even though we know it might be a little harder to tread. Maybe it’s just because we can.
But imagine approaching a hack as simply a means to an end. Imagine if you did not have all of that knowledge in your head. All of those tools at your disposal. How would this change your approach? When [yavin427] decided to automate the leveling up process in his favorite video game, odds are he had never taken a game controller apart. Had never touched an oscilloscope. Indeed, he might have no knowledge of what a transistor or microcontroller even is. While many of our readers would have taken the more difficult path and tapped directly into the TTL of the controller to achieve maximum efficiency; it is most likely that [yavin427] would not have known how to do this, and thus would not have seen the many other paths to his end goal that would have been obvious to us. Yet he achieved his end goal. And he did it far easier and with less complication than many of us would have done.
Continue reading “Arduino + Servo + Scotch tape == An Interesting Conversation”
Back in the day, and by that we mean the late 80s and early 90s, arcade machines started using the JAMMA standard, a means for a single arcade board to be wired in to the controllers, video output, and other ephemera found in arcade cabinets. Since then, quite a few people have amassed a collection of these vintage arcade boards. Putting them to use requires a means of providing power, video output and controller connections. The usual way of wiring in a joystick and buttons is with a wiring harness, but [Mike] and [Jasen] are connecting Xbox 360 and PS3 controllers to their machines with the help of a Raspberry Pi Hat.
[Mike] and [Jasen] created Project Kajitsu to replace the expensive ‘Supergun’ controllers arcade game collectors usually use to play Street Fighter, X-Men, and Battletoads. They’re using the USB ports on a Raspberry Pi B+ to listen to two XBox or PS3 controllers and translate button mashing into something these old games can understand.
The guys are using a custom Linux Kernel that boots in just a few seconds, providing the bare minimum of an OS to support the controllers. The board itself is extremely simple; just a few bus transceivers, caps, resistors, and headers. They have an iPhone-quality vertical video proof of concept video (below), and although they’re still figuring out the best way to simplify the Bluetooth pairing process, they’re well on their way to supporting wireless controllers.
This board only provides controller input. If you have one of these old boards, you will need video output. That’s another project entirely, but very simple if you have an SCART monitor.
Continue reading “Console Controllers for JAMMA Boards”
We love portable console builds, and this one by [Daniel Fürstauer] is no exception. It’s a beautifully hacked Xbox 360 slim into an aluminum briefcase — complete with a screen and a full audio system!
He started by gutting the Xbox 360 slim and throwing out pretty much all of the original enclosure, minus the disc drive cover. Now what he did next was completely for aesthetics, but freaking awesome. He actually took the motherboard out, taped off some of the important components, and spray painted the entire thing white! We’re not too sure what effect this will have on some of the components, but it seems to work, and gives it a really unique look underneath his Plexiglas enclosure.
He housed the rest of it (complete with custom cooling fans!) inside of one of those nice aluminum briefcases, complete with a widescreen LCD monitor, and computer speakers. He even fit the power supply inside — all you have to do is plug it in! There’s also room for at least one controller, whose holding spot doubles as space for the disc drive to eject. Continue reading “Xbox 360 Slim Gets Gutted and… Painted White?”