Skip to content

Build Order

The hardware has genuine prerequisites. Each step below assumes the previous one is done and verified — the point of the order is that when something breaks, only one thing changed.

Verify at every step

The most common way to lose an afternoon is to wire everything, turn it on, and get nothing. Each step here ends with a check that produces visible output. Do not move on until it passes.

0. Order the parts

Parts list

Some items ship slowly. Order everything before you start, including the R17 resistor (47 kΩ, and a 33 kΩ as backup) for the sound detector.

1. Wire the sound trigger

Sound trigger wiring

Solder the R17 gain resistor, then wire GATEHOST_INT and the shared ground. This is the one soldering job in the build.

Verify: the GATE LED flashes when you clap and goes out again. If it stays lit, fit a lower-value R17.

2. Set up the Raspberry Pi

Raspberry Pi setup

Install the OS and dependencies, run the setup script.

Verify: the server starts in mock mode — scripts/start-kiosk.sh --mock.

3. Persist rolling-buffer mode

Rolling buffer setup

One time, per radar. The OPS243 must hold rolling-buffer mode in flash or hardware triggers will not work.

Verify: test_rolling_buffer_persist.py --test reports triggers when you clap.

You now have a working launch monitor

Ball speed, club speed, and carry all work from here. Everything below adds angles. Play with it at this stage before continuing — it confirms the whole trigger and capture path is sound.

4. Move the OPS243 to the GPIO UART

OPS243 → GPIO UART

Required before the IWR6843, which needs the USB bus and real current. Do this migration on its own; adding the TI radar at the same time makes any failure ambiguous.

Verify: the diagnostic reports 230400 baud and roughly 22 KB/s. A pass reporting 19,200 is treated as a failure on purpose — it means the radar never received the I5 command, so check the Pi pin 8 → J3 pin 6 wire.

5. Add the IWR6843 angle radar

IWR6843 operator guide

The largest step, and itself ordered: wiringflashingmounting and geometrystart and verify.

Verify: the first capture returns a sane launch angle.

Optional extras

Any order, once the above works.

Add-on Guide Why
Inclinometer LIS3DH Compensates enclosure tilt so the IWR6843 angle stays honest if the unit is bumped
Battery Geekworm X1202/X1206 Portable operation with real telemetry and low-battery warnings
Enclosure IARC v3 case Printed housing for the whole assembly
Simulators Connectors Stream shots to GSPro, OpenGolfSim, E6
Cloud sync Cloud sync Push filtered sessions to FlightWeb
Log shipping Observability Query sessions in Grafana Cloud

When something does not work

Start at the troubleshooting symptom index, which routes by what you are seeing rather than by which component you suspect.