SparkFun RTK Express Hookup Guide

Contributors: Nate
Favorited Favorite 2

Hardware Overview - Advanced Features

The RTK Express is a hacker’s delight. Under the hood of the RTK Express is an ESP32 WROOM connected to a ZED-F9P as well as some peripheral hardware (LiPo fuel gauge, microSD, etc). It is programmed in Arduino and can be tailored by the end user to fit their needs.

RTK Express Schematic

Click on the image to get a closer look at the Schematic!

ZED-F9P GNSS Receiver

The ZED-F9P GNSS receiver is configured over I2C and uses two UARTs to output NMEA (UART1) and input/output RTCM (UART2). In general, the ESP32 harvests the data from the ZED-F9Ps UART1 for Bluetooth transmission and logging to SD.

ZED-F9P GNSS Receiver


The ESP32 uses a standard USB to serial conversion IC (CH340) to program the device. You can use the ESP32 core for Arduino or Espressif’s IoT Development Framework (IDF).

The CH340 automatically resets and puts the ESP32 into bootload mode as needed. However, the reset pin of the ESP32 is brought out to an external 2-pin 0.1” footprint if an external reset button is needed.

ESP32 on SparkFun RTK Express

Measurement Jumpers

To facilitate the measurement of run, charge, and quiescent currents, two measurement jumpers are included. These are normally closed jumpers combined with a 2-pin 0.1” footprint. To take a measurement, cut the jumper and install a 2-pin header and use banana to IC hook cables to a DMM. These can then be closed with a 2-pin jumper.

Measurement Jumpers on SparkFun RTK Express

LiPo and Charging

The RTK Express houses a standard 1300mAh 3.7V LiPo. The charge circuit is set to 1A so with an appropriate power source, charging an empty battery should take a little over one hour. USB C on the RTK Express is configured for 2A draw so if the user attaches to a USB 3.0 port, the charge circuit should operate near the 1A max. If a user attaches to a USB 2.0 port, the charge circuit will operate at 500mA. This charge circuit also incorporates a 42C upper temperature cutoff to insure the LiPo cannot be charged in dangerous conditions.

LiPo and Charging on SparkFun RTK Express

Fuel Gauge and Accelerometer

The MAX17048 is a simple to use fuel gauge IC that gives the user a statement of charge (SOC) that is basically a 0 to 100% report. The MAX17048 has a sophisticated algorithm to figure out what the SOC is based on cell voltage that is beyond the scope of this tutorial but for our purposes, allows us to reliably view the battery level when the unit is on.

The RTK Express also incorporates a the LIS2DH12 triple-axis accelerometer to aid in leveling in the field.

Fuel Gauge and Accelerometer on SparkFun RTK Express


Two Qwiic connectors are included in the unit. The internal Qwiic connector connects to the OLED display attached to the upper lid. The lower Qwiic connector is exposed on the end of the unit. These allow connection to the I2C bus on the ESP32. Currently the stock RTK Express does not support any additional Qwiic sensors or display but users may add support for their own application.

Dual Qwiic Connector on SparkFun RTK Express


A microSD socket is situated on the ESP32 SPI bus. Any microSD up to 32GB is supported. RTK Express supports RAWX and NMEA logging to the SD card. Max logging time can also be set (default is 10 hours) to avoid multi-gigabyte text files. For more information about RAWX and doing PPP please see this tutorial.

microSD socket on SparkFun RTK Express

Data Port and Digital Mux

The 74HC4052 analog mux controls which digital signals route to the external Data port. This allows a variety of custom end user applications. The most interesting of which is event logging. Because the ZED-F9P has microsecond accuracy of the incoming digital signal, custom firmware can be created to triangulate an event based on the receiver's position and the time delay between multiple captured events. Currently, TM2 event logging is supported.

Additionally, this mux can be configured to connect ESP pin 26 (DAC capable) and pin 39 (ADC capable) for end user custom applications.

SparkFun RTK Express Data port and mux