ELT_RTKBase is a stationary GNSS base station built on multi-constellation, multi-frequency receivers such as the Unicore UM980, Bynav M20, Septentrio mosaic-X5 or u-blox ZED-X20P. It offers advanced connectivity options over the internet or local networks. The package includes detailed documentation, making it user-friendly even for beginners.
ELT_RTKBase can operate as an NTRIP server (2 connections), NTRIP caster, TCP server, or TCP client (2 connections as well), record measurements, and allow downloading in RTCM3 and RINEX formats.
Typical Use Cases
Cryptocurrency mining with base station networks like Onocoy and RtkDirect
Local base station for dozens or hundreds of rovers (e.g., drones or tractors)
Survey-grade base station (excluding systems using the Bynav M20 receiver)
Advantages
Rich Functionality
ELT_RTKBase is like a Swiss Army knife among base stations. We believe that if a feature is needed by 1% of users today, it will be used by 10% in the next 10–20 years. Over 80% of users will end up using at least one additional feature during the device's lifetime. That’s why we keep adding features, even if currently relevant to a small group of users—to increase system flexibility and versatility.
Open Source andamp; Customization
Since ELT_RTKBase is open source, advanced users can make custom modifications and add new capabilities. This makes it highly adaptable for specific needs, with all changes shared back with the community under the AGPL 3.0 license.
User-Friendly Design
It’s built not only for professionals but also for beginners. One of the project’s goals was to lower the entry barrier into GNSS base station technology. That’s why our documentation is extremely detailed and full of illustrations—making our station easier to set up compared to other solutions.
Modern Technology at an Affordable Price
ELT_RTKBase uses cutting-edge multi-constellation, multi-frequency receivers for high-quality performance and precise RTK corrections—at a price that makes it accessible for GNSS mining, surveying, drone ops, and agriculture.
CORS stands for “Continuously Operating Reference Station.” So when we talk about CORS, we mean a stationary GNSS base station with an antenna installed on a roof. When we say GNSS base station without context, we usually refer to a portable surveying GNSS base - a receiver with an antenna.
The software is the same between these two types. However, portable base stations usually include a radio or cellular modem, while stationary CORS stations typically connect via Ethernet and WiFi.
Professional CORS Stations
These cost between €10,000 and €20,000. A typical example is the Trimble Alloy GNSS CORS receiver. Features can include a built-in UPS, hot-swappable batteries for power outages, multiple I/O options, advanced software capabilities, and top-tier measurement quality.
Linux-Based CORS Stations
These are primarily ELT_RTKBase units but also include simpler DIY systems based on RtkBase. With Linux offering a wide range of software, these stations provide great functionality, including built-in VPN. They typically use portable Linux computers like Raspberry Pi, Orange Pi, Banana Pi, etc.
The Septentrio Mosaic X5 provides a minimal but complete set of base station features—calculating base coordinates (via RTK or 24-hour RINEX processing), manually entering geodetic coordinates, sending data to an external NTRIP caster, and using an internal NTRIP caster to stream corrections to rovers.
ArduSimple and SparkFun produce such stations. From this category of stations, we offer the ELT0728 and ELT0718 with Ethernet and PoE, as well as the ELT0722 USB dongle, which can also be used as a station of this type.
Basic Miners
These aren’t full base stations or CORS units. They lack coordinate determination/input and don't have their own NTRIP caster. Instead, they operate solely as NTRIP servers sending data to an external caster that handles coordinate computation—e.g., GeodNet and Onocoy.
Most use ArduSimple WiFi NTRIP Master clones based on ESP32-XBEE (e.g., NTRIP-X from GNS Electronics, Onolink, LOCOSYS Technology), but many DIY versions exist. We offer a USB dongle (ELT0222) that works with WinRtkHost, and soon WinRtkHost will also support the ELT0622 USB dongle.
Two NTRIP v1 servers, which can also function as TCP clients.
Documentation with many screenshots tailored for beginners.
NTRIP v1 caster supporting hundreds of clients (for connecting rovers directly to the device).
TCP server.
Data output to a connected USB-COM.
Measurement logging in RTCM3 and RINEX formats.
A choice of four modern multi-system, multi-frequency receivers from Unicore, Bynav, Septentrio and u-blox. If you don’t need configuration and detection features, you can use any receiver that outputs RTCM3 data.
Built-in PPP with coordinate display on a detailed world map for quality evaluation.
Online version updates via a button in the web interface.
Dynamic (DHCP) and static IP support.
Full Linux computer (Raspberry Pi) functionality for other uses (e.g., ADS-B mining).
Antenna coordinate configuration through the web interface.
Four methods for determining base coordinates.
Antenna type configuration through the web interface.
Selection of RTCM3 packet types for transmission.
Built-in VPN from TailScale for remote management.
Ability to operate as a rover (currently only with Windows).
Internet connection status indicator.
Disk space monitoring.
DIY mode using your own Raspberry Pi. In this case, you only need to buy a USB or HAT receiver and an antenna
User-modifiable functionality with open-source code available on GitHub.
Web interface indication of disconnection reasons.
Service logs showing disconnection reasons and extensive technical information.
If you want to understand how our stations differ from competitors, see the section Types of CORS Stations
How to Choose a GNSS Base Station for the Onocoy Network
The first step is to decide whether you need an advanced (wired) GNSS base station or a budget (wireless) GNSS base station. If you need Ethernet, PoE, 5GHz WiFi, 4G/5G USB modem or data transmission via Radio Modem, choose a wired basestation. If 2.4GHz WiFi is sufficient, a budget station will do. For more details, refer to Choosing a Base Station Type
Choosing a GNSS Receiver for Onocoy
The second step is to choose the GNSS receiver. For Onocoy, we recommend the Unicore UM980 as the optimal choice with a good balance of quality and price. If you're looking for the cheapest GNSS receiver, there is the Bynav M20, but it earns less. If you want maximum quality and interference resistance, choose the Septentrio Mosaic X5—a mid-range survey-grade receiver, though more expensive. The u-blox ZED-X20P receiver does not support GLONASS, and therefore is not suitable for use with Onocoy. For more on receiver differences, see Choosing a Receiver
Choosing an Antenna for a GNSS Base Station
The final step is to select a GNSS antenna. For Onocoy, we recommend:
Survey 160 mm (ELT0123) – high-quality stationary GNSS antenna
Budget 38dB (ELT0323) – a cost-effective stationary GNSS antenna
ANN-MB2 (ELT0317) – for the simplest setups where there’s no snow, and animals or birds don’t perch on the antenna. It’s the most affordable GNSS antenna.
Antenna selection is covered in more detail in the section Choosing an Antenna
Table 1: GNSS Base Station Prices as of April 1, 2025
Prices exclude VAT and shipping. VAT and shipping costs depend on the buyer’s country. Outside the EU, import duties may also apply. Full station list available on our website.
Note: Before purchasing a base station without a power adapter, please read the warning in the “Connection” section.
We offer two types of base stations: advanced and budget.
Advanced (Wired) Station:
Supports Ethernet, 2.4GHz and 5GHz WiFi, 4G/5G USB modem
Data Transmission via Radio Modem
Powered via USB adapter or PoE
Based on Raspberry Pi 4B
Can be rack-mounted (standard 19-inch rack)
Budget Station:
Connects via 2.4GHz WiFi only
Powered by USB adapter only
Based on the compact Raspberry Pi ZERO 2W
Features an NTRIP LED and USB output from the receiver
Note:
WiFi without an external antenna can be weak. It will work best in the same room as the access point or maybe one wall away. This is especially true for 2.4GHz, which tends to be overcrowded in apartment buildings. So either get a wired station and connect it via Ethernet, or before purchasing a budget station, disable 5GHz on your smartphone and check WiFi quality where the station will be installed. This is explained in a bit more detail in the section “Connection Drops"
Aside from the ability to place a wired station far beyond WiFi range, the budget station offers better functionality overall.
That’s because it also acts as a GNSS receiver. If you don’t need the base station features, you can simply disable the “Main Service” and use it as a high-quality USB GNSS receiver.
This is an entry-level survey-grade receiver, comparable to those used by other manufacturers of Onocoy-compatible miners. The only differences are likely to be in configuration and firmware version. A typical Onocoy base station using this receiver is LVARIGRIG10. On average, it receives 165 signals with a quality score of 0.870.
Many survey receivers have been built on the UM980/UM981 platform, such as the Sfaira One, NetBOX2, Stonex S900.
A simpler and cheaper receiver. It tracks slightly fewer signals and provides a slightly lower reward. Compared to UM980, it lacks signals such as GPS L1C, L2P(Y), Galileo E6, Beidou B1C, B2b, and QZSS L1C. However, support for Beidou B1C is expected in a future firmware update.
Fortunately, for Onocoy, only the absence of Galileo E6 matters. This receiver is not survey-grade and is suitable as a base for tractors, drones, or GNSS mining. It’s not recommended for serious geodetic work. Example base station: LVARIGRIG11. It typically tracks 123 signals with an average quality of 0.714.
A high-quality mid-range survey receiver. It features AIM+ technology for interference mitigation and spoofing protection, as well as OSNMA to distinguish real signals from spoofed ones. It receives two more signals (Galileo E5ab and QZSS L6) than the UM980.
A typical Onocoy base station using this receiver is LVARIGRIG9. On average, it receives 178 signals with a quality score of 0.965. Survey-grade receivers based on Mosaic include Galaxy G1 Plus, AntaRx-Si3 and PolaRx5.
...is a reliable entry-level geodetic receiver. It delivers high-quality measurements with minimal cycle slips. Compared to the UM980, it does not support the following signals: GPS L1C and L2P(Y), Galileo E5b, Beidou B2b, QZSS L1C.The u‑blox ZED‑X20P does not support GLONASS, and therefore is not suitable for use with Onocoy. At the moment, only a preliminary firmware version is available. The final release is expected by the end of 2025."
Understanding Rewards and ROI
If you're interested in the reward, it depends on the number of “green circles”—which directly affects your station’s positioning.
These are the most affordable full-featured multi-frequency base stations and the lowest-cost miners on the market. Ideal for those who prioritize price. Fastest return on investment in Onocoy among all base stations and miners on the market.
A great balance of price and performance. Perfect for users who understand that over 10–20 years they’ll need more than just mining functions—possibly two dozen features not available from competitors.
The most affordable base stations with Mosaic X5 on the market. Ideal for perfectionists and for those needing a high-quality station for professional geodetic work. Highest rewards in Onocoy compared to any other base station or miner available.
7. Choosing an Antenna
Choosing an Antenna
We’re often asked: is it okay to use the ANN-MB2 antenna (ELT0317)? Here's a checklist of questions to help you decide if this antenna suits your needs. If the answer to all the questions (except the last one) is no, then ANN-MB2 will likely work just fine for you. If you answer yes to any of them, a different antenna may be a better choice.
Are you a professional surveyor? Do you need a top-tier antenna? Then you’ll want the Choke Ring 380 mm antenna (ELT0314). Just €2800—and it’s yours. ?
What’s the climate like where you’ll install the antenna? Do you get snow? Could water flood the antenna? Could birds perch on it? What about cats? Raccoons? Monkeys? Kangaroos? Pythons? If so, go with the Survey 160 mm antenna (ELT0123). It's not the cheapest, but its shape offers excellent protection from weather and wildlife. If the price feels a bit steep, consider the more budget-friendly Budget 38dB antenna (ELT0323). It has a shorter warranty and slightly lower performance, but it still provides protection from the elements and curious animals.
Do you need high accuracy—specifically a low phase center offset? Do you have a long antenna cable and require high gain? Then the best choice for you is the MultiPatch 100 mm antenna (ELT0194).
Are there buildings or trees nearby that could reflect GNSS signals and cause multipath interference? Then you’ll need an antenna that effectively suppresses multipath, ideally one designed with HELIX technology. Your choice here is the Quad Helix Antenna (ELT0316).
Looking for the most affordable option? That’s the ANN-MB2 antenna (ELT0317).
Important: all connections must be made while the base station is disconnected from power!
Mount the antenna on the roof and connect its cable to the base station’s IN connector (SMA type).
Only for ELT0×31: If you wish, you can mount the base station to a table, a wall, or a rack.
Connect to Internet. Variants: Ethernet with PoE (Only for ELT0×31) - Plug Ethernet into the port. Ethernet without PoE (Only for ELT0×31) - Plug Ethernet into the port. - Plug the power cable into the USB Type-C port on the right. - Plug the base station’s power adapter into an electrical outlet. WiFi - Plug the power cable into the USB Type-C port on the right. - Plug the base station’s power adapter into an electrical outlet. - Wait for the “Internet” LED to start blinking, then press the WPS button on your WiFi access point. Within 10–20 seconds, the blinking will stop and the “Internet” LED will light up solid.
Wait 2-3 minutes.
Open http://rtkbase.local/
On the web page that opens, enter the default password admin.
Verify that everything is working.
More details: Getting started
Connection options
First, determine how you will connect the base station. There are three options: via Ethernet (if available), via WiFi using WPS, or WiFi without WPS. If you are connecting via WiFi, check whether your access point has a WPS button.
WiFi without WPS
If you are connecting via WiFi without WPS, need a static IP address (and know what that is), want SSH access (and understand why), or don’t have DHCP (another rare case for experts), you’ll need to configure the system first. Instructions are in the section "Advanced Base Station Configuration”.
Hardware Setup
Mount the antenna on the roof and connect its cable to the base station’s IN connector (SMA type). If you are connecting via Ethernet, plug it into the port. Then insert the power cable, but do not plug it into the wall socket yet. Details can be found in the “Connection” section. On advanced (wired) stations, plug the power cable into the USB Type-C port on the right. On budget (wireless) stations, plug the power cable into the PWR IN connector.
Important: all connections must be made while the base station is disconnected from power! See the “Connection” section for more.
Mounting Options
If you wish, you can mount the base station to a table, a wall, or a rack, as described in the “Mounting” section.
WiFi WPS Setup
Plug the base station’s power adapter into an electrical outlet. If you are connecting via WiFi using WPS, wait for the “Internet” LED to start blinking, then press the WPS button on your WiFi access point. Within 10–20 seconds, the blinking will stop and the “Internet” LED will light up solid.
If this is your first time connecting and you didn’t press the WPS button within the two-minute window, wait an additional three minutes, power off the station, count to 10, and power it on again. For the other two connection types (Ethernet or WiFi without WPS), the LED will not blink. You can find more information on WPS in the section titled “WiFi Setup Using WPS PBC”.
Final Setup steps
Once the “Internet” LED turns solid, wait another 2–3 minutes. Then, open a browser and go to http://rtkbase.local. Enter the default password "admin" and change it. It explained in “Base address. Change password. Shutdown"
Check that everything is working correctly, as described in the section “Checking Satellite Reception”. If you’d like, you can also set approximate coordinates, following the same instructions in that section.
Optional: Earning with Onocoy
If you want to earn cryptocurrency by contributing to the Onocoy base station network, refer to the detailed guide in “NTRIP Configuration for Onocoy”. If that’s all you need, your setup is now complete — Onocoy automatically determines the base station’s precise coordinates.
Other NTRIP options
If you wish to connect to NTRIP casters other than Onocoy, then you will need to enter precise coordinates using one of the methods in the “Determining Coordinates” section.
All connections — including the antenna, power supply, SD card, and Ethernet — must be made only when the base station is unplugged from the power outlet. If you connect the antenna while the base station is powered, you risk burning out not only the antenna power circuitry but even the GNSS receiver itself.
Why Power Disconnection Matters
This is a common issue with all GNSS receivers powered from the electrical grid when used with fixed outdoor antennas. The reason is that most power adapters produce a voltage of 110 volts (half the mains voltage) on the device chassis. The resulting current is very small and harmless to people. However, fixed GNSS antennas are often mounted on grounded or electrically bonded building structures — or may come into contact with them accidentally. Similarly, the Ethernet cable may be grounded.
Unfortunately, modern electronics are more vulnerable to voltage than current. And while lightning protection can suppress brief surges, it will fail against sustained voltage differences. That’s why, before connecting a fixed antenna or Ethernet cable, always unplug the base station from the wall outlet.
Obviously, this warning does not apply to portable antennas. They can be connected while the device is powered. If you're running the base station on battery power, it's also generally safe to connect everything — except the SD card, which should always be inserted or removed with the power off.
Why Fast Charging Is Dangerous
One more important warning: please do not power the station using “fast” USB chargers or USB hubs from lesser-known brands. “Fast” chargers—those using QuickCharge or Power Delivery technologies—supply higher voltages, often 20 volts or more. This voltage level can permanently damage our base stations. Chargers from unknown brands may not handle the switching between normal and elevated voltage correctly. For example, one of our customers charged an iPhone using a USB hub with Power Delivery, and then connected the base station to the same hub. The hub failed to drop the voltage, and as a result, nearly everything inside the base station was fried.
Antenna and SD Card Setup
First, you need to mount the antenna on the roof or a high pole. For details on antenna installation, refer to our blog. The key is to give the antenna as much open sky as possible and minimize reflected satellite signals. The antenna itself is sealed, but its connector is not. Therefore, it is recommended to seal the connection point between the antenna and the cable with heat shrink tubing or special self-vulcanizing tape.
Inserting the SD Card
If you previously removed the SD card, your first step is to insert it into the right-hand slot. The SD card should be inserted with the metal contacts facing away from you and toward the board. If the text on the enclosure is upright (not upside down), then “toward the board” means the contacts face downward, and the printed label on the card faces upward.
Antenna and Port Connections
Next, connect the antenna to the IN port (SMA type). The OUT port (also SMA type) is the output of the built-in signal splitter. You can use it to connect an additional GNSS receiver, for example, one used for GEODNET.
Station Type Considerations
If you haven’t yet reviewed the differences between advanced (wired) and budget (wireless) base stations, refer to the sections “Choosing a Base Station Type” and “Feature list”.
Advanced (Wired) Base Stations
If you're using an advanced (wired) station and connecting via Ethernet, plug the Ethernet cable into the left-hand port. Then plug the power cable into the USB Type-C port on the right. The two USB Type-A ports on these stations are native Raspberry Pi connectors and can be used to attach peripherals such as radio transceivers, USB Ethernet adapters, or USB 5G modems. The HDMI ports on these models are disabled
Budget (Wireless) Base Stations
For budget (wireless) stations, the power cable should be plugged into the PWR IN port. The USB Type-C port on these models is the GNSS receiver’s port. It's used in cases where you need a standalone GNSS receiver instead of a full base station. Additionally, this port allows you to upgrade firmware or perform advanced configuration of the receiver.
Final Steps and LED Indicators
The LED indicators on the front panel show whether the station is powered on, whether there is an Internet connection, and whether satellite signals are being received. Details about these indicators can be found in the “LEDs” section. And finally — plug the power supply into an electrical outlet. The included power supply comes with interchangeable plug adapters and supports most outlet types worldwide. For detailed steps on what to do after powering on the unit, refer to the section “Getting started”.
Important Note After Power-On
Important: After first powering on the base station, do not turn it off for at least five minutes. During this time, the system performs initial setup and configuration of the receiver, which can take a little while.
Starting from version 1.7.8, ELT_RTKBase supports Wi-Fi Protected Setup Push-button Configuration (WPS PBC). You can read more about WPS on Wikipedia, but to put it simply: it’s a way to connect a device to a WiFi network by pressing the WPS button on the router and on the device. The button press can be either physical or software-based.
WPS Behavior in Version 1.7.9
Beginning with version 1.7.9, WPS on the device is activated only when there is no existing network connection. If the device is already connected to a network—whether via WiFi or Ethernet — WPS will not activate. To enable WPS, you need to disconnect Ethernet, place the device in a location where no known Wi-Fi networks are available, and power it on. When WPS mode is active, the base station will indicate it by flashing the “Internet” LED for two minutes.
So, if your WiFi access point has a WPS button, you can connect for the first time (or after relocating the base station) by powering it on, waiting for the “Internet” LED to start flashing, and then pressing the WPS button on your access point. Within 10–20 seconds, the flashing will stop, and the “Internet” LED will turn solid. If you miss the two-minute window to press the WPS button the first time, wait another three minutes, then turn off the power, count to 10, and try again.
WPS Behavior in Version 1.7.8
In version 1.7.8, WPS is available, but it’s not indicated by the “Internet” LED. If the base station has never connected to a WiFi network, WPS mode starts about 30 seconds after power-on and remains active for two minutes. During that time, you must press the WPS button on the access point. Because this version lacks visual feedback for WPS mode, the best thing you can do with version 1.7.8 is upgrade to a newer release. For details about updating to newer versions, refer to the section “Software Update”.
Here’s how the LED indicators look on both the wired (advanced) and wireless (budget) base stations:
Advanced
Budget
Purple LED – Indicates that the power is on.
Green LED – Indicates satellite reception.
On advanced (wired) stations, it blinks when satellites are being tracked and remains off when there’s no reception.
On budget (wireless) models like ELT0233 and ELT0633, it stays lit when more than 30 satellites are being tracked, blinks when fewer than 30 satellites are visible, and turns off entirely when there’s no satellite reception. The blinking pattern is calculated as 33 ms / andlt;number of satellitesandgt;.
On the budget ELT0733, the green LED stays on when an autonomous solution is available.
Yellow LED – Indicates that the station has an internet connection. It blinks during WPS mode — see “WiFi Setup Using WPS PBC” for details.
Red LED – Lights up when the first (A) NTRIP server has successfully connected to the NTRIP caster.
Built-in Splitter
We are sometimes asked how the built-in splitter works and whether our design includes a power blocker.
Indeed, dual-channel splitters from lesser-known manufacturers often use a simplified design that includes only a power blocker. This saves the manufacturer a few euro cents but causes a headache for the user when choosing which splitter output to use.
We don’t cut corners on our customers. That’s why we use the full design, including a load simulator and protection circuitry. In this setup, one receiver powers the antenna, while the second receiver sees a simulated load. Both receivers detect current in the antenna circuit. This allows connecting geodetic receivers that monitor antenna current directly to the splitter.
Here is the antenna section schematic from our base station. You can request the complete schematic by emailing us at info@gnss.store. I’ve highlighted the load simulator so you can see for yourself how negligible the cost savings would be if it were omitted.
In the schematic:
C9 – power blocker
R4, L2 – load simulator
D7, D8, D9 – protection circuitry
Frankly, companies that save money by omitting the load simulator often skip the protection components as well. The protection circuitry won’t replace a proper lightning rod, but it may save both your base station and the connected receiver if lightning strikes the rod on your building or a neighboring one.
The insertion loss of our splitter is specified in the datasheet for the BP2G1+. At GNSS frequencies, the splitter’s insertion loss is 0.4 dB. You lose about the same—or even more - at an SMA connector. Additionally, you lose 3.01 dB (i.e., 50%) due to the inherent signal division between two output channels; this is a fundamental limitation tied to the number of outputs.
As you can see, the datasheet includes tables and graphs. But what about the splitters from lesser- known firms? Do they provide graphs, tables, or even precise numbers? IMHO, the less information a manufacturer provides, the more questionable the quality of their solution. That’s exactly why we use splitters from the reputable firm Mini-Circuits and openly publish as much technical detail as possible.
The device should be placed in a cool, dust-free, and dry location. Avoid direct sunlight, exposure to rain, snow, hail, and protect it from domestic and wild animals, birds, snakes, fish, and insects.
In addition to simply placing the unit “on a table,” advanced (wired) base stations offer several mounting options.
At the end of the installation, RtkBase will display the IP addresses of Raspberry pi on the screen. However, there is another way for modern operating systems — the address rtkbase.local, which means the site can be opened as http://rtkbase.local.
Please note — you must type the full address as http://rtkbase.local. If you accidentally enter http://rtkbase.local, or just rtkbase.local, your browser may automatically attempt to use HTTPS. This will not work, because the base station only supports HTTP (not HTTPS). The HTTP protocol uses port 80, while HTTPS uses port 443 — and this port is not currently active on the device.
Unfortunately, this method only works inside your local network. That means if you're trying to access the base station from your phone, you’ll need to connect to the same Wi-Fi network and (ideally) disable mobile data to ensure the browser stays on the local connection.
Changing the Password
Log in to the site for the first time (using http://rtkbase.local as the address).
Enter the password “Admin”.
Click on Settings at the top.
At the bottom, in the “System Settings” section, find “Change Password” and enter the new password.
Click on the “Change Password” button and see the message on the screen. Now click on the “Log Out” button and log out.
You will end up on the login screen again. Enter the new password and check the “remember me” box.
You will be taken to the Status page.
Shutdown
You can turn off the device by disconnecting the power. However, the most gentle method is to press the “Shutdown” button in the web interface.
Most users don’t need to read this section. But if your WiFi access point has no WPS button, or if you want to set a static IP address, or enable SSH access, this section is for you.
Reminder: Always remove and insert the SD card only when the base station is unplugged from the power outlet!
Configuration Using the Windows Application
The simplest way to configure the base station is to insert the SD card into your computer's card reader (running Windows), and launch the WinRtkBaseConfigure.exe application. You can find the application on the SD card, or download it from our GitHub repository using the provided link.
The app includes five configuration sections, which are described below. Check the boxes for the settings you want to change, then enter your values. When finished, click Save. The app will automatically detect the SD card and write the configuration to it. Then, reinsert the SD card back into the base station.
WiFi Network Connection
To configure WiFi, check the WiFi box and enter your SSID and password (key) in the Key field. If you're connecting to a hidden network, check the Hidden SSID box.
Adding a User
To add a user, check the user box and enter:
LOGIN – the username
PWD – the password (optional)
SSH – the user's public SSH key (optional)
To load a public SSH key, click “Load SSH public key”, select your key file, and click Open. The app will suggest using your own public key (typically created in the “.ssh” directory when installing an SSH client), but you can select any key file.
Static IP for Ethernet
This section is for advanced/professional users only. Most home users can skip it.
To set a static IP for the Ethernet interface:
Check the Ethernet IP box
Set the mode to Static
Enter the following:
IP address of the base station
Subnet prefix (typically 24 or 16)
Gateway address (for internet access)
DNS server address
If your network doesn’t have internet access, leave the DNS blank. If your setup involves a direct connection from the base station to a laptop (no router/gateway), leave the gateway blank.
Static IP for WiFi
This section is also for advanced users. Most home users do not need it. Setting a static IP for WiFi works exactly the same as for Ethernet. Follow the steps described above in the "Static IP for Ethernet”.
Configuration via Text File
If you don't have access to Windows computer, or if you prefer to understand the configuration process in more detail, you can configure the base station using a plain text editor.
To configure the system, insert the SD card into a card reader and create a file named system.txt in the root directory of the first partition on the card (this is usually the only visible partition in Windows).
This file should contain parameter-value pairs, each on its own line, using the format: parameter_name=value
If the value contains spaces, the entire value must be enclosed in double quotes. You can use any type of line ending — both Windows-style (\r\n) and Linux-style (\n) are supported.
The system.txt file is processed at startup by the Base Station, and deleted from the disk after it is applied. You can check whether the configuration was applied successfully (or if there were any errors) by visiting the Diagnostic page of the web interface. Scroll down to the section related to the RtkbaseSystemConfigure service. See the section “” for details on how to open the Diagnostic page.
WiFi Standard
Different countries allow different frequencies for WiFi operation, so the standard is set by choosing the country according to the ISO 3166-1 two-letter code. For example, the string country=LV means Latvia. For the USA, you should write COUNTRY=US.
Connecting to WiFi
The SSID (name) of the WiFi network is set in the SSID parameter, and the key (password) for access to the network is set in the KEY parameter (which can be omitted). For a network with a hidden SSID, add HIDDEN=Y.
For example:
SSID=$'A B C'
KEY=$'`\"$\'\\|/\x7F\u0409\u00B6'
HIDDEN=Y
The SSID and password, as well as the user password, can be defined using ANSI C string rules, allowing the use of characters in both HEX and UNICODE formats.
Adding Users
To add a user, you need to set their login (LOGIN), password (PWD), and/or SSH public key (SSH) for the user who will log in to the Raspberry Pi.
Quotes for SSH are mandatory. The username is specified in lowercase Latin letters and can include numbers, underscores, and hyphens. The password can include HEX and UNICODE characters and must also follow ANSI C string rules.
Static IP
To assign a static IP, you need to set the static address of the Raspberry Pi, the subnet prefix (usually 24 or 16), the gateway address for internet access, and the DNS server address. Fields starting with ETH are used for Ethernet, and those starting with WIFI are used for WiFi.
For example:
ETH_IP="192.168.1.2/24"
ETH_GATE="192.168.1.1"
ETH_DNS="1.1.1.1"
WIFI_IP="192.168.1.3/24"
WIFI_GATE="192.168.1.1"
WIFI_DNS="8.8.8.8"
If you are using the Base Station in a network without internet access, do not specify a DNS. If your network has no gateway (for example, a direct connection between the Base Station and a laptop), do not specify a gateway.
Reconfiguration While Running
This section is intended for advanced users and rare professional scenarios. Occasionally, a base station is installed in a remote location where physically accessing the SD card is not feasible. For example, you may need to add a new user for SSH access, but the station is located far away.
In such cases, you can perform a live reconfiguration by downloading the RtkBaseConfigure.sh file and editing it using a text editor that preserves line endings — for example, Notepad++ or Far Manager.
First, review the section titled “Configuration via Text File.” Then, uncomment and modify the necessary lines in the script according to your requirements.
Once edited, upload the modified file to the base station using the manual update feature. To do this:
In the form that opens, click “Choose file”, select the modified RtkBaseConfigure.sh file, and then click “Submit.”
The message will contain logs showing whether the configuration was successfully applied. After reading the message, click “Cancel” to close the window.
Open http://rtkbase.local in your browser and go to the Status page.
First, check that green satellite bars appear within 3–5 seconds after opening the Status page. Then make sure the bars are slightly moving — this indicates the data is being updated regularly. If anything seems wrong, refer to the section “Troubleshooting”.
Next, check the average signal strength (SNR). It should be 35 or higher. If it’s lower, check the antenna cable and connectors for issues. Then, check whether PPP mode is active. Built-in PPP works only with satellites having a signal level of at least 33. You’ll need at least 10 such satellites — otherwise, a PPP solution won’t be available. At the bottom of the Status page, you’ll see a map with your current coordinates marked as a blue dot, and your configured base station coordinates shown as a cross-hair. If no base coordinates have been configured yet, the map will appear with limited detail. Let’s fix that. Click the copy coordinates button on the right side of the page. Note: if PPP is not active, these coordinates may be inaccurate.
Now click Close and go to the Settings page.
On the right side of the Main service section, click the Options button. This will open the settings menu.
In the Base coordinates field, paste the coordinates from your clipboard (for example, with Ctrl+V)
Click the Save button, then click Options again.
Go back to the Status page — now you’ll see the entered coordinates as a cross-hair, and your current position as a blue marker.
https://www.onocoy.com is a service that allows you to earn money using base stations. Documentation can be read at https://docs.onocoy.com, and we will provide a brief description for RtkBase. In addition, you can read the Onocoy project’s "White Paper". Technical support and project news can be obtained on Discord.
Enter your first name, last name, and email and click Next
Check “Join as a Miner”. Do not check the rover access box.
Set your GNSS knowledge level to “Novice”, mark that you have a GNSS station, and set the station type to “Eltehs RtkBase”. All these answers are onlly for collecting statistics, so they do not affect anything.
Set your knowledge level about cryptocurrencies to “Novice. Again, this does not affect anything.
The last question is about your motivation, i.e., money, fame, love for humanity... Just make sure to check “I accept the privacy policy”. Then click “Register now”.
You will be asked to wait for an email.
Wait for the email with a big blue JOIN button. Click it and go to the password setting page. Sometimes you may receive another email indicating you are on the waiting list before this one. Enter your password and create an account.
You will be taken to the login window where you need to click “LOGIN”.
Getting Credentials
Log in with your username and password.
Click “Reference Station” at the top.
Click “NTRIP Credential”.
Click “Add New Credential”.
Enter a password, description, and click Save. Remember the password as it will be needed for the RtkBase settings.
After successfully creating it, you will receive a mount point name, referred to as Credential. Remember this name as well.
NTRIP Server Setup
NTRIP Server is a mechanism for transmitting data from the base station receiver to a large NTRIP Caster, which then distributes (and sells) these data to clients.
Go to RtkBase and click the Options button next to “Ntrip A service”.
Enter the data from Onocoy. In the “Caster password” field, enter the password you set for the Credential. In the “Mount name” field, enter the name from the Credential. Important! Due to Onocoy's specifics for the NTRIP v1 protocol, the “Mount name” field should contain the Credential name, not the mountpoint name.
The “Receiver Options” field is intended for U-blox receivers, and information about the “Rtcm messages” field can be found in the “RTCM3 Proposals” section.
Click Save, then Options, then Off to turn on the service.
Connection Check
Return to Onocoy, click “Reference Stations”, and after a couple of minutes, see that your server is running, and the light on the left is green. Click anywhere on the gray stripe (e.g., the server name).
You will be taken to a window with server data. The “Enable live feed” button is on the top right, which will be discussed later.
Scroll down and see the received and unreceived signals.
The green signals are received, and the white signals are not. On the right, there is a graph of the number of satellites and signals. If you see signals like in the screenshot or better, everything is fine. If you see only Beidou signals with a Unicore receiver, it means the base station coordinates are entered incorrectly. How to enter them correctly is described in the “Determining Coordinates” section.
If you have two receivers connected to one antenna, you will not be able to double the benefits on Onocoy; in this case, only one receiver will connect.
If you click the “Enable live feed” button in the top right corner, you will get a display like this showing the satellite positions in the sky and the signal levels by frequency.
Creating a Wallet
Log in with your username and password.
Click “Connect Wallet” at the top right, then select the top wallet — Phantom.
There is a video on setting up and configuring Phantom for Onocoy. It is slightly outdated.
On this screen, click “Download for Chrome” (or otherwise, if you have a different browser).
After clicking the button, go to the Chrome web store and click “Add to Chrome” to install the extension.
Click “Add Extension”.
The wallet window opens, where you click “Create a new wallet”.
Create and enter a password twice, check the box, and click Continue.
Write down the 12 secret words (or take a screenshot). Again, check the box and click Continue.
Finally, click “Get Started”.
Enabling the Plugin
On any page, click the Extension button at the top right.
In the dropdown menu, click the button next to Phantom.
As a result, the Phantom icon will appear at the top right of the page.
Connecting the Wallet
Return to the Onocoy page. As described earlier, click “Connect Wallet” at the top right, then select the top wallet — Phantom. The wallet window appears and requests the password.
Enter the password.
Click Connect. The wallet is connected.
Registering the Wallet
Log in with your username and password. Registering the wallet makes sense only with a positive balance, i.e., after validating your station and starting to earn cryptocurrency. If you decide to register, click “Reference Station”.
Click “NTRIP Credential”.
Click Register.
The wallet window pops up, where you need to enter the password and click Unlock.
Click Confirm.
The transaction is pending.
After successful registration, the screen looks like this. If the registration was unsuccessful, wait a day or two. This means that the blockchain refuses to make a free transaction, and you have not yet accumulated enough cryptocurrency for a paid one.
https://rtkdirect.com/ is another service that allows you to earn money using base stations. A brief connection guide is available at https://rtkdirect.com/buy-a-hotspot/, and we will provide a brief description for RtkBase. Before connecting to RtkDirect, set the precise coordinates of your base as described in “Determining Coordinates”.
After registration, you can proceed to connect the station. To do this, click “Connect New Hotspot”.
Getting Credentials
After clicking “Connect New Hotspot”, you will receive a login, password, and mount point for entry. The login is used only in the NTRIP v2 protocol, so we do not need it. Record the mount point and password.
NTRIP Server Setup
NTRIP Server is a mechanism for transmitting data from the base station receiver to a large NTRIP Caster, which then distributes (and sells) these data to clients.
Go to RtkBase and click the Options button next to “Ntrip B service”.
Enter the “Caster password” and “Mount name” as written on the RtkDirect website
Click Save, then Options, then Off to turn on the service.
Connection
Now we are ready. Click Connect and wait for the connection.
The connection was successful. Click “Connect another”.
Choosing a Wallet
Start from scratch. First, go to https://rtkdirect.com and click the “Access The Network” button.
Click the green enticing “Connect your wallet” button.
Select the Zerion wallet and click on it.
It tries to connect, but we do not have a wallet. Therefore, click the Browser button.
Click Download.
Installing the Wallet
After performing the previous section, go to the Zerion wallet installation and click “Download for Chrome”.
Click “Add to Chrome”
Allow the installation of the extension by clicking “Add Extension”
After installation, you will see the wallet management screen. Click “Create New Wallet”
Create and enter a password. Repeat the password
The wallet is created. Click Continue.
Click Continue again.
Click “Back up now”
Get a list of 12 words that must be saved. Click “Copy to clipboard” and save it to Notepad. Click “Verify Backup”.
Perform verification by entering all 12 words and clicking Verify.
Verification is successful. Click the extension management icon at the top right.
In the extension management window, click the button next to Zerion.
You will see the Zerion icon among the extensions.
Click on it to see the settings button in the top left corner.
Click the settings button and disable the MetalMask mode.
Connecting the Wallet
Close the wallet and extra tabs, return back, and try connecting with Zerion again.
The window pops up, click “Continue with Zerion”.
In the next window, click Connect.
Check the drop-down wallet window by clicking the extension icon at the top right — the connection is visible.
Click “Connect your wallet” — the connection is visible.
NTRIP Caster is a mechanism for distributing data from the base receiver. Typically, NTRIP Server transmits data from the receiver to the NTRIP Caster, and the NTRIP Caster distributes data from various receivers to several rovers. RtkBase has a simple NTRIP Caster that allows you to avoid additional (external) NTRIP Casters.
To make RtkBase work as an NTRIP Caster, go to the Settings page and click the Options button next to “Ntrip Caster Service”.
Enter the username, password, and mount point name, then click Save.
After that, close the settings with the Options button and turn on the NTRIP caster by clicking the Off button.
19. RTCM3 Proposals
TCP Client Setup
If you write TCP in the mount point and password fields in the NTRIP service settings (either A or B), it will connect as a TCP client instead of an NTRIP client.
Thus, our equipment can act as both a TCP Server (see “Important Requirements”) and a TCP client.
RTCM3 Proposals
In the settings of all services, except for Main and File, there is a list of transmitted RTCM3 proposals. After the proposal number, you can specify the period (time in seconds between proposal transmissions). This is especially relevant for the caster.
Imagine you went on vacation, but you urgently need to fix something in your base settings. For such cases, we have equipped the base with a built-in VPN from Tailscale. With this VPN, you can access connected devices as if they were on the same local network.
Open the Settings page. At the bottom, you will see the "Tailscale admin console" button.
Click it — you'll be taken to the Tailscale login screen. Note: the first time you press the button, it may take up to one minute to respond.
Register with Tailscale. You will see a screen with a large “Connect” button.
Click “Connect” — you’ll see confirmation messages indicating a successful login.
After a few seconds, you’ll be redirected to the Tailscale admin console.
Connecting Other Devices
Now, download the Tailscale client, install it on your laptop or smartphone, and register the device with Tailscale the same way.
After that, you will be able to access the device’s web interface in multiple ways. To view all available device addresses, click the arrow next to its IP address.
Sharing Access with Others
To grant someone access to your device, click the three dots to the right of it and select “Share” from the menu. You can generate either a one-time or reusable access link, or send an invitation directly via email.
21. 4G/5G USB Modem
4G/5G USB Modem
Before connecting to the internet via a USB modem, you first need to establish a connection using the regular method—either through Ethernet or WiFi—and then enable the Tailscale VPN, as described earlier in the section “Built-in VPN from Tailscale”. This is because when connecting via a mobile network, your IP address is assigned dynamically. Without a VPN, you won't be able to access your own base station through the mobile internet.
Connecting the Modem
Insert the SIM card into the modem and connect the modem to the USB Type-A port on the base station. You can plug the modem directly into the port on the base station, but for better mobile signal reception, it’s recommended to place the modem closer to a window. Therefore, it’s best to use a USB extension cable to connect the modem.
About a minute after powering on the modem, internet access will be established and the modem will begin functioning. At this point, the Ethernet or WiFi connection can be disconnected.
Modem Configuration
To check or modify the modem’s settings, go to the Settings page—or refresh it if it’s already open. At the bottom of the page, you’ll see a button labeled “Modem Web Server”. Clicking this will open the modem’s configuration web-page, where you can update the firmware or adjust modem settings.
22. Connecting a Radio Modem
Connecting a Radio Modem
Our base station supports the use of various types of radio modems through a USB-to-COM adapter. First, download the file show_usb_serial.sh. Then upload this file using the method described in the section “Updating from a File”. To do this, open the link http://rtkbase.local/settings?update=manual, click the “Check Update” button, then in the form that appears, click “Choose File”, select the file, and press “Submit”. The response will contain information about the USB-COM port currently available for the receiver. Typically, this will be ttyUSB0. After reviewing the information, click “Cancel”.
Detecting the Radio Modem Port
Now plug in the USB-to-COM adapter and repeat the procedure. You will see that an additional port has appeared (typically ttyUSB1).
Configuring RTCM Serial Output
Next, open the “Rtcm serial service” settings and set the “Serial output port” to the port associated with your USB-to-COM adapter (usually ttyUSB1).
23. Using the Emild NTRIP Caster
Using the Emild NTRIP Caster
Emlid Casteris a free NTRIP Caster service provided by Emlid, designed to let you publish your GNSS correction streams for use with your own rovers. Each user is allowed up to 5 base stations and 10 rovers simultaneously at no cost. In its free version, it’s not significantly more powerful than the built-in NTRIP caster.
The main advantage of Emlid Caster is its persistent internet address. This is especially useful because base stations typically have dynamic or private (“gray”) IP addresses and are often located behind a firewall. The paid version of Emlid Caster allows you to connect up to a thousand users at once. If you're curious, you can read the full documentation on the Emlid Caster website.
Before you begin using Emlid, you must determine the coordinates of your base station, as described in the section “Determining Coordinates”.
Go to the Emlid Caster website. If you don’t have an account yet, click “Sign Up”. If you already have one, click “Sign In”. The registration and login forms are nearly identical.
RTK2go is a free community-driven NTRIP caster designed to let you publish your GNSS correction streams for use by others through their NTRIP clients. It serves as a central hub, enabling real-time delivery of precise corrections to RTK-enabled devices. Using RTK2go, you can connect hundreds of clients to your base station.
Before start using RTK2go, you should determine using PPP the exact coordinate of your station and get a summary result as mentioned on “Determining Coordinates via External Services”.
Go to RTK2go.com, then scroll to RTK2go’s new-base-station form or go to the register form directly.
Fill in your name, email, desired mountpoint name, leave format “Auto Parse” and protocol “NTRIP Rev1.” (note: do not start the name with the letter "A" - that is not allowed) Submit the form, then reply to the confirmation email within 48 hours to activate your mountpoint.
NTRIP Server Setup for RTK2go
The configuration process is very straightforward:
Go to the Settings page and click the Options button next to the Ntrip B service.
Centipede RTK is a non-commercial platform dedicated to scientific research in GNSS RTK technologies. It is distinguished by strict quality control of base station coordinates. Full registration usually takes one to two weeks, but is considered a mark of distinction.
Before registering with Centipede RTK, you must determine the exact coordinates of your base station using the PPP method and obtain the final result, as described in the section “Determining Coordinates via External Services”. More detailed information about coordinate calculation can be found in the Centipede RTK documentation (available in French).
To access setup instructions for connecting rovers, visit the website Centipede RTK and click on “Start using Centipede-RTK now!”
Configuring the NTRIP Server for Centipede RTK
The NTRIP Server is the mechanism that transmits data from the base station receiver to an external NTRIP caster.
Open the Settings page and click the Options button next to the NtripB service.
In the Mount name field, enter a custom four-character identifier using uppercase letters or numbers. Make sure the name is not already taken by checking this lookup table. Do not use the names of major cities (e.g., LYON).
Click Save.
Ensure the green indicator confirms that data transmission is active.
Open the map to view active mountpoints. Your base will appear within 24–48 hours as a blue marker with the status “Bases not declared.”
Registering the Base Station as a Trusted Source
To register your base station as a trusted source on the Centipede RTK network, send an email to contact[at]centipede.fr with the following information:
Mountpoint name
Precise coordinates (from the .txt file provided by NRCAN)
The RINEX observation file (.obs) you submitted to NRCAN
Once the administrator reviews your submission (this may take a few days), you will receive a confirmation email. Your base will then appear on the official map at https://centipede.fr, with its status updated every 30 seconds (green — active, red — inactive).
If the station encounters any issues (e.g., power loss or network failure), you will receive an automated email alert if it remains offline for more than 5 minutes.
26. Linux Upgrade
Linux Upgrade
All operating systems occasionally encounter bugs, and these bugs are fixed by updating the system. Linux differs in that not only the operating system gets updated, but all installed programs as well. Sometimes, a bug is so critical that it gets covered in the press. In such cases, updating is absolutely necessary. In other situations, you can update once a month or every six months. The update process takes about 3–10 minutes if done monthly or up to an hour if done every six months.
To update, click the “System Upgrade” button on the Settings page.
A confirmation window will appear. Click the red Upgrade button.
After that, the Linux update process will begin.
Once it's complete, you will see a blue Continue button. Click it.
This concludes the Linux update process. Of course, it is recommended to reboot by pressing the Reboot button after the update.
27. Software Update
Software Update
Like any other company, we continuously release new versions. We add functionality, fix bugs, and generally do everything to make life easier and more convenient for our users. There are three methods to install updates: “Updating Over the Internet”, “Updating from a File” and “Updating via SD Card”. Additionally, it is strongly recommended to run “Linux Upgrade” at least before each version upgrade (ideally once a month). If you skip this step, the version update process may take up to an hour.
To determine the current version number, look at the bottom of any page.
Updating Over the Internet
Updating Over the Internet
To check for updates, click the “Check Update” button.
If there are no updates, a window will appear:
In case of an error, you will see a message like this:
If an update is available, the window will look like this:
To update, click the “Update” button. A message will appear indicating that the update is being downloaded from the website.
Then, you will see a message about the ongoing update:
Once the update is complete, you will see a message confirming its completion. Next, click the “Refresh” button to reload the page.
In case of an error, there will be a different message, after which you should also click the “Refresh” button to reload the page.
In this case, go to the Logs page, download the update log, and send it to rtkbase@eltehs.com
If you have multiple ELT_RTKBase units on different Raspberry Pi devices, make sure that only one site from one ELT_RTKBase is open before starting the update. Verify this by going to the Status page to ensure you are not prompted for a password. If you skip this step, it may appear that the update is never completing. In this case, simply refresh the page after 10 minutes. This applies only when multiple ELT_RTKBase interfaces are open in the browser at the same time.
Updating from a File
Updating from a File
In some situations, you may need to update from a file. For example, a file provided by technical support, a file downloaded from the debug branch on GitHub, or if you want to reinstall the current version. A version with an earlier number cannot be installed this way, but a version with the same number can be.
To do this, go to http://rtkbase.local/settings?update=manual or navigate to the Settings page and add “http://rtkbase.local/settings?update=manual” to the end of the URL.
After clicking the “Check Update” button, the following form will appear:
Click “Choose file”, select the file, and then click the “Submit” button. After this, the file will upload, and the update process will begin, as described in the “Updating Over the Internet” section.
Updating via SD Card
Updating via SD Card
Update the Raspberry Pi firmware by inserting the SD card into a card reader and copying the install.sh file to the root directory of the first (the only one visible, if you have Windows) partition of the card. The update occurs at startup and takes 5–10 minutes. This update will not work if you installed the system using the install.sh file instead of an SD card image (or purchased a pre-configured system from gnss.store). Internet is required for the update.
28. Updating Receiver Firmware
Checking the Receiver Firmware Version
After configuring the receiver, the firmware version is displayed at the bottom of the “Settings” page.
Receiver Firmware Versions
Receiver
Minimum Version
Recommended Version
Septentrio Mosaic-X5
4.14.4
4.14.10.1
Unicore UM980
R4.10Build13504
R4.10Build17548
Unicore UM982
R4.10Build13495
R4.10Build13495
Bynav M2-0
V7.81_19D751_T
V7.84_250E94_T
u-blox ZED-X20P
HPG 2.00 (1e963fM)
HPG 2.00 (1e963fM)
Firmware Compatibility
You can also use firmware versions newer than those listed in this table. If the version is older, update the firmware as described in the sections “Updating Receiver Firmware”, “Unicore UM980”, “Bynav M20”, “Septentrio Mosaic X5” and “Ublox ZED-X20P”
If you purchased your base station or receiver from us, feel free to email us at info@gnss.store with your order number, and we’ll send you the latest firmware version.
Budget (wireless) ELT0233 stations can be updated more easily using the receiver manufacturer’s instructions and the UPrecise utility via the receiver’s front-panel USB port. It’s recommended to stop the main service during the update process. Advanced (wired) ELT0231 stations must be updated strictly according to this guide.
Set the receiver speed to 460800, as described in the “Changing the Speed” section.
Enable the “Rtcm tcp service” and temporarily disable all other services except for “Main service” and “Rtcm tcp service” while updating the firmware.
Setting Up VSPE
You will now need a Windows program that converts TCP/IP to a COM port. Several such programs are available; we’ll describe Virtual Serial Ports Emulator (VSPE) as it is the most versatile. Download and install VSPE from the “Eterlogic Software” website.
It is recommended to install the “Virtual Serial Ports Emulator for 32-bit Windows operating systems” version because it does not require a license and can be used for free. However, if you have 64-bit Windows, you can use VSPE with the built-in Evaluating license. Details are available via the provided link
After installation, launch VSPE. Click the “Create new device...” button.
Create a Virtual Pair
Select “Virtual pair” and click Next.
On the next screen, you can change the COM port numbers or keep the defaults selected by VSPE. Then click the Finish button.
Now you’ll see that a COM port pair has been created. Click the “Create new device...” button again.
Create TCP Client
Select “TCP Client” and click Next.
Set the IP address (usually rtkbase.local) and port (typically 5016). Click the “Settings...” button.
Change the speed to 460800, then click OK, and finally click Finish.
You should now see a result similar to this:
Running UPrecise
Download and launch UPrecise from the website. At the bottom, enter COM2 (the second port of the created pair) and the speed 460800, then click the “Connect” button.
On the left panel, click the “Receiver Upgrade” button.
After clicking the button, the firmware update settings window will appear. Check the box next to “Receiver 1”. Select “Soft Reset”. Click “Select upgrade file” and choose the new firmware file.
Once the new firmware file is selected, click the Start button. The firmware update process will begin.
After the update is complete, you will see a message like this:
Final Steps
Close both UPrecise and VSPE. Then perform “Detection” and “Configuration” as described in the corresponding sections.
30. Updating Bynav M20
Bynav M20
Similarly, budget (wireless) ELT0633 stations can be updated using the BY_connect utility following the receiver manufacturer’s instructions, via the front-panel USB port. For best results, stop the main service during the update. Advanced (wired) ELT0631 stations must be updated only according to this guide.
Click “Add Row” and fill in the fields as shown in the screenshot.
Click Open.
In the Tool menu, select “Firmware update”.
The “BoardUpdate” window opens. Click Select and choose the firmware update file.
After selecting the new firmware file, click the Update button in the lower right corner of the window. It's best to set the delay to 50.
The firmware update process begins.
If you receive a "CRC Check Error" message, increase the delay (e.g., by 50) and click Update again.
Wait for the firmware update to complete. On success, the message “Upgrade success, please reboot” appears, and on failure, “Upgrade failure” appears.
Post-Update Actions
After the firmware update is complete, you need to issue the “REBOOT” command, followed by the “LOG VERSION” command. If any field (except the last one) in the response to this command shows only zeros, you need to repeat the firmware update.
Then configure the receiver as described in the “Configuration” section and check the receiver firmware version at the bottom of the settings page.
Find the button to open the mosaic receiver's website on the Settings page and click it.
Updating Firmware
On the receiver's website that opens, go to the Admin menu and click the Upgrade option.
Click “Choose file” and select the firmware update file.
Then click the “Start Upgrade” button.
The firmware update process begins.
The firmware is updated. Click the “identification page” link to check the version.
Post-Update Check
Verify that the version number is correct.
Now proceed with the configuration as described in the “Configuration” section.
33. Detection
Step 1: Open Settings
To detect a GNSS receiver, you need to perform the “Detect” operation in the settings. Go to the Settings page, and to the right of “Main service”, click the Options button.
Step 2: Start Detection
Click the “Detect/Configure” button and select “Detect” from the drop-down menu.
Step 3: Detection Process
The detection process will begin automatically. Once completed, the receiver is detected.
Once completed, the receiver is detected.
Step 4: Save Receiver Settings
You can then click the Apply button to save the detected receiver's settings, including:
Port
Speed
Receiver name
Protocol type
These four settings will be used later during the receiver configuration.
Step 5: Select Protocol
Septentrio receivers can operate using either the rtcm3 protocol (default) or the sbf protocol. To select the sbf protocol, change the protocol after detection and then proceed with the configuration.
34. Receiver Configuration
Configuration
To configure the receiver, do as described in the “Detection” section, but click the “Configure” button.
After configuration is complete, click the “Close” button.
During configuration, the receiver speed is reset to 115200, and all services are disabled. If the receiver was not at 115200 speed and the configuration ended with an error, the receiver speed will not match the speed specified in the settings. In this situation, you need to perform detection as described in the “Detection” section. In general, detection is a universal way to fix various issues.
35. Changing the Speed
Changing the Speed
To reduce the delay time between measurements and data transmission, it can be helpful to increase the speed to 921600. However, equipment from some manufacturers may work unstably at this speed.
If you want to change the speed, simply adjust it in the settings and click the Save button. During saving, the receiver is reconfigured to the required speed. However, although you can enter any speed, only the speeds 115200:8:n:1, 230400:8:n:1, 460800:8:n:1, 921600:8:n:1 are allowed. All other speeds are not allowed.
Manually changing other parameters (except for speed, coordinates, and antenna name) is strictly not recommended.
When the Save button is clicked, all services are stopped. If the main service was running at the time of clicking Save, it will restart, but the other services will remain stopped.
36. Configuring the Septentrio Receiver
Septentrio Mosaic Website
Find the button to open the mosaic receiver's website on the Settings page and click it.
On the website that opens, you can configure the receiver.
RxTools
You can use RxTools utilities (such as RxControl) to configure the Mosaic X5 receiver. To do this, connect via TCP/IP, using rtkbase.local or the Raspberry Pi's IP address as the address, and port 28784 as the port number.
Internet Access
The Mosaic X5 receiver is connected to the Raspberry Pi via USB. This means the receiver has the address 192.168.3.1, and the Raspberry Pi performs NAT functions for it. The Mosaic X5 receiver has nearly full internet access with a few exceptions:
For incoming connections (IPR or the receiver's built-in NTRIP caster), only ports 3000-3009 (both TCP and UDP) are available.
FTP access is not functional. Since the Mosaic X5 does not have its own SD card, FTP is unnecessary.
The Mosaic X5 acts as the time server (NTP and PTP protocols), not the Raspberry Pi.
Access to the Mosaic X5's web interface is through port 9090, while ports 80 and 443 are routed to the Raspberry Pi.
DNS servers 8.8.8.8 and 1.1.1.1 are used for the Mosaic X5.
The setting “Outgoing Internet Access Over USB” must not be disabled.
The setting “Ethernet Interface Mode” must not be enabled.
The “TCP/IP Settings” must be set to DHCP.
37. Advanced Receiver Settings to Maximize Onocoy Quality on ELT_RTKBase
Improving Quality for Onocoy Through Receiver Settings
The Onocoy quality scale is influenced not only by antenna placement but also by various receiver characteristics. While antenna positioning, multipath effects, Axial Ratio, and other RF-related factors are covered in detail in our blog, this section focuses on the simpler adjustments—receiver settings. For deeper context, we recommend reading the “Quality Scale” section in the Onocoy documentation.
Board Design
Poor PCB design can significantly degrade performance. Fortunately, this is rare and typically limited to DIY projects or boards from unknown manufacturers. So far, none of Onocoy’s partners have supplied poor-quality boards. For DIY builds, it’s recommended to carefully inspect the quality of the trace leading to the antenna input, and to check for possible interference entering via the antenna input or receiver power supply—especially noise from the processor or its clock circuitry.
Receiver Type
This plays a crucial role in performance. It’s not only about the number of satellite systems or signal bands supported. Onocoy’s Phase RMS scale directly correlates with the receiver's ADC resolution. Firmware updates can add signal support, but cannot change ADC bit depth.
Receiver Options
Septentrio refers to them as Permissions, while uBlox calls them Fuses. These are feature sets configured at the time of sale. For example, a cheap board with a Mosaic-X5 chip may lack base station mode. Always verify available permissions before purchase.
Receiver Firmware
Firmware can have a minor or major impact. It might enable new signals, fix bugs, or add features. Minimum and recommended versions are listed in “Checking the Receiver Firmware Version”. It's highly recommended to use the latest firmware, especially for Mosaic X5 and Bynav M10/M20, where firmware has significant influence.
Signal Support
Many base stations aren’t fully configured for CORS-level output. Surveying stations often limit signal output to save bandwidth, and the Mosaic-X5 is similarly conservative by default. Enable all signals using the commands:
setSignalTracking, allsetRTCMv3Formatting, 1, all
This can improve the quality score by as much as 0.200. One Onocoy partner failed to apply both commands, which led to severely degraded scores. If you hear claims that Mosaic-X5 is worse than UM980, it's likely due to incomplete configuration.
SBAS Signals
SBAS corrections are not considered by Onocoy, so on many receivers it’s sufficient to simply disable SBAS corrections. However, the Mosaic-X5 receiver has only 62 channels, and SBAS satellites can occupy up to 9 of them, which significantly limits the number of tracked satellites. Therefore, on the Mosaic-X5, it’s recommended to use the command setSatelliteTracking, -SBAS to disable SBAS satellites. On the Unicore UM980 receiver, we use the command CONFIG SBAS DISABLE for the same purpose
GPS L5 Signal
Until at least 24 GPS satellites transmitting the L5 signal are fully deployed in orbit (expected around 2027), this signal is typically marked as “unhealthy.” Single-frequency receivers relying solely on L5 will perform poorly. However, Onocoy still considers this signal valid in multi-frequency configurations.
Some receivers offer specific settings to enable or disable the use of the L5 signal. One Onocoy partner recommends enabling GPS L5 on Mosaic X5 using:
setHealthMask, Tracking, off
However, with the latest Mosaic X5 firmware, this step is unnecessary.
Unhealthy Satellites
Mosaic-X5’s setHealthMask, Tracking, off enables tracking of “unhealthy” satellites/signals. Onocoy excludes these from the quality score but includes them in “Sky Visibility” and “Code RMS” graphs. To avoid skewed metrics, disable Beidou-3 experimental satellites with:
setSatelliteTracking, -C31-C56-C57-C58
Dynamics Mode
Surprisingly, not all receivers automatically adjust their dynamic behavior—such as tightening code and phase tracking loops—when set to base station mode or assigned fixed coordinates. In the Mosaic X5 receiver, this behavior must be configured explicitly using the following command:
setReceiverDynamics, Low, Static
This improves “Code RMS” and “Phase RMS”."
Multipath Mitigation
Multipath is one of the key factors that reduces a station’s reward by degrading the “Code RMS” and “Phase RMS” metrics. In Mosaic X5 receivers, the APME+ multipath mitigation technology is enabled by default. While effective, this feature may introduce a small amount of noise. For base stations with an excellent antenna placement—clear of reflective surfaces—you can disable this function using:
setMultipathMitigation, off, off
Unicore UM980 receivers feature a similar multipath mitigation system, which can be enabled with::
CONFIG MMP ENABLE
As with the Mosaic X5, this function can also be disabled in high-quality installations to reduce any unnecessary processing
Code Smoothing Using Carrier Phase
This improves the Code RMS metric. On Mosaic X5, we currently apply:
setSmoothingInterval, all, 60, 60
But using:
setSmoothingInterval, all, 300, 30
may yield better results. For other receivers, this function is planned to be implemented via software in future versions of ELT_RTKBase
Measurement Resync
Disabling this slightly improves measurement quality on UM980:
CONFIG RTCMCLOCKOFFSET DISABLE
Elevation Mask
One limitation of the Mosaic X5 receiver is its relatively small number of tracking channels. To prevent satellites from competing for limited channels, we reduce the elevation mask using the command:
setElevationMask, Tracking, 5
This setting filters out low-elevation satellites, prioritizing those with higher elevation angles. If your receiver has enough available channels, you can lower the elevation mask to 1 or even 0.
According to Onocoy information, only satellites with an elevation above 10° are considered in the quality score calculation. However, it seems that all tracked satellites are shown in the visualization. Interestingly, tests show that reducing the mask can actually increase reward scores.
For receivers with a higher number of channels, it’s recommended to set the elevation mask to 0.
Unicore UM980:MASK 0
Bynav M20:ECUTOFF 0
Signal Strength Mask
According to Onocoy, GNSS signals with an SNR below 34 are excluded from quality scoring. However, limiting the minimum SNR threshold to 32+ has been shown to increase the quality score—possibly because weak signals are excluded in some metrics but still impact others. To set an SNR mask:
Mosaic X5:
setCN0Mask, all, 32
UM980:
MASK RTCMCN0 32
Bynav M20:
SNRCUTOFF 32
In addition, it’s recommended to raise the threshold for GLONASS signals on the Unicore UM980 to 36+, since weak GLONASS signals tend to degrade both the “Code RMS” and “Phase RMS” metrics. For this, use:
MASK RTCMCN0 36 GLO
Whether the Mosaic X5 would also benefit from a similar adjustment is currently unknown.
Credits
These recommendations are informed by documentation from ArduSimple and SparkFun. If you use this guide, please credit our efforts.
38. Modifying Receiver Settings
Settings updates during firmware upgrades
If a new version of ELT_RTKBase includes improved configuration defaults, the receivers are automatically updated with the new settings during the upgrade process. As a result, modifying receiver settings manually is generally only necessary if you want to go beyond the standard optimization and implement something not yet included in the firmware.
Modifying Settings via SSH
The most reliable method for customizing receiver settings on ELT_RTKBase stations is through SSH access. Log in via SSH, then use sudo to edit the configuration files located in:
/usr/local/rtkbase/rtkbase/receiver_cfg
After editing the necessary settings files, apply the configuration as described in the section titled “Configuration”.
To configure a receiver on ELT_RTKBase over TCP, first enable the “Rtcm TCP service”. Then open a command prompt on a Windows machine and run the following command:
NmeaConf +rtkbase.local:5016 andlt;fileandgt;
Here, andlt;fileandgt; refers to one of the configuration files listed in the table above. The NmeaConf utility and its documentation are available on GitHub.
Modifying Settings via USB
For budget ELT_RTKBase stations, receiver settings can be configured via the USB Type-C port on the enclosure. Open a Windows command prompt and run:
NmeaConf COM11 andlt;fileandgt;
Replace COM11 with the actual COM port assigned to the USB-serial interface by Windows, and andlt;fileandgt; with the appropriate configuration file. Again, the NmeaConf utility and its documentation are available on GitHub.
Modifying Settings on Receivers in Third-Party Miners
If your Unicore UM980 receiver is installed in a miner from another manufacturer, configuration is also done via USB as described above. Surprisingly, some such devices require opening the enclosure and moving a jumper using a screwdriver before configuration is possible.
Modifying Mosaic X5 Settings via its Web Interface
Download the configuration file from GitHub. Then open the web interface of your Mosaic X5 receiver and navigate to Admin → Configuration. Copy the RxDefault configuration into User2 to clear it. Click the blue-circled arrow to upload the downloaded configuration file into User2. Once loaded, copy it into both the Current and Boot configurations.
39. Determining Coordinates
Determining Coordinates
Determining coordinates is necessary to find the exact coordinates of the antenna. Start with a rough determination of coordinates using the built-in PPP, then refine the coordinates using one of the more accurate methods. Before determining coordinates, be sure to read the section on accuracy and stability on our blog.
Frames and Epochs
It is very important to remember about frames and epochs. Ublox has a good tutorial on this topic, and a brief explanation can also be found on Onocoy. The PPP and HAS methods give results in the ITRF frame associated with the Earth's center, while the RTK methods sometimes use the ETRF frame associated with continents. The difference between frames in Europe is currently about 80 centimeters, so it is recommended to use a frame calculator for conversion.
Determination Time
The determination time should be no less than a full day, ideally 23 hours and 56 minutes (86160 seconds). For high accuracy, it is better to use several daily RTK measurements and perform adjustment. The most accurate way is to hire a surveyor or use a paid service.
Antenna Stability
The main condition is that the antenna should not move relative to the ground. High bending masts are not suitable.
Specifying Coordinates
When specifying coordinates, there are two main options:
If coordinates 0.00 0.00 0.00 are specified, the receiver determines its coordinates by averaging the autonomous solution within a minute.
If other values are specified, the receiver tries to establish them.
If the coordinates are incorrectly specified (more than 50 meters from the value determined by the receiver), the Unicore receiver will not work. In this situation, only the Beidou and QZSS satellites will be visible on the Status page. To avoid this, when specifying incorrect coordinates in the settings, the receiver uses the averaged value of the autonomous solution. The indicator next to “Main service” will be orange, not green.
Status Indicator Colors
Green — everything is fine.
Yellow — the service is running with errors.
Red — the service is not running.
Blue — the service is currently in the process of starting up.
Determining Coordinates using the PPP Method
To determine coordinates using the built-in PPP, go to the Status page after a day and copy the coordinates as described “Checking Satellite Reception”. Note that each time the base coordinates or other main service settings are changed, the PPP refinement process starts from scratch.
40. WinRtkBaseUtils Package
Download and Unpack
Insert the SD card sent to you into your computer's card reader and download the self-extracting archive WinRtkBaseUtils.exe to your hard drive. You can also download this archive from GitHub using the provided link.
Run the file to unpack it. During the run, you can choose the folder for unpacking and click the Extract button.
Sometimes the antivirus may give a warning, and you need to explain to it that this file is safe. For example, Microsoft Defender may display the following message. In this case, click “More Info”.
Next, click “Run anyway”.
Important Requirements
Important Requirements
To determine coordinates using the WinRtkBaseUtils package, you must enable the “Rtcm tcp service” by clicking the “On/Off” button to the right of “Rtcm tcp service”, and after determining the coordinates, disable it again. Enabling this service allows access to change the receiver settings from outside the Raspberry PI, and in the worst case, even outside your local network. The list of messages for this service is obsolete and does not affect anything.
Moreover, if there were failures during the execution of RTK.bat or HAS.bat, you must reconfigure the receiver as described in the “Configuration” section. The WinRtkBaseUtils package reconfigures the receiver, and in case of a failure, it must be reconfigured back.
It is not possible to run multiple RTK.bat or multiple HAS.bat from the same directory simultaneously, even with different Raspberry pi and receivers. This is due to the impossibility of simultaneous use of the same temporary file. Trying to do this will result in a message like the one shown in the picture.
If the receiver firmware version is outdated, there may be messages like the one in the picture. In this case, check the receiver firmware version as indicated in the “Checking the Receiver Firmware Version” section.
After changing coordinates by clicking the Save button, all services are stopped. If the “Main service” was running at the time of clicking Save, it will restart, but the other services will remain stopped.
Determining Coordinates via RTK
RTK stability on Unicore receivers is about 4 mm CEP50 horizontally and 8 mm CEP50 vertically. Accuracy is approximately 1mm per kilometer of distance between the receiver and the base. For increased accuracy, network corrections with virtual bases should be used.
Before using this method, you need to locate a nearby base station and obtain its NTRIP v1 parameters. This could be a free base station from the IGS. EUREF, RTK2go networks, or a paid station from Onocoy, Geodnet, or other providers. I can't say which network is most popular in your country—that depends on local conditions.
It’s important to determine which reference frame your base station uses and which frame you intend to use for your own coordinates. The RTK method provides coordinates in the same reference frame as the base. If needed, you can convert the resulting coordinates using a reference frame transformation calculator. Onocoy provides a clear explanation of what reference frames are and why there are two of them (ITRF for GNSS and ETRF for mapping).
To determine coordinates using RTK, run the RTK.bat file. In the opened window, enter the receiver address and port. If you use Raspberry pi on the local network, do not change them. Then enter the address, port, mount point, login, and password for the NTRIP server, as well as the measurement time. The entered parameters are saved in the Ini.cmd file.
Communication with the receiver and server is checked, then the receiver is configured, and then RTK starts.
In the end, the coordinates are copied to the clipboard and displayed on the screen, and the receiver is configured back to base mode. For early termination, press the Q button. After completion, press any key to close the window.
Determining Coordinates via HAS (Only Unicore)
Determining coordinates using the HAS method is available only for Unicore receivers. To do this, run the HAS.bat file. In the opened window, enter the receiver address and port. If you use Raspberry pi on the local network, do not change them. Then enter the measurement time. The entered parameters are saved in the Ini.cmd file.
Communication with the receiver is checked, then the receiver is configured.
HAS resolution starts in 2–10 minutes.
In the end, the coordinates are copied to the clipboard and displayed on the screen, and the receiver is configured back to base mode. For early termination, press the Q button. After completion, press any key to close the window.
41. Determining Coordinates via External Services
Determining Coordinates via External Services
Using External RINEX Services
Another method is to use an external RINEX post-processing service operating in your region. For example, for France, IGN services (instruction) and Orpheon are suitable, and for the rest of the world, NRCAN. Such services are usually paid.
Recording the Measurements
First, enable the “File Service” and record the measurements. You need at least one full day according to Greenwich. The fact that recording is in progress is visible on the Logs page by the increasing size of the rtcm3 file. For this, only one file should be recorded per day. Turning off the device or stopping the file or main service will result in the daily archive being unsuitable for conversion to RINEX.
Converting to RINEX
After recording, go to the Logs page. Click on the pencil icon next to the full-day ZIP archive file. Unfortunately, only ZIP-format files can be converted to RINEX. Ideally (and for Centipede), use an archive older than 15 days so that the service can form final satellite orbits.
A window like this will open. For NRCAN, select “Nrcan”, for IGN - “Ign”, and click the “Create RINEX file” button.
A message indicating the file creation process appears. Wait a few minutes.
The RINEX file is created. Click “Download it!” to download it.
During the download, a message about unsafe downloading may appear. Click “keep”. The downloaded file size is 6-8 megabytes.
After downloading, the created file can be seen in the log list for re-downloading.