-
Realistic cockpit using a custom made PLB model of a Honda Civic Type R
-
Score starts at hundred and decreases as violations increase which will be analyzed when driver presses space to end session
-
DMV based Driver Score with specific areas of improvement driver can work on which results after spacebar
Inspiration
38,000 people die on US roads yearly from driver error. Professional racing drivers train on $50,000 force feedback simulators because steering feel is the primary way drivers sense grip—when the wheel goes light, it's a 200ms warning before losing traction. I wanted to teach this life-saving skill on a $250 wheel + MacBook, something that's never been done on Apple Silicon.
## What It Does
DriveCoach teaches real steering feel through two phases: (1) Ghost Lap — the wheel moves your hands through perfect steering inputs so you feel correct technique, and (2) Your Turn — you
drive while being scored against California Vehicle Code in real-time. The wheel feels heavy in corners and goes light at the grip limit—exactly like a real car—so you learn the actual mechanism
that warns drivers they're losing traction.
## How I Built It
I reverse-engineered the G920 force feedback driver from the Linux kernel (no macOS documentation exists), modeled real power steering physics using Self-Aligning Torque + viscous damping instead
of a centering spring, built a kinematic bicycle physics engine with friction circle grip limiting, synthesized all audio real-time with numpy DSP, and rendered everything procedurally in Metal
(no game engine). ~3,500 lines of Python running at 60 FPS on a MacBook.
## Challenges I Ran Into
The G920 ships invisible to macOS with zero documentation. OpenGL crashes on Apple Silicon. Our initial force feedback wobbled uncontrollably because centering springs create feedback oscillation.
I solved these by porting HID++ 2.0 from the Linux kernel, using Metal-native wgpu, and removing the spring entirely—real power steering has no spring, just tire geometry (SAT) and hydraulic
viscous damping.
## Accomplishments I'm Proud Of
I built the only working G920 HID++ 2.0 driver on macOS and in the world. I discovered that removing the centering spring and modeling real power steering physics eliminates wobble and teaches drivers actual
grip limits. I proved a $250 wheel can teach steering feel as well as $50,000 motion rigs because physics matters more than motion. All in one weekend, zero game engine. I am also very proud of the custom PLB that I used
## What I Learned
First-principles physics solves "unsolvable" problems. Real power steering has no spring—centering comes from tire caster trail geometry. Viscous damping (velocity-dependent forces) is stable;
position-dependent springs oscillate. Motor-memory learning works: having the wheel move your hands through correct inputs before you take control builds confidence. Procedural generation and
vectorized numpy were key to 60 FPS performance.
## What's Next for DriveCoach
Haptic feedback on pedals (ABS rumble, throttle response). Real dynamic traffic that reacts to your driving. Eye-tracking integration so the coach warns when attention drifts. Different car models
with varying weight distributions. VR support for full immersion. Research partnerships with universities to prove steering feel effectiveness reduces real-world crashes. Release the G920 FFB
driver as open-source so other sims can use it. I also think that we should include a customized texture and a customized map of sunnyvale which was what I was getting at
Log in or sign up for Devpost to join the conversation.