Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sparkfun/sparkfun_rtk_firmware

Centimeter precision GPS/GNSS using L1/L2 signals broadcast over Bluetooth SPP (using the ESP32) in an easy to use enclosure.
https://github.com/sparkfun/sparkfun_rtk_firmware

esp32-arduino gnss gps sparkfun-tutorial surveying

Last synced: 6 days ago
JSON representation

Centimeter precision GPS/GNSS using L1/L2 signals broadcast over Bluetooth SPP (using the ESP32) in an easy to use enclosure.

Awesome Lists containing this project

README

        

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](https://www.sparkfun.com/products/18443), [SparkFun RTK Express](https://www.sparkfun.com/products/18442), [SparkFun RTK Express Plus](https://www.sparkfun.com/products/18590), [SparkFun RTK Facet](https://www.sparkfun.com/products/19029), [SparkFun RTK Facet L-Band](https://www.sparkfun.com/products/20000) and [SparkFun RTK Reference Station](https://www.sparkfun.com/products/22429) are centimeter-level GNSS receivers. With RTK enabled, these devices can output your location with 14mm horizontal and vertical [*accuracy*](https://docs.sparkfun.com/SparkFun_RTK_Firmware/accuracy_verification/) at up to 20Hz!

This repo houses the [RTK Product Manual](https://docs.sparkfun.com/SparkFun_RTK_Firmware) and the firmware that runs on the SparkFun RTK product line including:

* [SparkFun RTK Facet L-Band](https://www.sparkfun.com/products/20000)
* [SparkFun RTK Facet](https://www.sparkfun.com/products/19029)
* [SparkFun RTK Reference Station](https://www.sparkfun.com/products/22429)
* [SparkFun RTK Express Plus](https://www.sparkfun.com/products/18590)
* [SparkFun RTK Express](https://www.sparkfun.com/products/18442)
* [SparkFun RTK Surveyor](https://www.sparkfun.com/products/18443)

For compiled binaries of the firmware, please see [SparkFun RTK Firmware Binaries](https://github.com/sparkfun/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](https://github.com/sparkfun/SparkFun_RTK_Facet)
* [SparkFun RTK Facet Hardware](https://github.com/sparkfun/SparkFun_RTK_Facet)
* [SparkFun RTK Reference Station Hardware](https://github.com/sparkfun/SparkFun_RTK_Reference_Station)
* [SparkFun RTK Express Plus Hardware](https://github.com/sparkfun/SparkFun_RTK_Express_Plus)
* [SparkFun RTK Express Hardware](https://github.com/sparkfun/SparkFun_RTK_Express)
* [SparkFun RTK Surveyor Hardware](https://github.com/sparkfun/SparkFun_RTK_Surveyor)

Thanks:

* Special thanks to [Avinab Malla](https://github.com/avinabmalla) for the creation of [SW Maps](https://play.google.com/store/apps/details?id=np.com.softwel.swmaps&hl=en_US&gl=US) and for pointers on handling the ESP32 read/write tasks.

Documentation
--------------

* **[RTK Product Manual](https://docs.sparkfun.com/SparkFun_RTK_Firmware/)** - 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](https://learn.sparkfun.com/tutorials/sparkfun-rtk-facet-l-band-hookup-guide)** - Hookup guide for the SparkFun RTK Facet L-Band.
* **[RTK Facet Hookup Guide](https://learn.sparkfun.com/tutorials/sparkfun-rtk-facet-hookup-guide)** - Hookup guide for the SparkFun RTK Facet.
* **[RTK Reference Station Hookup Guide](https://learn.sparkfun.com/tutorials/sparkfun-rtk-reference-station-hookup-guide)** - Hookup guide for the SparkFun RTK Reference Station.
* **[RTK Express Hookup Guide](https://learn.sparkfun.com/tutorials/sparkfun-rtk-express-hookup-guide)** - Hookup guide for the SparkFun RTK Express and Express Plus.
* **[RTK Surveyor Hookup Guide](https://learn.sparkfun.com/tutorials/sparkfun-rtk-surveyor-hookup-guide)** - Hookup guide for the SparkFun RTK Surveyor.

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](https://docs.sparkfun.com/SparkFun_RTK_Firmware/)

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](Firmware/readme.md). For compiled binaries of the firmware, please see [SparkFun RTK Firmware Binaries](https://github.com/sparkfun/SparkFun_RTK_Firmware_Binaries).

For the documentation, see [mkdocs.yml](https://github.com/sparkfun/SparkFun_RTK_Firmware/blob/main/mkdocs.yml) and [/workflows/mkdocs.yml](https://github.com/sparkfun/SparkFun_RTK_Firmware/blob/main/.github/workflows/mkdocs.yml).

For building the Uploader_GUI see [SparkFun_RTK_Firmware_Uploader](https://github.com/sparkfun/SparkFun_RTK_Firmware_Uploader). The pyinstaller executables are generated by the [/workflows](https://github.com/sparkfun/SparkFun_RTK_Firmware_Uploader/tree/main/.github/workflows)

For building the u-blox_Update_GUI see [u-blox_Update_GUI](https://github.com/sparkfun/SparkFun_RTK_Firmware_Binaries/tree/main/u-blox_Update_GUI) and the header comments of [RTK_u-blox_Update_GUI.py](https://github.com/sparkfun/SparkFun_RTK_Firmware/blob/main/u-blox_Update_GUI/RTK_u-blox_Update_GUI.py)

License Information
-------------------

This product is _**open source**_! Please feel free to [contribute](https://docs.sparkfun.com/SparkFun_RTK_Firmware/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.