Some hacks are detected immediately by the specialized press, but there are others that escape the radars for a good while. What you will see below happened at the 2016 edition of the HackIllinois convention, and since the goal was to hack cars, the winning team decided to use them as controllers to play Mario Kart 64. The project requires several elements (among them a Raspberry Pi and an OBD-II cable), and Mario Kart resists the new controls quite a bit, but it doesn't stop being awesome.
From Dark Hacks to Fun on Wheels
As cars incorporate more technology, their hacking potential increases. Months ago we talked about vehicle theft using just a laptop and official software that fell into the wrong hands, but that’s the “the dark side”. There are other, much more benign projects that aim to learn everything about a car’s systems, not only to improve what the user can do with it, but also to optimize its security. And of course, the idea is to have fun, which definitely happened at HackIllinois 2016.
The Winning Team’s Setup
The winning team, led by Adam Ringwood, decided to turn cars into giant controllers, and the chosen game was none other than Mario Kart 64. A Raspberry Pi, a laptop, an OBD-II cable, the PiCAN2 module, and a lot of “trial and error” were needed to adapt the car’s commands to the emulator. Basically, what Ringwood and his team did was take direct data from the CAN bus, process those values with a Python script, and transform the result into emulated keys.
The Challenges
The brake and windshield wipers were relatively straightforward. The accelerator was based on reading revolutions per minute, and the lights (that make characters jump in the game) demanded multiple tests due to unexpected changes in the data. The hardest part was the steering wheel: Mario Kart 64 only supports two commands (left and right), while the steering wheel’s reading changes depending on how far it is from its center. Despite the difficulties, it’s a great hack, and I’m sure many of you have already tried it.