The SparkFun RTK Surveyor, SparkFun RTK Express, SparkFun RTK Express Plus, SparkFun RTK Facet, SparkFun RTK Facet L-Band and SparkFun RTK Reference Station are centimeter-level GNSS receivers. With RTK enabled, these devices can output your location with 14mm horizontal and vertical accuracy at up to 20Hz!
This repo houses the RTK Product Manual and the firmware that runs on the SparkFun RTK product line including:
- SparkFun RTK Facet L-Band
- SparkFun RTK Facet
- SparkFun RTK Reference Station
- SparkFun RTK Express Plus
- SparkFun RTK Express
- SparkFun RTK Surveyor
For compiled binaries of the firmware, please see SparkFun RTK Firmware Binaries.
If you're interested in the PCB, enclosure, or overlay on each product please see the hardware repos:
- SparkFun RTK Facet L-Band Hardware
- SparkFun RTK Facet Hardware
- SparkFun RTK Reference Station Hardware
- SparkFun RTK Express Plus Hardware
- SparkFun RTK Express Hardware
- SparkFun RTK Surveyor Hardware
Thanks:
- Special thanks to Avinab Malla for the creation of SW Maps and for pointers on handling the ESP32 read/write tasks.
- RTK Product Manual - A detail guide describing all the various software features of the RTK product line. Essentially it is a manual for the firmware in this repository.
- RTK Facet L-Band Hookup Guide - Hookup guide for the SparkFun RTK Facet L-Band.
- RTK Facet Hookup Guide - Hookup guide for the SparkFun RTK Facet.
- RTK Reference Station Hookup Guide - Hookup guide for the SparkFun RTK Reference Station.
- RTK Express Hookup Guide - Hookup guide for the SparkFun RTK Express and Express Plus.
- RTK Surveyor Hookup Guide - Hookup guide for the SparkFun RTK Surveyor.
- /Firmware - Source code for SparkFun RTK firmware as well as various feature unit tests
- /Graphics - Original bitmap icons for the display
- /docs - Markdown pages for the RTK Product Manual
This repository has two long-term branches: main
and release_candidate
.
With respect to the firmware, main
is a branch where only changes that are appropriate for all users are applied. Thus, following main
means updating to normal releases, and perhaps bugfixes to those releases.
In contrast, release_candidate
is where new code is added as it is developed.
The documentation source code is in docs/ on main
. It is built automatically on push and stored in the branch gh-pages
, from which it is served at the above URL. Documentation changes are pushed directly to main.
A release is made by merging release_candidate
back to main
, and then applying a tag to that commit on main
.
A pre-release is often created using the latest stable release candidate. These binaries will have extra debug statements turned on that will not be present in a formal release, but should not affect behavior of the firmware.
For building the firmware, see the Firmware README.
For the documentation, see mkdocs.yml and /workflows/mkdocs.yml.
For building the Uploader_GUI see the header comments of RTK_Firkware_Uploader_GUI.py
For building the u-blox_Update_GUI see the header comments of RTK_u-blox_Update_GUI.py
This product is open source! Please feel free to contribute to both the firmware and documentation.
Various bits of the code have different licenses applied. Anything SparkFun wrote is beerware; if you see me (or any other SparkFun employee) at the local, and you've found our code helpful, please buy us a round!
Please use, reuse, and modify these files as you see fit. Please maintain attribution to SparkFun Electronics and release anything derivative under the same license.
Distributed as-is; no warranty is given.
- Your friends at SparkFun.