How to Build a DIY GNSS RTK Base Station for Onocoy
by LivingOnCrypto in Circuits > Microcontrollers
65 Views, 0 Favorites, 0 Comments
How to Build a DIY GNSS RTK Base Station for Onocoy

In this guide, you will learn how to build your own affordable GNSS RTK base station for onocoy. This station uses an ESP32 microcontroller and a Unicore UM980 GNSS receiver. The total cost is approximately $230, but this can change based on shipping fees and where you buy the parts.
Supplies


What You Will Need*:
Unicore UM980 GNSS receiver $130
ESP32 38-pin Expansion board $2
GNSS Antenna incl. 5m cable and magnetic base $69
5/8” rod, antenna mount. Buy it locally
Prototype board 100x150mm $1.5
USB-C Power cable, panel mount $1
Female-to-Female Dupont 2.54mm cables, 20cm $1
Heat sink, aluminum, 14x14x6mm, 10 pack $2
Standoffs, M3x6 mm, 30 pcs set $2
M3x5 mm computer screws, 50 pcs $1
Optional Items (Good to Have)
These items are not strictly necessary, but can improve the performance or lifespan of your base station.
LMR240 SMA male to TNC male antenna cable From $10, depending on length
Silica gel bags, 1g, 50 pack $2
MX-4 Arctic Thermal paste, 4g $3
IP68 Ventilation plug, M12x1.5, 10 pack $6
Before You Start (Prerequisites)
Make sure you have the following ready before you begin building your base station:
Required Items:
- Computer with a Windows operating system: You will use this computer to set up and program your base station.
- USB-C data cable: This cable is used to connect your ESP32 board and UM980 to your computer for programming and communication. Make sure it is a data cable, not just a charging cable.
- Basic Hand Tools:
Phillips screwdriver
Wrench: For tightening nuts and bolts.
- Drill and Drill Bits:
Drill bit sizes: 3 mm (or preferably 2.75 mm), 8 mm, 12 mm, and 16 mm.
- Soldering Iron and Solder to solder the connector pins on the UM980 (or, get someone to solder for you).
- Hacksaw to cut the prototype board if necessary.
Good-To-Have Tools:
These tools are not strictly necessary, but will make the building process easier and safer:
Start the Build


The prototype board doesn’t fit as it comes, so you have to cut it to fit. When it fits inside the enclosure, place the ESP32 and UM980 as desired, and mark the locations where you need to drill the mounting holes. Make sure the pigtails for the WiFi antenna and GNSS antenna will reach the side panel.
Screw the standoffs to the prototype board (if using a 3 mm drill, you may have to glue the standoffs to the prototype board) and mount the ESP32 expansion board with ESP32. Before mounting the UM980, you need to solder the pins to the outer row of holes of the device. Then mount the UM980.
Drill holes in one of the two side panels of the enclosure to mount the USB-C power cable, the external WiFi antenna, the GNSS antenna pigtail, and the ventilation plugs if you opted for them. Mount these onto the side panel.
Wiring the Unicore UM980 to the ESP32


The UM980’s UART (Universal Asynchronous Receiver/Transmitter — a simple 2-wire connection for sending and receiving data) is configured by default to use COM1.
The ESP32 also uses the pins labeled TX and RX by default for UART communication.
On the ESP32 expansion board, there are three rows of GPIO pins — use the row marked “S” (for Signal).
The UM980’s COM1 UART uses Pin 9 (RXD) to receive data and Pin 10 (TXD) to send data.
Move the yellow jumper on the ESP32 expansion board to 5V (left position) to match the power requirements of the UM980.
This setup matches the communication lines between the two devices.
Connect the pins as follows:
Configuring the Unicore UM980

To configure the Unicore UM980, we need to use the UPrecise Software for Windows. You can download it here. The password to unzip the file is 1234. Install and open UPrecise. Change to English language in the menu in the upper right corner.
Connect Unicore UM980 to UPrecise
- Connect the antenna to the UM980.
- Connect a USB-C cable to the UM980 and then to the PC.
- In UPrecise at the bottom, select the COM port* the UM980 is connected to, select baud rate 115200, and click Connect.
* If you don’t know which COM port the UM980 is connected to, type Device Manager in Windows search box. You will find it under Ports (COM & LPT).
Note: The name of the device can differ, so check Device Manager both before and after you connect your device to be sure which it is.
💡 Tip: If your UM980 isn’t showing up in Device Manager, double-check that you’re using a USB data cable (not just a charging cable).
Configuring UM980 With Commands

Before starting to configure your UM980, it’s a good idea to check its firmware version. Paste VERSION in the Command Entry Box and press Enter.
At the time of writing this guide, the latest firmware is UM980_R4.10Build11833.pkg. You can check the latest version at Sparkfun’s GitHub: https://github.com/sparkfun/SparkFun_RTK_Torch
Update the firmware if needed.
In UPrecise, copy & paste the following commands (excluding the explanatory text after the commands) in the Command Entry Box, one by one. When entering a command, i.e., FRESET, there will be an output similar to this saying it was OK: $command,FRESET,response: OK*4D
Data will start to appear in UPrecice’s Command Entry Box after you enter a few commands, which may make it a bit difficult to see the output saying OK at times.
It is not strictly necessary to include COM1 in the command since it is default on the devices, but it doesn’t hurt to be sure it is configured correctly.

The UM980 is now configured, and it should look something like this in UPrecise.
Configuring the ESP32

Download ESP32 NTRIP Duo here. To flash the ESP32, we will use ESPHome’s web interface.
Connect the USB-C cable directly into the ESP32, and not the extension board. Click Connect and select the COM port of your device. If unsure which COM port, use Device Manager as with the UM980.
💡 Tip: If your ESP32 isn’t showing up in the browser or Device Manager, double-check that you’re using a USB data cable (not just a charging cable).

Select your device and click Connect.

Click Install.

Choose the downloaded file and click Install.

When the installation is finished, click Close.
Reboot the device by unplugging and plugging the USB-C cable, or pressing the BOOT button on the ESP32.
Connect to ESP32's WiFi

You should now be able to connect to the ESP32’s WiFi.
Add WiFi

When connected, go to 192.168.4.1. Activate the WiFi options, click Scan, select the WiFi you want to connect to, and enter the password for the WiFi. Then click Submit.
The device will now reboot. You can still connect to the ESP32’s WiFi for further configuration in the future as long as you leave the ESP32’s WiFi Hotspot activated.
Static IP

To more easily connect to the ESP32’s configuration interface in the future, you can set a static IP. Choose an IP address outside your DHCP range, and set your gateway’s IP address.
As an optional security you can protect the device with a username and password. If you don’t want to use the device’s WiFi Hotspot, you can turn it off for even more security.
Click Submit, and the device will reboot.
Configure NTRIP Server A

Now it’s time to configure the NTRIP server A with your onocoy credentials. Activate it, fill out your Mountpoint name, and Password exactly as it is in your onocoy dashboard.
Host: servers.onocoy.com
Port: 2101
Click Submit, and the device will reboot.
If everything is working correctly, your station should now show up as Unvalidated or Validating in your onocoy dashboard. Validation takes 24-36 hours.
If you want to share your data with another company, activate NTRIP server B and fill out your information.
* Some links are affiliate links. It helps to support my work at no extra cost for you. Thank you!