The RTK Reference Station from SparkFun is our most capable GNSS receiver and logger to date. It's your one stop shop for high precision geolocation, surveying and time reference needs. For basic users, it is incredibly easy to get up and running; for advanced users, the Reference Station is a flexible and powerful tool. We took everything we learned while developing our other RTK products, refined it and the Reference Station is the end result.
Is this just a RTK Facet in a metal box? Oh no! It is so much more... Sure, it is based on the same ESP32-WROOM processor and u-blox ZED-F9P multi-band GNSS module as the Facet. And it runs the same core firmware as the rest of the RTK product family. But there the similarities end. The Reference Station has 10/100 Mbps Ethernet connectivity provided by a WIZnet W5500 and it can be powered by Power-over-Ethernet (PoE) too. With just a few minutes of setup and survey-in, your Reference Station can be serving RTCM correction data to an NTRIP caster of your choice, all via Ethernet!
Need an affordable Network Time Protocol time server for your Ethernet network? We've got you covered. The Reference Station can act as a NTP server. It supports DHCP by default, but you can give it a fixed IP address if you want to. DNS, gateway and subnet mask are all configurable too.
The Reference Station gets a big speed boost too. The microSD card socket is connected via full 4-bit SDIO instead of the usual SPI, providing an order or magnitude improvement in read and write speeds. Similarly, the u-blox ZED-F9P GNSS module is connected via SPI instead of the usual I2C, also providing an order of magnitude improvement in data transfer speeds. Need to log RAWX and SFRBX at 20Hz? You can with the Reference Station!
The RTK Reference Station comes with everything you need to get up and running. Our kit includes:
What else might you need? Well, it depends on where you are going to install and use your Reference Station. One obvious place would be up on your roof where your antenna will have the best view of the sky. In which case you will want some hardware to help mount the antenna:
The Reference Station itself comes in a beautiful custom extruded aluminium enclosure, with machined end panels and matching stickers. The slotted flanges make it easy to install and secure the enclosure in many locations. But the enclosure only provides limited protection against the ingress of dust and water; it is IP42. So, if you are going to permanently install it up on the roof, you're going to need a suitable weatherproof box too. We found a good one - the Orbit 57095 - also available from Amazon - back when we put together our very first DIY GNSS Reference Station
If you want to keep your Reference Station warm and dry, it is equally at home on your desk, lab bench or in a server rack. You're still going to want to install the antenna outdoors though, so some extra SMA extension cables may be useful. The GNSS antenna connection is standard polarity. If you want to extend the ESP32 WiFi / BT antenna connection too, you need a Reverse Polarity (RP) cable for that. We have good quality RG58 extension cables available in the store:
Finally, if you're going to be logging a lot of data, you might want to stock up on 32GB microSD cards too. The Reference Station can log 'raw' GNSS data messages (RAWX and SFRBX) at 20Hz if desired. At that rate, you're logging about 50kB per second, 180MB per hour, or over 4GB per day! 32GB cards are the ones we recommend - as they come formatted as FAT32. The Reference Station does not support exFAT.
GNSS RTK is an incredible feat of engineering that has been made easy to use by powerful GNSS receivers such as the ZED-F9P by u-blox (the receiver inside RTK Reference Station). The process of setting up an RTK system will be covered in this tutorial but if you want to know more about RTK here are some good tutorials to brush up on:
The RTK Reference Station is a fully enclosed, preprogrammed device. There are very few things to worry about or configure but we will cover the basics.
Before connecting your Reference Station to a power source, you're going to want to connect it to a couple of antennas.
The rest of the RTK product family use a version of the ESP32-WROOM which has a built-in antenna. The Reference Station does it differently. You need to connect a 2.4GHz WiFi / BT antenna to the ESP32 SMA Reverse Polarity (RP) connector on the rear panel. We included one in the kit. Go ahead and screw it on there!
The GNSS antenna needs to be connected to the standard polarity UBLOX SMA connector. The TNC-SMA cable we included in the kit is of course perfect for the job. If you need a longer cable run, we have good quality RG58 cables available in the store.
Now is a good time to slot the microSD card into place. We included a 32GB card in the kit. Insert it gently into the microSD slot and give it a little push to lock it into place. It is a "push-push" socket. Push it again to release / eject the card.
The Reference Station only supports cards formatted as FAT32, which is why we recommend 32GB cards. It does not support exFAT - and most 64GB cards come pre-formatted with exFAT.
If you need to re-format your card at any time, we recommend using the official SD Association Formatter.
Unlike the rest of the RTK product family, the Reference Station has no internal battery. It is designed to be "always on". It will start operating as soon as it is connected to a power source. It can operate when powered by any or all of:
We included a USB-C wall charger in the kit. Go ahead and plug it in to the rear USB-C power connector to power the system.
The Reference Station MODE button operates in almost the same way as the SETUP button on the other RTK products.
A single press brings up the mode menu. Press the button again to step through the available modes. Pause on the highlighted mode to select it and change to that mode.
The available modes are:
The modes are discussed in a little more detail below and in much more detail in the RTK Product Manual.
BASE Mode is the default as it is the mode we think users will use the most - but you always surprise us with the novel ways you use our products!
A long press of the MODE button will make the Reference Station shut down. Once shut down, only a power cycle or a press of the RESET button will wake it again.
The RESET button is flush with the front sticker. You can still press it with your finger but it takes an assertive press, to prevent accidental resets.
You shouldn't need to press the RESET button often, if at all. Connecting to the ESP32 via USB and opening a serial console, or uploading new firmware, generates a reset automatically. But the RESET button is there if you need it.
The STATUS LED is used to indicate that all is well with the Reference Station. When lit, the BASE Mode has completed its survey-in.
The CONFIG ESP32 USB-C port provides direct access to the ESP32 Serial port / console. Connect to this from your computer and open a serial terminal at 115200 baud to see diagnostic messages from the RTK firmware. Tera Term is still a good choice for Windows users. Press any key to open the serial configuration menu.
The RTK product range is now able to update its own firmware Over-The-Air (OTA). But you can of course still upload your own code or our pre-compiled firmware binaries onto the ESP32 through this USB-C connection.
The CONFIG UBLOX USB-C port provides direct access to the u-blox ZED-F9P GNSS module's USB port. You can use this port to connect to the module using u-blox u-center (we still recommend the original u-center over u-center2). You can also use it to update the ZED-F9P's firmware - either via u-center or using our own u-blox GNSS Firmware Update GUI.
The ETHERNET (PoE) RJ45 Mag Jack port on the rear of the Reference Station is - we hope - self explanatory. It is connected internally to the Power-over-Ethernet module and the WIZnet W5500 Ethernet transceiver. It supports 10/100Mbps communication with auto-negotiation. The mag jack has built-in Link and Activity LEDs. (You can disable these if needed by opening jumper links on the main PCB.) The Power-over-Ethernet module will operate from standard 36V to 57V PoE voltages. Choose a PoE Ethernet Switch that meets your needs. We have had good experiences with the TP-Link TL-SG1005P - available from many retailers including Amazon.
The L1/L2 GNSS antenna included in the kit should be connected to the UBLOX SMA connector using the provided SMA-TNC cable. The Reference Station provides 5V on this connector for an active antenna, instead of the usual 3.3V. The Reference Station also includes both short-circuit and open-circuit detection on this connection. New icons will flash on the OLED display if the antenna is not connected (open) or the cable develops a short.
To try and make the Reference Station more lab-friendly, we connected the ZED-F9P's TP (Timing Pulse, Pulse-Per-Second) pin to a dedicated OpAmp circuit and SMA connector. The default output voltage is 3.3V, but you can select 5V by opening a jumper link on the main PCB. It is not intended to replace your lab signal generator, but it works well up to 100kHz. The unprocessed TP / PPS 3.3V signal is also available on the TP I/O screw terminal. Please see the Product Manual for more details.
The ESP32 WROOM module's u.FL connector is connected to a robust Reverse Polarity (RP) SMA connector. You can screw the provided WiFi / BT antenna directly onto this connector, just like you would with any broadband router. If you want to mount the antenna further away, we have good quality RG58 RP extension cables available in the store.
The Reference Station is equipped with a robust 10-way 3.5mm Input / Output screw terminal header. This provides access to the power rails and I/O signals:
Like most SparkFun products, the RTK Reference Station is completely open source. We're happy to share the full schematic for the main PCB, the Eagle CAD files and the full source code for the firmware. The Reference Station is intended to be another hacker's paradise!
Taking the Reference Station apart is really easy:
Let's walk you through the main components on the PCB:
Like the other members of the RTK product family, the RTK Reference Station uses the excellent ESP32-WROOM microcontroller. The only difference here is that we use a version with a built-in u.FL antenna connection. We use a small u.FL cable to connect the ESP32 to the external RP SMA antenna connector.
Like most of the RTK product family, the RTK Reference Station uses the excellent ZED-F9P multi-band GNSS module, made by u-blox in Switzerland. We keep using this module because it is phenomenal and we haven't found anything better. The only difference here is that it is connected via SPI, instead of the usual I2C. This provides an order of magnitude improvement in the data transfer speeds.
The WIZnet W5500 has been around for years, but it still takes some beating for 10/100Mbps Ethernet applications. We've paired it with a high quality Power-over-Ethernet (PoE) module and shielded RJ45 connector ("mag jack").
Did we forget to include something? Absolutely not! But we did say that the Reference Station is a hacker's paradise. We've included the 1" x 1" footprint of our standard Qwiic (I2C) sensor boards just in case you want to add your own Inertial Measurement Unit, Pressure Humidity Temperature sensor, battery-backed Real Time Clock or anything else you need for your project. There's a vacant Qwiic connector right there too!
Like most SparkFun products, the RTK Reference Station PCB has several split-pad jumper links on it, which allow you to configure the board in different ways.
Need to disable all of the LEDs? Not a problem. You will find jumper links for the Link, Activity and Status LEDs. Open them up and leave the OLED display disconnected to blackout your Reference Station.
Need to change the WIZnet W5500 mode? You can do that by configuring the three PMODE jumpers. PMODE0, 1 and 2 are pulled high by default. You can pull them low by soldering the jumpers closed.
There may be times when you want to prevent anyone from pressing the RESET or MODE buttons. There are jumper links for those too. Open them to isolate the two buttons; the ESP32 can then still be reset via the USB-C port and CH340 interface if needed.
To make the Reference Station more lab friendly, we included a SMA connection for the ZED-F9P time pulse (Pulse-Per-Second). The SMA signal is 3.3V by default, but you can change it to 5V by opening the VTP jumper.
The following is a brief summary of the Reference Station's modes of operation. Please consult the RTK Product Manual for much more detail.
Network Time Protocol has been around since 1985. It is a simple way for computers to synchronize their clocks with each other, allowing the network latency (delay) to be subtracted:
When the client receives the reply, it can deduce the total round-trip delay which is the sum of:
This exchange is repeated typically five times, before the client synchronizes its clock to the server's clock, subtracting the latency (delay) introduced by the network.
Having your own NTP server on your network allows tighter clock synchronization as the network latency is minimized.
The Reference Station can be placed into its dedicated NTP mode, by pressing the MODE button until NTP is highlighted in the display and pausing there.
The Reference Station will first synchronize its Real Time Clock (RTC) using the very accurate time provided by the u-blox GNSS module. The module's Time Pulse (Pulse-Per-Second) signal is connect to the ESP32 as an interrupt. The ESP32's RTC is synchronized to Universal Time Coordinate (UTC) on the rising edge of the TP signal using the time contained in the UBX-TIM-TP message.
The WIZnet W5500 interrupt signal is also connected to the ESP32, allowing the ESP32 to accurately log when each NTP request arrives.
The Reference Station will respond to each NTP request within a few 10's of milliseconds.
If desired, you can log all NTP requests to a file on the microSD card, and/or print them as diagnostic messages. The log and messages contain the NTP timing information and the IP Address and port of the Client.
We have been using Meinberg NTP to synchronize Windows PCs to the Reference Station - please see the Product Manual for more details.
NTP uses its own epoch - midnight January 1st 1900. This is different to the standard Unix epoch - midnight January 1st 1970 - and the GPS epoch - midnight January 6th 1980. The times shown in the log and diagnostic messages use the NTP epoch. You can use online calculators to convert between the different epochs:
The SparkFun RTK products are versatile GNSS receivers straight out of the box and can be used with little or no configuration. Additionally, the line of RTK products from SparkFun are immensely configurable. Please see the SparkFun RTK Product Manual for detailed descriptions of all the available features on the RTK products.
The RTK Reference Station does so much that it is difficult for us to methodically test everything it is capable of.
We also need to be honest and say that the RTK firmware uses almost all of the RAM available on the ESP32-WROOM, especially on the Reference Station where we need to reserve additional RAM for the SDIO (SD_MMC) microSD interface and to buffer the high-bandwidth SPI data from the GNSS module. The Reference Station is slightly compromised as we do not have enough RAM to run WiFi, Bluetooth, SDIO and Ethernet at the same time, while pulling high message rate data from the GNSS.
The list below contains configurations that we have tried and tested, and have found to work well. But you will notice some missing configurations - like supporting TCP Client and Server over WiFi - for the reason outlined above.
As we mentioned above, the Reference Station RTK firmware uses almost all of the ESP32-WROOM's RAM. Unfortunately this means you can not have both WiFi and Bluetooth running simultaneously for example. It also complicates things if you use additional RAM by: using the ESP-NOW radio link; or allocate extra RAM for high rate GNSS message storage.
The following configurations do work, but you do need to proceed carefully:
The following is a summary of the configurations which the Reference Station does not currently support (as of firmware 3.4):
The RTK Reference Station is open source hardware meaning you have total access to the firmware and hardware.
From time to time SparkFun will release new firmware for the RTK product line to add and improve functionality. We've made updating the firmware as easy as possible. Please see Updating RTK Firmware for a step by step tutorial.
We hope you enjoy using the RTK Reference Station as much as we have!
Here are the pertinent technical documents for the RTK Reference Station:
Here are the links to the firmware, update tools and stand-alone code examples:
Check out these additional tutorials for your perusal:
learn.sparkfun.com | CC BY-SA 3.0 | SparkFun Electronics | Niwot, Colorado