Wii Golf × TrackMan
Real swings, Wii Sports golf.
Hit a real ball into a TrackMan 4 radar and the shot plays out in Wii Sports Resort golf. A bridge turns the radar's numbers into the motion a Wiimote would have made and feeds it to the Dolphin emulator.
What it does
May 2026- 01Swing a real clubTrackMan measures ball speed, launch angle, direction and spin, and the game gets a swing to match.
- 02A fake WiimoteEach shot becomes 60 Hz accelerometer and gyro data, sent to Dolphin the way a motion controller would send it.
- 03Every shot commitsDrives, irons, wedges and chips all go through. Putts come out a bit strong for now, which beats them not firing.
- 04A second way inA Python bridge skips the swing detector and writes the ball's speed straight into the game's memory.
Signature
A swing made from a shot
TrackMan only knows what the ball did. The bridge works backwards to a swing: back, a pause at the top, down, follow through, scaled by ball speed so a drive winds up 180° and a chip about half that. The game can't tell it from a person holding a Wiimote.
How it works
- Listening to the radarThe bridge subscribes to TrackMan 4's WebSocket on the local network and waits for each shot's measurement.
- Building the swingA smooth four-phase curve sets the gyro and accelerometer for every frame, with the gyro peaking at impact and a short accel spike at the same moment.
- Talking to DolphinIt runs a cemuhook DSU motion server on UDP port 26760, sending 80-byte packets that Dolphin treats as a MotionPlus Wiimote.
- Tuned against the emulatorDolphin caps the gyro at 2259°/s, and going over flattens the wave so hard shots read weaker. The comments in the source are the calibration history.
Design
System fontsAa
#16130F#2D5F3F#6A655D#F6F5F2
- No interface of its own: it runs in a terminal and the game is the screen.
- Colours come from the README's badges: golf green on a warm near-black.