Gamer turns 2012 Honda CR-V into Need for Speed Underground controller — laptop reads throttle input using OBD and a Python library, even the steering works
Don't try this at home, mabye.

You've seen elaborate multi-screen simracing setups. You've seen those weird 3D-printed steering wheel attachments clipped onto gamepad joysticks. You've even seen players attempt precision driving with the binary input of WASD keys in Forza. But what you probably haven't seen—until now—is a real, physical car controlling the virtual one on your screen.
Meet Mr. Yeester (stylized as mryeester), who's just done exactly that. He took a real car, specifically an old Honda hatchback, and hacked into the onboard diagnostics of the vehicle in order to read the data coming from its sensors. Then, using Python libraries and some clever scripting, he managed to register the car’s actual gas pedal as an input device inside an emulator. Here’s how he pulled it off.
Every car made after 1996 (in the U.S.) has an OBD2 port, usually found under the dashboard. It’s a universal diagnostic interface designed to help identify and fix issues with your car. Mechanics and manufacturers use it to pull all sorts of data from various sensors, everything from engine RPM to the gas tank level. Basically, if a sensor monitors it, it can show up here. Of course, Mr. Yeester didn’t use this port for troubleshooting.
Thanks to a simple OBD2-to-USB adapter cable, he tapped into the car’s ECU (electronic control unit) and began logging sensor data directly onto his laptop. One of those sensors tracked the throttle position, directly linked to the gas pedal. However, it's not as easy as just taking this data and mapping it automatically to whatever game you want.
First, you need a Python library called pySerial to read data coming from the car’s sensors. Once the stream is visible, the next step is to identify the specific PID (Parameter ID) for the throttle. This allows you to tap into that particular sensor and write a script that converts the analog signal from the car’s gas pedal into a digital one your computer can understand. Unfortunately, Mr. Yeester didn’t share the exact details about how he achieved this.
Once the script is working and throttle data is being read in real time, the values need to be saved to a JSON file. That file is then monitored by a separate automation tool. In the video, Mr. Yeester used AutoHotkey to create a second script that mimics a physical key press whenever the values in that file change. In his case, he set the script to register a Spacebar input as soon as the "trigger_value" parameter crossed 0.2 inside the JSON.
At the end, just open your emulator of choice and configure the control scheme to map Spacebar as the throttle input. You can do this in pretty much any modern game that supports custom key bindings. Then, simply run the AutoHotkey script and, voilà, your car’s gas pedal becomes your car's gas pedal... in Need for Speed.
Get Tom's Hardware's best news and in-depth reviews, straight to your inbox.
As a bonus, in his long-form video on the same project, Mr Yeester even got the steering wheel of his car to function as the steering in-game. He used an old Honda diagnostics tool that gave him access to some hidden sensors, like the steering, which he mapped in a similar way to the throttle inside the Dolphin emulator.
The rest of the video turns into a borderline sponsor segment for a dashcam he used to film the setup from inside the car. No further technical instructions were provided. Still, this has to be one of the most expensive—yet somehow still barebones—simracing setups we’ve ever seen. If you want to see a similar drive (no pun intended) for DIY wizardry, check out the unofficial Steam Controller 2, made from a sliced-up Steam Deck.
Follow Tom's Hardware on Google News to get our up-to-date news, analysis, and reviews in your feeds. Make sure to click the Follow button.

Hassam Nasir is a die-hard hardware enthusiast with years of experience as a tech editor and writer, focusing on detailed CPU comparisons and general hardware news. When he’s not working, you’ll find him bending tubes for his ever-evolving custom water-loop gaming rig or benchmarking the latest CPUs and GPUs just for fun.
-
kyzarvs The data rate is astonishingly slow for ODB2 - I can't see that it's fast enough to actually playReply -
P.Amini As an technical experiment this is interesting and it is cool but let's get to it:Reply
I've seen cars turned into simulator rigs (for example a full Porsche 911 turned to a very high end simulator in a show with actuators under it wheels), I've seen simulators that cost more than a new Ferrari...
- NFS is not a simcade game, let alone a simulator, it's pure arcade.
- What you say is he is using his pedal as an on/off switch which is extremely toy like, every sim racing pedals I can think of are progressive, even very old and inexpensive pedals were 8-bit (256 steps), steering wheels are even much more precise.
- Force Feedback is very important in simulators, it both make the experience more realistic and controlling the car easier, Logitech G25 considered the first real FFB wheel many years ago and the world of FFB wheels has changed a lot since.
- In real cars there is no lag and in simracing every milliseconds of lag make the experience less realistic and controlling the car more difficult (we are more sensitive to motion lag than screen lag), that is why Direct Drive Steering Wheels with high speed controllers are popular (though not cheep) and that is why serious and professional simulation of motion in simulators need a set of very big, powerful and fast actuators (to move the simulator-rig) that cost as much as a new car.