Skip to content

Introduction

Over time, manufacturers will provide firmware updates running on GNSS receivers.

UPrecise Software: Receiver Upgrade

This tutorial will demonstrate how to upgrade the firmware on the UM980 such as the SparkFuN RTK Torch or the SparkFun Triband GNSS RTK Breakout Board. However, it can be used for Unicore GNSS Receivers as well.

Suggested Reading

If you aren’t familiar with the following concepts, we also recommend checking out a few of these tutorials before continuing.

You may also be interested in the following blog posts on GNSS technologies.

Hardware Hookup

To update firmware, you will need to connect to the UM980's serial UART1 port. Make sure to check the design files and hookup guide since the design can vary between products. Below are a few examples.

SparkFun RTK Torch

For the SparkFun RTK Torch, you will need a serial passthrough via the ESP32. First, power the unit and connect a USB cable to its USB port. We do not have to worry about attaching a multi-band L1/L2/L5 antenna since there is one already built in.

Back of RTK Torch

Open a serial terminal window set to 115200 baud. Then put the device into serial passthrough mode. From the main menu, navigate to: System s > Hardware h > UM980 Direct Connect 13. This will put the device into a passthrough mode, but with special character monitoring that allows the UM980 to be reset when bootloading is detected. Close the terminal connection so that UPrecise can connect to the COM port.

Note

Some terminals cause the ESP32 to reset when closing the port. This reset causes the UM980 pass-through mode to exit. TeraTerm is known to cause this issue. To enter pass-through mode we recommend using the Arduino Serial Monitor.

SparkFun UM980 Triband GNSS RTK Breakout

On the SparkFun UM980 Triband GNSS RTK Breakout Board, you will need to connect a USB cable between your computer and the breakout board. Then connect a multi-band L1/L2/L5 antenna to the SMA connector.

USB

Installing Drivers

If you've never connected a USB-to-serial converter to your computer before, you may need to install drivers. The drivers will depend on your USB-to-serial converter. In this case, the SparkFun RTK Torch is populated with the CH34X and a RedBoard IoT Development Board (ESP32) used to connect to a UM980 is populated with the CH340.

You may need to install drivers for the USB-to-serial converter. Check out our section on "How to Install CH340 Drivers" for help with the installation.

Installing UPrecise

To update firmware, you will need the UPrecise Software. You can head over to Unicore's UPrecise Download Page. Or clicking on the button below to download UPrecise.

Note

For the latest software version, you may want to check the Unicore's UPrecise Download Page.

Once downloaded, select the executable and follow the prompts to install the software to your computer. Note that the software is currently only supported on Windows 7/8/10, 64-bit OS.

Selecting a Language

After downloading and installing UPrecise, open the software up! There are two languages that are supported with the software. For the scope of this tutorial, we'll be using the software in English. Click on "CH" button to change the default language from Chinese to English.

UPrecise Software Open to Default Language, Chinese

For users with UPrecise V2.0, you will be prompted with a new window indicating that you will need reboot the software for the changes to take effect. Select the button on the left to reboot the software.

UPrecise Software Reboot, Select OK

The language will switch to English similar to the image below.

UPrecise Software in English

Connecting the UM980 to a Computer

We will assume that you have a triband multiband antenna connected to the UM980 and USB cable connected to your computer. For users that have the SparkFun RTK Torch, make sure to set it in passthrough mode. Select the COM port that the CH340 enumerated to. There is no need to make a selection in the other two drop down menus by the COM port since the software automatically determines the receiver and baud rate. In this case, it was COM17. You may need to open your device manager to determine which COM port the CH340 enumerated to.

UPrecise Software: COM Port Connected

Once connected, you can explore the features available on the software as the UM980 sends data to your COM port. For the scope of this tutorial, we will focus on updating the firmware Make sure to check out the UPrecise user manual for more information on the software:

Firmware Update

Note

The following instructions were taken from the UPrecise User Manual: 2.2.11 Receiver Upgrade. For more information about how to use UPrecise software, make sure to check out the user manual.

Note

At the time of writing, UPrecise Version 2.0 was used. Note that the GUI appearance and features may change upon future releases.

You can update your firmware (they call this a firmware upgrade in the manual) using Unicore's UPrecise software. Make sure to check Unicore's UM980 product page, download center, or contact Unicore Communications for any firmware releases.

We'll assume that you have the firmware downloaded at this point and connected to the UM980. With UPrecise open, click on the menu with the triple bar () near the upper left of the window to expand the menu.

UPrecise Software: COM Port Connected

The menu should expand with text next to each icon.

UPrecise Software: Menu Expanded

Click on the Receiver Upgrade button. The following window should open up.

UPrecise Software: Receiver Upgrade

Click the Select upgrade file button. Head to the folder where you downloaded the firmware and select the file. The extension should be a *pkg file. In this case, there was a copy of the firmware in the Update Firmware Unicore GNSS Receiver Repo named "UM980_R4.10Build11833.pkg". Older firmware versions that were used SparkFun products were moved to the Old Firmware folder.

UPrecise Software: Select File

Select the GNSS receiver that will be receiving the firmware update. In this case it was Receiver1. While we are at it, select either the "Soft reset" or "Hard reset". While updating, the module will need to be reset and this selection will determine the reset method. Let's select the "Soft Reset" and have UPrecise reset the module.

UPrecise Software: Select Receiver and Reset Method

When ready, hit the "Start" button!

UPrecise Software: Firmware Update in Progress with Soft Reset Method

Warning

Make sure to pay attention to the progress bar! You'll want to avoid any interruptions while the firmware is updating as this will cause the upgrade to fail.

Note

If you have issues updating the software with the reset method chosen, try exiting the Receiver Upgrade menu by hitting the "x" button. Then disconnect and reconnect the module by selecting the "Connect" button. You will then need to open the Receiver Upgrade window again before hitting the "Start" button.

Once the firmware has been updated, you will notice that the progress bar is at 100% and a message indicating that the firmware upgrade succeeded and finished. You can exit out of the window by clicking on the "x" button.

UPrecise Software: Receiver Upgrade Finished

Verification

Now that we have successfully flashed the firmware, let's verify the version number. In the serial terminal, send the command VERSIONA. The UM980 will respond by providing the firmware version and authorization date. Look for the part of the message after the model number (i.e. "UM980"). This should match the build number from *pkg file name.

UPrecise Software: Sending Command VERSIONA

Note

Sending the command VERSIONA is one method of verifying the version number on the UM980. For users that are using the SparkFun RTK Torch, you can power cycle the unit and view the output at startup. There should be a line indicating the version build number as the SparkFun RTK Torch is initializing.

SparkFun RTK Everywhere System Menu UM980 Firmware

You can also use the Arduino example code to verify the version number on the UM980 breakout board.

UM980 Firmware Output with Arduino

Try viewing the UM980 output through the UPrecise software. Not seeing any satellites in the GUI or output in the serial terminal? Try adjusting the configuration to output every second. From the menu, head to the following to configure the messages: Receiver Configurations > Message configuration. In this case, we selected the following: GGA, GSA, GSV, RMC, GST. Feel free to select more depending on your application.

UPrecise Software: Receiver Configurations - Message configuration

Scroll down Receiver Configurations window and select Enter button.

UPrecise Software: Receiver Configurations - Message configuration, Enter

You should be able to see messages outputting through the serial terminal and displaying graphically.

UPrecise Software with UM980 Outputting Messages with Data Single Point Positioning

Troubleshooting

General Troubleshooting Help

Note

Not working as expected and need help?

If you need technical assistance and more information on a product that is not working as you expected, we recommend heading on over to the SparkFun Technical Assistance page for some initial troubleshooting.

If you don't find what you need there, the SparkFun Forums are a great place to find and ask for help. If this is your first visit, you'll need to create a Forum Account to search product forums and post questions.

Resources

Now that you've successfully got your SparkFun TriBand GNSS RTK- Breakout - UM980 up and running, it's time to incorporate it into your own project! For more information, check out the resources below:

Or check out some of these tutorials using the UM980!