Introduction
Over time, manufacturers will provide firmware updates running on GNSS receivers.
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.
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.
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.
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.
The language will switch to English similar to the image below.
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.
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.
The menu should expand with text next to each icon.
Click on the Receiver Upgrade button. The following window should open up.
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.
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.
When ready, hit the "Start" button!
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.
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.
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.
You can also use the Arduino example code to verify the version number on the UM980 breakout board.
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.
Scroll down Receiver Configurations window and select Enter button.
You should be able to see messages outputting through the serial terminal and displaying graphically.
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:
- Unicore Communications UM980
- CH340 Drivers
- SparkFun RTK
Or check out some of these tutorials using the UM980!