A full end-to-end system I designed and integrated from separate development modules — GPS, LoRa radios, microcontrollers, a Raspberry Pi backend and a browser dashboard — all engineered to survive a day of youth dinghy racing.
Each boat carries a LoRa GPS tracker. A support-boat gateway collects every position over the mesh and hands it to a Raspberry Pi, which logs it to a database and serves the live dashboard.
Unlike pre-packaged commercial trackers, I selected, wired and tested every module here by hand — learning to troubleshoot firmware, wiring and signal issues systematically.






Drag to rotate. Tap a part — or a label — to see what it does.
A single boat node is built from a handful of proven, low-cost modules — no cellular, no subscription, no proprietary lock-in.
| Subsystem | Component | Why it was chosen |
|---|---|---|
| Microcontroller | ESP32 (TTGO LoRa32) | Dual-core, low-power, integrated LoRa & Wi-Fi for firmware flashing |
| Positioning | u-blox NEO-M8N GPS | Fast fix and metre-level accuracy for tight fleet racing |
| Radio link | LoRa (868/915 MHz) + aerial | Kilometre-range, licence-free, no SIM and no monthly fee |
| Power | 3.7 V LiPo battery | 8 hr+ endurance — a full day’s racing on one charge |
| Enclosure | IP67 waterproof case | Sealed against spray, capsizes and immersion |
| Mounting | Custom 3D-printed mast bracket | Holds the aerial clear of the water for line-of-sight range |
LoRa carries positions kilometres over open water without any cellular network — nothing to subscribe to.
A single 3.7 V LiPo runs a full regatta day, so nothing has to come ashore mid-session.
An IP67 case and a mast-base mount keep the electronics dry and the aerial in clear line of sight.
I modelled the mount from scratch and iterated it on the printer until it snapped securely onto a standard dinghy mast, held the aerial upright for maximum range, and shrugged off knocks during rigging and racing.
Getting many boats’ data onto one map, with trails, data points and a time function, took me many iterations of debugging the HTML and back-end data flow.
Bench tests on land, waterproofing trials in the pool, then real sail-training sessions with Royal Akarana Yacht Club — the system ran with no physical or software failures.






The prototype proved a low-cost, real-time, subscription-free tracker is possible. The main limitation was Meshtastic firmware throttling how much GPS data could flow. The roadmap:
Replace Meshtastic with an Arduino-based stack and custom Python to unlock continuous, time-stamped GPS data.
Move from development boards to a purpose-built PCB — cheaper, smaller and more reliable.
Race setup, sailor/device pairing, training modes and a multi-race regatta dashboard with capsize alerts.
Add a start-timer display and motion sensors to detect capsizes and measure heel angle & tacking efficiency.
See how this student project won the Samsung Solve for Tomorrow national award and made it onto RNZ.
Read the story & press