Use your car's CAN bus as a game controller to play video games with real steering wheels and pedals.
Talking with Cars is a CAN bus analysis project that enables users to interface with their vehicle's internal network and repurpose car controls as input devices for video games. It provides scripts and documentation for capturing CAN data and creating virtual game controllers from real automotive components like steering wheels and pedals. The project demonstrates practical automotive hacking techniques through hands-on experimentation.
Automotive enthusiasts, hardware hackers, and developers interested in reverse-engineering vehicle systems or creating novel human-computer interfaces using automotive components.
It offers a practical, open-source toolkit for exploring CAN buses with real-world examples and game controller implementations, lowering the barrier to entry for automotive hacking. The project provides manufacturer-specific mappings and multiple controller versions for different gaming scenarios.
CAN analysis - Use your car as a gamepad!
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides Python scripts using python-can to capture and analyze CAN traffic, with real-world logs from vehicles like the Fiat 500 and VW Polo, enabling practical learning.
Includes two versions: v1 for simple games via libuinput and v2 for hijacking real Xbox controllers, with demonstration videos for games like VDrift and Dirt Showdown.
Comes with notes, PDFs, and logs covering OBD, CAN protocols, and environment setup, sourced from various online materials and personal research.
Offers manufacturer-specific codes for brakes, clutch, and steering wheel controls, particularly for Fiat cars, providing a concrete starting point for experimentation.
The README admits that codes are manufacturer-specific and may only work with Fiat cars (possibly only the Fiat 500c 2010), requiring significant effort to adapt to other models.
Tested only on ArchLinux with specific tools like PiCan2, making setup complex for other operating systems or without access to the exact hardware.
Notes include a disclaimer that they are based on personal understanding and may contain errors, which could lead to incorrect implementations for inexperienced users.