How to get log files off your device, read your numbers, trim, merge and submit your best runs to GP3S — plus answers to the questions that come up most.
GPS Analyzer works the same way whether you're pulling logs straight off an ESP-IDF GPS Logger over WiFi or importing files from another device.
Install through TestFlight on iOS (public beta) or Google Play on Android. It's free to use.
On the Devices tab, WiFi-discover your ESP-IDF GPS Logger and download its logs — or import .sbp, .ubx, .oao, .gpy, .gpx or .fit files from Files or another app's share sheet.
Drill down from a device or file into its sessions. Sessions are detected automatically the moment a file is analyzed — no manual splitting.
Every competitive interval — 2 s, 10 s, ½ hour, 1 h, sprint distances, nautical mile, alpha 500 — appears instantly, computed the same way GP3S computes them.
Select one session and choose Trim to cut the paddle-out, a shore break, or a GPS gap. Select two or more and choose Compare to line them up, or Merge to combine them into one continuous session — all directly from the Sessions list, and all undoable.
Gather sessions from multiple devices or days into an Activity to see the best run across the whole group, then submit the run you pick to GP3S in one tap.
A closer look at every screen, for when you want more than the quick version above.
The Devices tab discovers an ESP-IDF GPS Logger automatically. The logger supports two WiFi modes: in Access Point (AP) mode it broadcasts its own WiFi network that your phone joins directly; in station mode it joins your home/router WiFi like any other device, so your phone just needs to be on that same network. Tap a device to browse and download its logs, view and edit its configuration, or flash new firmware over the air.
Don't see your logger? In AP mode, join the logger's own WiFi network from your phone's WiFi settings first. In station mode, make sure your phone is on the same network as the logger (not a guest or isolated network) — or add it manually by IP address from the same screen.
The Files tab holds everything you've downloaded or imported. Use the share sheet or file picker to bring in logs from Locosys, u-blox-based loggers, Motion, OpenGNSS, Garmin / COROS, or a plain GPX export.
Supported formats: .sbp · .ubx · .oao · .gpy · .gpx · .fit. Doppler speed is read straight from the file wherever the format provides it.
A session is one continuous run, split out automatically from a file by time and location gaps — by default a break of more than 30 minutes starts a new session.
The session list shows a mini-track preview, max speed and key intervals for each one — sort by date, location, 10 s, max speed, or distance.
Opening a session runs the same C analysis engine used by GP3S: 2 s peak average, 10 s average, ½ hour, 1 hour, 100 m / 250 m / 500 m, nautical mile, alpha 500 and max speed, plus a map and speed-over-time graph.
High-rate logs are read at up to 20 Hz. Everything is computed on-device, so results appear immediately after import — nothing is uploaded to see your own numbers.
All from the Sessions list. Select one session and choose Trim to edit its time window directly on the track and speed graph — drag the start/end handles, zoom in for sub-second precision, or type exact times. The most common reason: the logger kept running after you got off the water, and the drive home shows up as a suspicious new "record" — trim cuts it off without touching the original file.
Select two or more sessions and choose Compare to line them up side by side, or Merge to combine them into one continuous session. Merge is mainly for sessions from the same device — one continuous outing that got split by a gap — though any sessions that meet the requirements (same location, within 24 hours of each other, not overlapping in time) can technically be merged, even across devices.
Both are non-destructive. A trim always keeps the full original range to reset to. A merge keeps the source sessions untouched and marks them "merged into" the new one — delete the merged session and the originals reappear in the list automatically.
An Activity gathers sessions that belong to the same outing — logged on two devices, or split across several files — into one group you manage together. GPS Analyzer can auto-cluster sessions that look like they belong together and suggest the grouping for you.
Inside an Activity, GPS Analyzer highlights the best run across the whole group. You don't need one just to compare or merge two sessions, though — Compare and Merge (above) work directly from the Sessions list on any sessions you select.
Sign in with your GPS-Speedsurfing (GP3S) account once, from Settings. After that, any session or run shows an upload action that builds the correct payload and metadata for you.
Because the on-device numbers match the GP3S engine, the run you see is the run that shows up on the leaderboard.
Export a session's original log file at any time through the share sheet — to back it up, send it to someone else, or open it in another tool.
Timezone (device local, UTC, or a custom offset), speed units (km/h or knots), map layout, font size, and your GP3S account all live in Settings.
You'll also find Rebuild index under Maintenance — safe to use if the browse list ever looks out of sync with what's on disk — and Contact support under Support.
Still stuck after reading these? Jump to Contact support below.
.sbp (Locosys), .ubx (u-blox), .oao (Motion), .gpy (OpenGNSS), .gpx, and .fit (Garmin / COROS).The fastest way: in the app, open Settings → Contact support — it opens an email with your app version and platform already filled in. You can also reach us directly at info@majasa.ee.