Overview
Designed and built as a year-long senior capstone at NDSU, this project spans three custom PCBs, two microcontroller platforms, a real-time operating system, and a PC-side telemetry bridge — all integrated into a working force feedback sim racing system.
The Challenge
The goal was to build something that behaves like a finished product, not a prototype: responsive under load, modular across devices, and durable enough to actually race with.
Force feedback steering wheels exist commercially, but building one from scratch means solving every layer at once: motor dynamics, embedded communication, USB HID enumeration, live telemetry, and PCB layout — all as one integrated product rather than a collection of disconnected prototypes.
The hardest constraint was keeping the full signal chain tight. From steering wheel input to USB HID report, from Assetto Corsa telemetry data to RPM lighting on the wheel — every link in the system had to be fast and reliable enough to feel immediate in real racing conditions.
Solution
The wheelbase runs an STM32F446 with FreeRTOS managing concurrent tasks: a closed-loop motor control loop driving a belt-driven DC motor through a BTS7960B H-bridge, a CAN bus handler relaying live telemetry to the steering wheel, and a USB composite driver presenting the full system as a game controller to the PC.
The steering wheel runs a separate STM32F103, receiving telemetry frames from the wheelbase over CAN and rendering gear, speed, and RPM data onto a Nextion display. All user inputs — buttons, encoders, rotary switches, and paddle shifters — are routed back to the wheelbase.
The pedals report throttle, brake, and clutch positions via analog angle sensors to the wheelbase, which bundles everything into a single USB HID report. A Python application on the PC reads Assetto Corsa shared memory and forwards live telemetry over USB OTG — faster and lower-overhead than UDP.
By the Build
- Custom-built Formula 1 style steering wheel with live telemetry display
- Belt-driven wheelbase tuned for force feedback and responsive control
- Distributed embedded system connected over CAN bus
- USB game controller support for use with Windows racing titles
Outcome
The final system earned top marks and strong feedback from faculty and industry judges at the NDSU Senior Design Expo. It successfully enumerates as a USB game controller, delivers real-time force feedback, and streams live telemetry to the wheel display — all simultaneously and without conflicts.
Beyond the technical result, this project proved out a complete embedded product workflow from scratch: schematic capture and PCB layout in Fusion 360 Electronics, mechanical enclosures designed in Fusion 360, 3D-printed in PA6-CF and ABS, and firmware debugged with a logic analyzer and oscilloscope across two full semesters.
Gallery













