A single-header Arduino library called LogiWheelHost, written by Joel Kometz, lets an ESP32-S3 read full control data from seven Logitech racing wheels: the G29, G923, G920, G27, G25, DFGT, and Driving Force Pro.
The core problem the library solves is non-obvious: these wheels do not stream complete input data on boot. They start in a restricted mode that outputs only neutral or combined-axis values. To get separate pedal positions, individual button states, and gear shifter data, you must send a specific HID output report to trigger what the project calls native mode. LogiWheelHost handles that trigger automatically and wraps the result in a clean API. The project builds on EspUsbHost, which provides the underlying USB host stack for the ESP32-S3.
Read the full project README on GitHub to understand exactly which HID report initiates native mode and how the library structures controller state objects. The broader implication is worth noting: as ESP32-S3 USB host support matures, repurposing consumer USB peripherals for embedded projects becomes significantly cheaper and more practical.
[READ ORIGINAL →]