If you take racing video games seriously, there is no substitute for a well-made racing controller. A regular ol’ game pad just doesn’t get close to replicating the feeling of driving a real car. So, why not take it one step further and use your actual car as a controller?
Over at Moral Recordings, Scott Percival has a fun writeup covering how he turned his car into a game controller by tying into the CAN bus system. The CAN (Controller Area Network) bus is how the various sensors and microntrollers in your car communicate with each other. It’s specifically designed to be a robust system, but it’s not actually particularly secure.
As Percival points out, that lack of security means you can tap into the CAN bus through your car’s OBDII port. Using an inexpensive and readily available ELM327-based OBDII adapter, he was able to read the messages being sent on the CAN bus. This required a fair amount of reverse engineering, but he was eventually able to sniff out CAN bus messages fairly reliably.
Those messages gave Percival everything he needed to setup a virtual game controller. Data like steering wheel angle, accelerator position, and even whether the headlights are on or not can be accessed. From there, it was just a matter of setting up a projector in front of the car, and loading up some racing games!