acdatatowheel

Sim Racing wheel for Assetto Corsa

My latest project, an F1 Steering Wheel, epitomizes the realm of SIM-racing. Designed to seamlessly interface with the PC game Assetto Corsa, this custom steering wheel brings the experience of F1 racing directly into the hands of the player.

bmw_1er

Technical Insight

At the heart of this project lies the use of an ESP32 microcontroller, meticulously programmed to manage the dynamic LED indicators and the three integral displays on the steering wheel. These components are crucial for real-time feedback, displaying crucial data such as speed, lap times, and engine RPM, mirroring the multifaceted dashboards found in real Formula 1 cars. Furthermore, an Arduino Pro Micro is employed to handle button inputs. This microcontroller is specifically tailored to emulate a keyboard, allowing for an intuitive and responsive control scheme. Each button press is mapped to correspond with in-game actions.

Software Architecture

software_architecture

The backbone of this project is its software, written entirely in C++. This choice of programming language ensures optimal performance and efficiency, allowing for real-time data processing and minimal latency in communication between the steering wheel and the game. The game data from Assetto Corsa is read over shared memory. For the development environment, Clion was used, with the PlatformIO plugin.

acdatatowheel

Renderings

Designed in Solidworks and rendered in Blender.