The software passed 1,341 tests, while the hardware still needs a builder
OpenFlight combines a Raspberry Pi application with a 24 GHz OPS243-A Doppler radar and a sound trigger. The base setup measures ball speed and pre-impact club speed, derives smash factor, and calculates carry. An optional TI IWR6843 board supplies launch angle and an experimental club-path estimate. A Flask and WebSocket backend feeds a React interface on the attached screen or another browser on the local network.
Our repository run was excellent. Installation took 27 seconds, added 58 Python packages, and used 217 MB. The build passed in 8 seconds. Pytest completed in 58 seconds with 1,341 passed, 0 failed, and 8 skipped out of 1,341. Pip-audit found 0 known vulnerabilities. Those results reduce the software risk, though they cannot tell you whether a radar is mounted square to the target or hears an impact in your room.
A base build costs about $400 before your time
The README's parts table estimates $249 for the OPS243-A, $130 for a Raspberry Pi 5, $46 for a 7-inch touchscreen, $18 for the sound trigger, and $27 for power and accessories. That puts the base subtotal near $400. Adding the supported IWR6843 angle radar and cable brings the stated total to about $556. Prices and availability can move, so use the current parts guide before ordering.
Assembly is more than plugging in USB cables. The sound board connects to the OPS243-A trigger. When the IWR6843 is added, the Pi cannot power both radars over USB in the recommended arrangement, so the OPS243 moves to the GPIO UART header. A WiFi-equipped OPS243 cannot use that UART path because its radio module occupies the line; the documented alternative is a separately powered USB hub.
What happened when we ran it
Our sandbox installed OpenFlight in 27 seconds, built it in 8 seconds, and ran tests for 58 seconds on 3 CPUs with 8 GB of RAM. All 1,341 tests passed, with 8 skipped and 0 failed. The installed environment used 217 MB, and the Python dependency audit reported 0 known vulnerabilities.
The checkout itself contained 697 files, roughly 139,805 source lines, and 109.4 MB. We found 4 CI workflow files, a tests directory, and no Dockerfile. No OPS243-A, sound sensor, IWR6843, touchscreen, serial device, GPIO pin, golf ball, or reference launch monitor was attached to our container. The lab run validates the available software checks at commit 1bdcce0, not physical measurement accuracy.
Custom firmware and measured geometry decide whether angles mean anything
The IWR6843 needs custom firmware because the stock TI demonstration does not expose the radar cube OpenFlight uses. A validated image is included under firmware/releases/, so ordinary builders can flash it without compiling the TI toolchain. You still have to mount and aim the board, measure its height, tilt, and distances, then put those values into the startup command.
The README warns that copied example geometry can bias results without an obvious startup error. That is the sort of failure a software test rarely catches. Follow the operator guide in sequence: first confirm the OPS243 after its UART move, then wire and flash the IWR6843, and finally verify a first capture. New builders should also avoid the K-LD7 option. Its code remains for existing installations, but the hardware path is deprecated.
Spin and carry are still the scientific work
OpenFlight calls its rolling-buffer spin candidate experimental and does not use that value for carry by default. Short indoor ball flight and multipath make individual readings unreliable. Launch angle can be estimated when no trusted radar angle exists, and the ballistic model has explicit fallbacks for missing measurements. Those choices keep the interface useful, but a displayed number can be derived rather than directly observed.
Open issue 230 identifies a specific limitation in the lift model: its current function only rises and flattens, while measured golf-ball lift peaks and then falls as spin ratio increases. The report proposes a different functional form and notes other omitted effects. This is a better warning than a vague beta label. If carry matters for club fitting, compare OpenFlight against trusted captures across driver, iron, and wedge shots rather than checking one convincing number.
Current activity is high, and stability is still explicitly disclaimed
GitHub recorded 969 stars, 27 combined issues and pull requests, and a last push on August 26, 2026. Issue 189 had activity the same day around replacing the sound trigger board to avoid solder work and improve sensitivity control. There was no GitHub release to pin, while the README warns that features may be incomplete, unstable, or change without notice. Pin a commit and keep configuration backups.
The project earns trust by documenting awkward facts: deprecated sensors, experimental spin, geometry bias, power constraints, and raw-data boundaries for optional cloud sync. The 1,341-test pass adds serious confidence in the code. It remains a maker's launch monitor. That is a recommendation for golfers who want ownership and experimentation, and a clear reason for everyone else to buy an appliance.

