https://github.com/liamhays/ublox
Flipper Zero u-blox GPS app
https://github.com/liamhays/ublox
Last synced: about 2 months ago
JSON representation
Flipper Zero u-blox GPS app
- Host: GitHub
- URL: https://github.com/liamhays/ublox
- Owner: liamhays
- License: gpl-3.0
- Created: 2023-07-26T14:23:51.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-11-23T01:41:51.000Z (over 1 year ago)
- Last Synced: 2024-11-23T02:27:42.013Z (over 1 year ago)
- Language: C
- Size: 267 KB
- Stars: 19
- Watchers: 2
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: changelog.md
- License: LICENSE
Awesome Lists containing this project
- flipper-zero-awesome - u-blox GPS - blox GPS modules over I2C | [liamur](https://github.com/liamur) | ⭐ 26 | [Official](https://lab.flipper.net/apps/ublox) / [GitHub](https://github.com/liamhays/ublox) | (GPIO)
README
# ublox

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.
# Usage
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. GPS units that are tested and known to work are:
- SAM-M8Q
- NEO-M9N (thanks to @awol96!)
## Wiring
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) |
## Tested GPS models
- SparkFun SAM-M8Q
- SparkFun MAX-M10S (thanks to @awol96)
# Features
## Handheld data display
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 fix
- `R`: Dead-reckoning only
- `2`: 2D fix
- `3`: 3D fix
- `G+D`: Dead-reckoning and GNSS combined
- `TO`: Time-only
- `Od`: Odometer since last reset. The odometer is inside the GPS.
- `Lat`: Latitude in degrees to 4 decimal digits
- `Lon`: Longitude in degrees to 4 decimal digits
- `Alt`: Altitude above sea level
- `Head`: 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.
## Car data display

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)` or `Spd (mph)`: Current ground speed in whatever units.
- `Heading`: Heading of motion.
- `Odo (mi)` or `Odo (km)`: Odometer distance since last reset.
## Data display config
Press the left button on the data display to open the configuration
panel.
- `Refresh Rate`: How often the data display should be updated
- `Display Mode`: Handheld or car
- `Backlight`: Keep the display backlight always on or let it run on
the default timeout
- `Notify`: If on, blink the LED on data display updates
- `Platform 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.
## Logging
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](https://www.doogal.co.uk/KmlViewer). 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.
## Time synchronization

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.