Software Setup
ESP32 Firmware
We have intentionally kept the ESP32 firmware as simple as possible - supporting only two modes: Ethernet (mode 1) and WiFi (mode 2). The intention is that you can easily develop your own firmware for the RTK mosaic-X5 using the Espressif ESP IDF if the SparkFun firmware does not meet your needs.
You can of course modify the hardware too, should you want to. The design is completely open-source.
Limitations
The ESP32 firmware we provide is only compatible with basic SSID
and Password
WiFi authentication. The firmware is not compatible with networks that implement other provisioning methods such as a QR code or a captive portal.
Note
The mosaic-X5 module has numerous capabilities and a multitude of ways to configure and interface with them. Without regurgitating all the information that is documented in Septentrio's user manuals and videos, we have tried to highlight a good majority of the module's aspects.
With that said, please feel free to file an issue if you feel we have missed something that may benefit other users. (Don't forget to provide us with a link to the documentation and what section the information is located.)
mosaic-X5
RxTools Software Suite
Tip
Even if you aren't necessarily interested in it, we highly recommend that users install the RXTools software suite before plugging in their board. For Windows PCs, it also includes the USB driver for the module that enables the Ethernet-over-USB support and virtual COM
ports.
Users should install the RXTools software suite on their computer to interact with the mosaic-X5 module through the USB interface. The software package includes the USB-IP driver1 necessary to recognize the board as an ethernet device on Windows PCs (1).
- On Linux, the standard Linux CDC-ACM driver is suitable.
System Requirements2
- Windows 7
- Windows 8
- Windows 10
- Fedora 23 (or later) using Qt technology.
- The standalone tools (except
bin2asc
) will run on older distributions.
- The standalone tools (except
The minimal hardware requirements (1Hz update3):
- CPU: 1 GHz processor
- RAM: 1 GB RAM
- Screen Resolution: 1024×768 or higher resolution
Installation Instructions2
Users can install RxTools software suite by running the installation executable4(1), located in the RxTools\windows
directory of the downloaded *.zip
file5. During the installation process, users will be notified if a previous version of RxTools is already installed then the previous version will be uninstalled. Next, users will need to provide an installation directory for the RxTools software suite. Users will then select which of the following applications6 are installed:
- For RxTools v22.1.0, the installation filename is
RxTools_22_1_0_Installer.exe
for Windows PCs.
- RxControl
- SBF Converter
- SBF Analyzer
- RxLogger
- RxUpgrade
- RxDownload
- RxPlanner
- Data Link
- RxAssistant
- RxLauncher
Warning
It is recommended that users NOT install RxControl as root
, for security reasons and to avoid installation overwrites of other system settings. To make RxTools available to more than one user, provide a shared installation directory.
Users can install RxTools software suite by running the installation binary4(1), located in the RxTools/linux-i386/
directory of the downloaded *.zip
file5. During the installation, users will be prompted for an installation directory. If there are any previous installations of RxControl, please use a different directory to avoid conflicts.
- For RxTools v22.1.0, the installation filename is
RxTools_22_1_0_Installer.bin
for Linux.
Permission Settings
Once installed, users may need to reconfigure their permission settings:
-
RxTools will need rights to access the
/dev/ttyS*
serial ports.-
To access the serial ports, users must be part of the
uucp
andlock
groups (1). This can be configured by editing the/etc/group
7 file and adding the username to the lines defining theuucp
group and thelock
group.For example, when adding the user
jsmith
to theuucp
group, users would modify the/etc/group
file as shown below: -
On Linux machine administered centrally on a local network, ask your system administrator to be included in the
uucp
andlock
groups.
-
-
RxTools also needs read/write (
rw
) access(4) to the/dev/ttyS*
serial ports.-
Users can change the permissions with the
chmod
8 command:
-
- On most Linux operating systems, the
/dev/ttyS*
devices are owned byroot
and belong to theuucp
group with read/write (rw
) access. Additionally, the devices are normally locked by writing a file in the/var/lock/
directory, with the same permissions. - Remove
- Replace with this line
- By default, users will normally have read/write (
rw
) access to the/dev/ttyS*
serial ports. - where users must specify the port number
e.g./dev/ttyS0
might be portCOM1
Note
In order for these changes to take effect, users must update their environment by logging out and back in.
Be aware that the X-session has to be restarted as well. On most systems, this can be done by pressing the key combination Ctrl + Alt + Backspace
64-bit OS
In order to run the RxTools on a 64-bit Linux operating system, users might have to install the 32-bit version of the C
standard library.
- For Fedora installations, this is the
glibc.i686
package. - The equivalent for Debian(/Ubuntu) installations is the
ia32-libs
package.
USB Driver
If users haven't already installed the RxTools software suite on their Windows PC, they will need to install the USB driver1 necessary to recognize and interact with the mosaic-X5 module through the USB interface.
A Windows USB driver for the mosaic-X5 can be installed through two methods:
- RxTools Software Suite (1)
- mosaic-X5 GNSS Receiver Module (2)
- The driver is installed during the installation process.
- The installation file for the Windows USB driver will be available from the mass-storage device when the board is initially connected to the computer.
Once installed, the driver emulates two virtual serial ports, which can be accessed as standard COM
ports to the receiver.
Terminal Emulators
Most terminal emulation programs will not make a distinction between virtual or native COM ports. However, for virtual serial ports, the port settings (i.e. baud rate, etc.) are not relevant and the default configuration is used in the terminal emulation program. However, the physical/native COM
ports will have the following default setting:
- Baudrate: 115200bps
- Data Bits: 8
- Parity: No
- Stop Bits: 1
- Flow Control: None
Having Trouble?
For users who are having trouble installing the USB driver, we have an archived version (v3.0.29) of the installation file. Users can download version 3.0.2 of the driver, by clicking on the button below.
On Linux, the standard Linux CDC-ACM driver is suitable for the mosaic-X5 module.
Web Interface
With the USB driver installed, the mosaic-X5 module supports Ethernet-over-USB. The default IP address allocated for the Ethernet-over-USB interface is 192.168.3.1
. This IP can be entered in any browser to open a connection to the receiver's Web Interface as shown below.
Info
The default IP address cannot be changed; this feature is only to be used when a single receiver is connected to your computer.
Invalid IP Address (WiFi Only)
One of the documentation pages on Septentrio's website, specifies a default IP address of 192.168.20.1
for the web interface. However, that address is for a WiFi enabled product and cannot be used with this product.
ESP32
USB Driver
Users will need to install a USB driver for the CH340 serial-to-USB chip, in order to communicate with the ESP32 module. The latest USB drivers for the CH340 are available from the manufacturer, on the WCH website:
Need Directions?
For users having trouble installing the CH340 USB driver, check out our video and hookup guide:
Terminal Emulator
In order to configure the WiFi settings on the ESP32, users will need to install a serial terminal emulator on their computer.
For Windows computers, we highly recommend TeraTerm.
Some Linux operating systems will already have the screen
terminal emulator preinstalled.
Need Directions?
Check out our hookup guide to install your favorite terminal emulator:
WiFi Credentials for the Network Bridge
With the CH340 USB driver and a terminal emulator installed, users will now be able to configure the WiFi credentials on the ESP32. In order for the firmware to operate properly, users should have their RTK mosaic-X5 assembled with the network bridge in WiFi Mode.
1
- Open a Serial Terminal- Open the connection to the CH340 using a baud rate of 115200bps
2
- Put the ESP32 firmware into WiFi mode-
- When you have the Serial Terminal open, you should see the
RTK_X5>
console prompt. If you do not, hit Enter on your keyboard. If needed, click the RESET button on the front of the RTK mosaic-X5 to restart the ESP32 firmware.
-
Type
help
and hit enter to see the help. -
Type
show
to see the current configuration. -
By default the firmware will be in Mode:
1
(Ethernet). To change the mode to Mode:2
(WiFi), we type: -
To set the WiFi SSID, type one of:
-
Likewise, to set the WiFi password, type one of:
-
To save time, you can set all three together with one of:
-
-
Finally, type
restart
to restart the firmware with the new settings:
- When you have the Serial Terminal open, you should see the
Once the mosaic-X5 has acquired a satellite signal and is connected to the WiFi network, the OLED will display the antenna's position as Latitude (Lat), Longitude (Long) and Altitude (Alt); the WiFi IP (Internet Protocol) network address. The firmware mode, SSID and password are stored in flash (non-volatile) memory. After changing them, you can disconnect the computer and power the RTK mosaic-X5 using the supplied wall adapter.
Info
When powering the RTK mosaic-X5 on for the first time, you may see the firmware restart (reboot) several times while it waits for the mosaic-X5 to initialize. This is not an error or anything to be concerned about.
With the RTK mosaic-X5 operating with the configured WiFi network bridge, users should be able to open a web browser on any connected device and navigate to the IP address shown on the OLED display. The browser should be able to access the mosaic-X5's internal web page, where users can configure the mosaic-X5.
-
On Linux, the standard Linux CDC-ACM driver is suitable. ↩↩↩
-
The system requirements and installation instructions are from the RxTools v22.1.0 user manual. This information may change in later iterations of the software suite. Please refer to the user manual (of the version you are utilizing) for the most accurate information. ↩↩
-
Higher data rates will require higher CPU speed and more memory capacity. ↩
-
Users will need administrative privileges to install the RxTools software. ↩↩
-
Users may need to extract the RxTools installation files from the downloaded, compressed file. ↩↩
-
Please see the release notes for the issues and limitations of the RxTools applications. ↩
-
Requires c privileges. ↩
-
Changing these permissions also requires
root
privileges. ↩ -
For the latest USB driver from Septentrio, please install their driver through the RxTools software suite.
This driver version was archived at the time that the mosaic-X5 hookup guide was written. Please do not request for the file to be updated. ↩