mrkeyoor.com_
Tue 01 Sept 17:41 UTC
Self-Hostedevaluationupdated 26 Aug 2026

openflight review

OpenFlight is a build-it-yourself golf launch monitor that runs on a Raspberry Pi and reads an OPS243-A Doppler radar. It reports ball and club speed, estimates carry, can add measured launch angle through a TI IWR6843 radar, and serves shot data through a touchscreen and local web interface.

+44stars / 7d
Verdict

Our OpenFlight run installed 58 packages and passed all 1,341 tests in 93 seconds combined, which is unusually strong software evidence for a DIY hardware project. Build it if a roughly $400 to $556 maker project sounds enjoyable and you will verify its readings against known results. Buy a finished monitor if experimental spin, custom firmware, careful mounting, or ongoing physics work would turn a golf tool into an unwanted second hobby.

We ran it

Lab card: what happened when we ran openflightScreenshot of openflight (openflight.dev)
Install✓ · 27s58 packages · 217 MB
Build✓ · 8s
Tests✓ · 58s1341 passed · 0 failed · 8 skipped of 1341 (pytest)
Known vulns0(pip-audit)
Repo697 files~139,805 lines of source · 109.4 MB · 4 CI workflows · tests dir

Answers from our run

Does openflight build from source?

Dependencies installed in 27 seconds (58 packages), and the build succeeded in 8 seconds. We cloned commit 1bdcce0 into a clean Debian container with 3 CPUs and no project-specific setup.

Do openflight's tests pass?

Yes: 1341 of 1341 passed when we ran the project's own test command (pytest). Some failures need services or credentials a bare container does not have.

Does openflight have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use openflight?

Buyers who want calibrated spin and carry out of the box: the README calls spin experimental, excludes it from carry by default, and uses fallbacks when measurements are missing.

What are the alternatives to openflight?

Garmin Approach R10, Rapsodo MLM2PRO, FlightScope Mevo+. Our OpenFlight run installed 58 packages and passed all 1,341 tests in 93 seconds combined, which is unusually strong software evidence for a DIY hardware project.

Setup2/5Software passed cleanly; hardware needs wiring, firmware, and geometry
Docs5/5Parts, wiring, Pi setup, radar firmware, diagnostics, and limits covered
Community4/5969 stars with active issues, pull requests, and Discord
Maturity3/5Large passing suite, but project warns of active unstable development

Who it’s for

Golfers who enjoy wiring, flashing firmware, measuring mounts, and debugging hardware as much as using the finished monitor.
Makers who want local shot records and an inspectable physics pipeline instead of a sealed commercial device.
Researchers willing to compare readings against trusted launch-monitor data and contribute captures or model fixes.

Who it’s NOT for

Buyers who want calibrated spin and carry out of the box: the README calls spin experimental, excludes it from carry by default, and uses fallbacks when measurements are missing.
Anyone unwilling to wire hardware or flash custom radar firmware: the IWR6843 needs a supplied non-stock image, and the OPS243 may need GPIO UART migration.
New builders planning around K-LD7 radars: the README says they are deprecated and should not be purchased for a new build.
Closed-source product teams unwilling to meet AGPL-3.0-or-later obligations for modified network software.

Setup reality

Our software install succeeded in 27 seconds, adding 58 Python packages and using 217 MB. The build passed in 8 seconds. Pytest finished in 58 seconds with 1,341 passed, 0 failed, and 8 skipped of 1,341; pip-audit found 0 known vulnerabilities.

A working monitor is a hardware project. The README estimates about $400 without the angle radar and $556 with it. You need a Raspberry Pi 5, OPS243-A, sound trigger, wiring, mounting, power, and optional IWR6843 with custom firmware and measured geometry.

The checkout had 697 files, about 139,805 source lines, 4 CI workflows, a tests directory, and no Dockerfile. Our container had no radars or GPIO, so the passing suite does not validate assembly, RF conditions, shot detection, or real-ball accuracy.

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.

Alternatives

ProjectWhat it isPick it when
Garmin Approach R10A portable commercial launch monitor with a supported app and no assembly work.pick this instead when a finished product and vendor workflow matter more than open code and hardware access.
Rapsodo MLM2PROA consumer launch monitor that combines radar, cameras, and a subscription-backed mobile experience.pick this instead when packaged video feedback and guided setup are worth accepting a closed ecosystem.
FlightScope Mevo+A commercial radar monitor aimed at golfers who want measured ball data without building electronics.pick this instead when measurement support and immediate use justify a higher purchase price.

What people are saying

  1. [github-trending] jewbetcha/openflight

Sources

  1. OpenFlight README
  2. Lift-model limitation issue
  3. Sound-trigger replacement issue
  4. Headless phone-display request

More self-hosted reviews

v2 · OpenShell · wigolo · Mindwtr · club-3090 · reclip · the whole board →