{"id":20586722,"url":"https://github.com/sparkfun/sparkfun_rtk_everywhere_firmware","last_synced_at":"2026-04-02T22:12:51.384Z","repository":{"id":231768786,"uuid":"699385304","full_name":"sparkfun/SparkFun_RTK_Everywhere_Firmware","owner":"sparkfun","description":"Centimeter precision GPS/GNSS using L1/L2/L5 signals broadcast over Bluetooth, WiFi, and Ethernet.","archived":false,"fork":false,"pushed_at":"2025-04-08T19:15:39.000Z","size":330954,"stargazers_count":28,"open_issues_count":15,"forks_count":14,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-04-08T20:21:59.580Z","etag":null,"topics":["arduino","esp32","gnss","gps","sparkfun","sparkfun-tutorial","surveying"],"latest_commit_sha":null,"homepage":"http://docs.sparkfun.com/SparkFun_RTK_Everywhere_Firmware/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sparkfun.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"License.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-02T14:28:09.000Z","updated_at":"2025-03-03T16:20:05.000Z","dependencies_parsed_at":"2024-11-06T15:18:54.837Z","dependency_job_id":"71676ee9-e6ef-4e05-b62f-03874af84b1f","html_url":"https://github.com/sparkfun/SparkFun_RTK_Everywhere_Firmware","commit_stats":null,"previous_names":["sparkfun/sparkfun_rtk_everywhere_firmware"],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sparkfun%2FSparkFun_RTK_Everywhere_Firmware","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sparkfun%2FSparkFun_RTK_Everywhere_Firmware/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sparkfun%2FSparkFun_RTK_Everywhere_Firmware/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sparkfun%2FSparkFun_RTK_Everywhere_Firmware/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sparkfun","download_url":"https://codeload.github.com/sparkfun/SparkFun_RTK_Everywhere_Firmware/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248962268,"owners_count":21190172,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arduino","esp32","gnss","gps","sparkfun","sparkfun-tutorial","surveying"],"created_at":"2024-11-16T07:12:40.461Z","updated_at":"2026-04-02T22:12:51.354Z","avatar_url":"https://github.com/sparkfun.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"SparkFun RTK Everywhere Firmware\n===========================================================\n\nThe line of RTK Everywhere products offered by SparkFun all run identical firmware. The [RTK Everywhere firmware](https://github.com/sparkfun/SparkFun_RTK_Everywhere_Firmware) and this guide cover the following products:\n\n\u003ctable class=\"table table-hover table-striped table-bordered\"\u003e\n\t\u003ctr align=\"center\"\u003e\n\t\t\u003ctd\u003e\u003ca href=\"https://www.sparkfun.com/sparkfun-rtk-evk.html\"\u003e\u003cimg src=\"docs/img/SparkFun_RTK_EVK.png\"\u003e\u003c/a\u003e\u003c/td\u003e\n\t\t\u003ctd\u003e\u003ca href=\"https://www.sparkfun.com/sparkpnt-rtk-facet-mosaic-l-band.html\"\u003e\u003cimg src=\"docs/img/SparkFun-RTK-Facet-Mosaic-L-Band.png\"\u003e\u003c/a\u003e\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr align=\"center\"\u003e\n\t\t\u003ctd\u003e\u003ca href=\"https://www.sparkfun.com/sparkfun-rtk-evk.html\"\u003eSparkFun RTK EVK (GPS-24342)\u003c/a\u003e\u003c/td\u003e\n\t\t\u003ctd\u003e\u003ca href=\"https://www.sparkfun.com/sparkpnt-rtk-facet-mosaic-l-band.html\"\u003eSparkFun RTK Facet mosaic (GPS-24903)\u003c/a\u003e\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr align=\"center\"\u003e\n\t\t\u003ctd\u003e\u003ca href=\"https://docs.sparkfun.com/SparkFun_RTK_EVK/\"\u003eHookup Guide\u003c/a\u003e\u003c/td\u003e\n\t\t\u003ctd\u003e\u003ca href=\"https://docs.sparkfun.com/SparkFun_RTK_Facet_mosaic/\"\u003eHookup Guide\u003c/a\u003e\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr align=\"center\"\u003e\n\t\t\u003ctd\u003e\u003ca href=\"https://www.sparkfun.com/sparkfun-rtk-postcard.html\"\u003e\u003cimg src=\"docs/img/SparkFun_RTK_Postcard_Small.png\"\u003e\u003c/a\u003e\u003c/td\u003e\n\t\t\u003ctd\u003e\u003ca href=\"https://www.sparkfun.com/products/25662\"\u003e\u003cimg src=\"docs/img/SparkFun_RTK_Torch.png\"\u003e\u003c/a\u003e\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr align=\"center\"\u003e\n\t\t\u003ctd\u003e\u003ca href=\"https://www.sparkfun.com/sparkfun-rtk-postcard.html\"\u003eSparkFun RTK Postcard (GPS-26916)\u003c/a\u003e\u003c/td\u003e\n\t\t\u003ctd\u003e\u003ca href=\"https://www.sparkfun.com/products/25662\"\u003eSparkFun RTK Torch (GPS-25662)\u003c/a\u003e\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr align=\"center\"\u003e\n\t\t\u003ctd\u003e\u003ca href=\"https://docs.sparkfun.com/SparkFun_RTK_Postcard/\"\u003eHookup Guide\u003c/a\u003e\u003c/td\u003e\n\t\t\u003ctd\u003e\u003ca href=\"https://docs.sparkfun.com/SparkFun_RTK_Torch/\"\u003eHookup Guide\u003c/a\u003e\u003c/td\u003e\n\t\u003c/tr\u003e\n\u003c/table\u003e\n\nThe [SparkFun RTK EVK](https://www.sparkfun.com/products/24342) is the perfect development platform for your fixed or mobile high-precision positioning and navigation needs. We called it the EVK (Evaluation Kit) as it truly covers all the options: L1 + L2 RTK GNSS, with L-Band correction built-in. Regarding connectivity, the SparkFun RTK EVK has it all: WiFi / Bluetooth®, Ethernet and LTE cellular!\n\nThe [SparkFun RTK Facet mosaic](https://www.sparkfun.com/sparkpnt-rtk-facet-mosaic-l-band.html) is the gold standard. Featuring the mosaic-X5 GNSS module from Septentrio, the Facet mosaic can track all GNSS constellations and their current and future signals including L-Band. In the contiguous USA and with a subscription to u-blox PointPerfect, the Facet mosaic can deliver centimeter accuracy in areas with no cellular coverage and without needing corrections from a RTK Base.\n\nThe [SparkFun RTK Postcard](https://www.sparkfun.com/products/26916) is a scalable DIY RTK device capable of running the RTK Everywhere Firmware. The LG290P RTK module lives at the heart of the RTK Postcard providing 10mm accuracy and L1/L2/L5 reception. Add the [Portability Shield](https://www.sparkfun.com/sparkfun-portability-shield.html) to add a display, battery charging and logging.\n\nThe [SparkFun RTK Torch](https://www.sparkfun.com/products/25662) is a centimeter-level GNSS receiver. With RTK enabled, these devices can output your location with 8mm horizontal and vertical [*accuracy*](https://docs.sparkfun.com/SparkFun_RTK_Everywhere_Firmware/accuracy_verification/) at up to 20Hz. It supports Galileo E6 HAS and has built-in tilt compensation too!\n\nThis repo houses the [RTK Product Manual](https://docs.sparkfun.com/SparkFun_RTK_Everywhere_Firmware) and the firmware that runs on the SparkFun RTK product line including:\n\n* [SparkFun RTK Torch](https://www.sparkfun.com/products/25662)\n* [SparkFun RTK EVK](https://www.sparkfun.com/products/24342)\n\nFor compiled binaries of the firmware, please see [SparkFun RTK Everywhere Firmware Binaries](https://github.com/sparkfun/SparkFun_RTK_Everywhere_Firmware_Binaries).\n\nDocumentation\n--------------\n\n* **[RTK Everywhere Product Manual](https://docs.sparkfun.com/SparkFun_RTK_Everywhere_Firmware/)** - A detailed guide describing all the various software features of the RTK product line. Essentially it is a manual for the firmware in this repository.\n\nRepository Contents\n-------------------\n\n* **/Firmware** - Source code for SparkFun RTK Everywhere Firmware as well as various feature unit tests\n* **/Graphics** - Original bitmap icons for the display\n* **/docs** - Markdown pages for the [RTK Product Manual](https://docs.sparkfun.com/SparkFun_RTK_Everywhere_Firmware/)\n\nRepository Branch Structure\n---------------------------\n\nThis repository has two long-term branches: `main` and `release_candidate`.\n\nWith 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.\n\nIn contrast, `release_candidate` is where new code is added as it is developed.\n\nThe 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.\n\nRelease Process\n---------------\n\nA release is made by merging `release_candidate` back to `main`, and then applying a tag to that commit on `main`.\n\nA 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.\n\nBuilding from Source\n--------------------\n\nFor building the firmware, see the [Firmware README](Firmware/readme.md). For compiled binaries of the firmware, please see [SparkFun RTK Everywhere Firmware Binaries](https://github.com/sparkfun/SparkFun_RTK_Everywhere_Firmware_Binaries).\n\nFor the documentation, see [mkdocs.yml](https://github.com/sparkfun/SparkFun_RTK_Everywhere_Firmware/blob/main/mkdocs.yml) and [/workflows/mkdocs.yml](https://github.com/sparkfun/SparkFun_RTK_Everywhere_Firmware/blob/main/.github/workflows/mkdocs.yml).\n\nFor 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)\n\nFor building the u-blox_Update_GUI see [u-blox_Update_GUI](https://github.com/sparkfun/SparkFun_RTK_Everywhere_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_Everywhere_Firmware/blob/main/u-blox_Update_GUI/RTK_u-blox_Update_GUI.py)\n\nLicense Information\n-------------------\n\nThis product is _**open source**_! Please see [License.md](./License.md) for more details.\n\nPlease feel free to [contribute](https://docs.sparkfun.com/SparkFun_RTK_Everywhere_Firmware/contribute/) to both the firmware and documentation.\n\nPlease use, reuse, and modify these files as you see fit. Please maintain attribution to SparkFun Electronics and release anything derivative under the same license.\n\nDistributed as-is; no warranty is given.\n\n- Your friends at SparkFun.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsparkfun%2Fsparkfun_rtk_everywhere_firmware","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsparkfun%2Fsparkfun_rtk_everywhere_firmware","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsparkfun%2Fsparkfun_rtk_everywhere_firmware/lists"}