Flipper Zero app to read from a u-blox GPS over I2C. This app can display data, log a path to a KML file, and sync the Flipper's time to GPS time. Get the app and see more info on the Flipper app hub!
For feature requests or bug reports, open an issue on this repository.
This app is compatible with GPSes that follow the UBX protocol version 15, so it is definitely compatible with 8-series GPSes, and probably 9 and 10-series too. I've only tested the app with a u-blox SAM-M8Q module from SparkFun.
Connect your GPS to the 3V3, GND, and I2C pins on the Flipper. If you have a Qwiic GPS and a cable, these are the colors:
Qwiic color | Flipper pin |
---|---|
Red | 3V3 |
Black | GND |
Blue | C1 (SDA) |
Yellow | C0 (SCL) |
- SparkFun SAM-M8Q
- SparkFun MAX-M10S (thanks to @awol96)
This app offers two forms of data display: handheld and car. The handheld displays more info:
F/S
: Fix type and satellite number. Fix types:N
: No fixR
: Dead-reckoning only2
: 2D fix3
: 3D fixG+D
: Dead-reckoning and GNSS combinedTO
: Time-only
Od
: Odometer since last reset. The odometer is inside the GPS.Lat
: Latitude in degrees to 4 decimal digitsLon
: Longitude in degrees to 4 decimal digitsAlt
: Altitude above sea levelHead
: Heading of motion. This is calculated in the GPS by tracking motion, so if you're not moving, it won't be remotely accurate.Time
: Current Flipper time, which might be inaccurate!Batt
: Current Flipper battery charge.
All fields that can be localized will be converted to imperial or metric units, depending on what you've set in Flipper's Settings.
The log button (accessed by the right-hand button on the d-pad) indicates the logging state.
The car data display only displays 3 fields, in big numbers. You could in theory use it while you're driving (but place it on the dashboard or something, don't let the Flipper become a hazard).
Spd (km/s)
orSpd (mph)
: Current ground speed in whatever units.Heading
: Heading of motion.Odo (mi)
orOdo (km)
: Odometer distance since last reset.
Press the left button on the data display to open the configuration panel.
Refresh Rate
: How often the data display should be updatedDisplay Mode
: Handheld or carBacklight
: Keep the display backlight always on or let it run on the default timeoutNotify
: If on, blink the LED on data display updatesPlatform Model
: Model used by the GPS's "Navigation Engine". "Portable" is fine for most applications, but the other modes are there if you want them.Odo Mode
: Another input to the Navigation Engine, used to tune the odometer calculation.Reset Odometer
: Reset the on-GPS odometer.
Press the right button on the data display to start logging. You'll be
prompted to input a filename, and then logging will start. Files are
saved to apps_data/ublox
on the SD card. The app logs to KML format,
and you can view them with a tool like this
one. Press the right button again
to stop logging.
You cannot configure the GPS during logging, and leaving the data display will also stop logging. If the GPS disconnects or becomes unreachable, logging will stop and all data will be saved. The log file is flushed every 16 writes in case a disk problem arises.
Data points are only added to the KML file if the GPS has a fix, including a dead reckoning fix.
This will synchronize the Flipper's time to the GPS's time. This doesn't touch the hour, so that your timezone is preserved, but syncs the minute and second. The Flipper's clock will be up to one second off, because there's no pulse-per-second signal.