Skip to content

sparkfun/SparkFun_RTK_Firmware

Repository files navigation

SparkFun RTK Firmware

SparkFun RTK Facet L-Band (GPS-20000) SparkFun RTK Facet (GPS-19029) SparkFun RTK Reference Station (GPS-22429)
Hookup Guide Hookup Guide Hookup Guide
SparkFun RTK Express Plus (GPS-18590) SparkFun RTK Express (GPS-18442) SparkFun RTK Surveyor (GPS-18443)
Hookup Guide Hookup Guide Hookup Guide

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:

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:

Thanks:

  • Special thanks to Avinab Malla for the creation of SW Maps and for pointers on handling the ESP32 read/write tasks.

Documentation

Repository Contents

  • /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

Repository Branch Structure

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.

Release Process

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.

Building from Source

For building the firmware, see the Firmware README. For compiled binaries of the firmware, please see SparkFun RTK Firmware Binaries.

For the documentation, see mkdocs.yml and /workflows/mkdocs.yml.

For building the Uploader_GUI see SparkFun_RTK_Firmware_Uploader. The pyinstaller executables are generated by the /workflows

For building the u-blox_Update_GUI see u-blox_Update_GUI and the header comments of RTK_u-blox_Update_GUI.py

License Information

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.