How do you measure a golf shot without a camera, a launch monitor or a monthly subscription? Maker Coleman Rollins answered with Open GPS, a handheld tracker that does the job with one GPS module and a rotary dial.
How does Open GPS record a shot?
Before swinging, the golfer turns the dial to pick a club and presses it to save the starting position. After walking to the ball, a second press logs the end point and the firmware calculates the distance between the two coordinates. A live readout updates as you walk, and every shot is stored with its start point, end point and club. After the round, the log exports as CSV or GeoJSON, so you can plot shots on a satellite map of the course. The Hackster writeup covers the full build.
What hardware is inside?
The brain is a SparkFun Thing Plus ESP32-S3 running Arduino-framework firmware. A SparkFun NEO-M9N GPS breakout gives meter-level positioning, and an external antenna helps it hold a fix in the open. A 1.3-inch OLED shows the readout, and a Qwiic Twist rotary encoder doubles as dial and pushbutton. Everything talks over Qwiic, a four-pin I2C connector (3.3 V, GND, SDA, SCL), so there is no soldering between modules. A lithium-ion cell powers it, and the case is a 3D-printed three-part shell held by M2 screws.
The gotcha with GPS distance is noise: a standing receiver drifts a few meters, so average several fixes before you save a point, or short chip shots will read wrong.
Can you try this at school?
Yes, and you do not need a golf course. Wire an ESP32 board to a u-blox GPS module over I2C or UART, print the latitude and longitude on the serial monitor, then add a button that stores two points and computes the haversine distance. A school field works for testing walking distances between cones. The same code logic fits a thesis on athlete tracking or a campus mapping project.
- Start with a 1 Hz update rate, then raise it to 5 Hz once logging works.
- Test outdoors with open sky, since GPS rarely locks indoors.
- Find ESP32 boards and I2C breakouts at circuit.rocks.
Frequently Asked Questions
How does Open GPS measure shot distance?
It saves the GPS coordinates when you press the dial before a shot and again at the ball, then computes the distance between the two points. No club sensors or cameras are used.
What parts does the Open GPS tracker need?
A SparkFun Thing Plus ESP32-S3, a NEO-M9N GPS breakout with external antenna, a 1.3-inch OLED, a Qwiic Twist encoder, a lithium-ion battery and a 3D-printed case with M2 screws.
What will I learn if I build this?
You practice reading NMEA or UBX GPS data, I2C wiring over Qwiic, rotary encoder input, OLED drawing, distance math with latitude and longitude, and exporting logs as CSV or GeoJSON.
