Skip to main content
Read Before Handling PCB!
ESD Sensitivity

The mosaic-X5 module is sensitive to ESD. Use a proper grounding system to make sure that the working surface and the components are at the same electric potential.

ESD Precaution

As recommended by the manufacturer, we highly encourage users to take the necessary precautions to avoid damaging their module.

  • The PCB is not grounded through the enclosure.
  • The PCB features ESD protection on the USB-C connectors and ethernet jacks.
  • The mosaic-X5 module also has ESD protection from the ANT_1 antenna input.

iFixit Anti-Static Wrist Strap

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 SXM-E 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.

Provisioning 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 captive portal, a QR code, or Wi-Fi protected setup.

Hardware Overview

In this section, we walk you through the hardware design, interfaces, I/O connections, power options and more.

info

The SXM-E is inspired by the Septentrio mowi (mosaic wireless) open-source design. The SparkFun design builds upon mowi, adding: separate Ethernet ports with mag jacks and Power-over-Ethernet; robust I/O headers with screw cage connections and configurable I/O voltage (3.3V or 5V); µSD data storage; and an OLED display.

Power

The mosaic-X5 and the ESP32 both required 3.3V power. To simplify the power circuitry, the four power sources are combined into a common 5V rail which then feeds individual 3.3V 1A regulators for the mosaic-X5 and the ESP32.

Power connections

Power connections on the SXM-E PCB.

The SXM-E can be powered individually or in combination, with any of the following:

  • USB Ports - 5V; delivered via the MOSAIC CONFIG and/or ESP32 CONFIG USB-C connectors.
  • Power-over-Ethernet (PoE) - Range: 36 to 57V; delivered via the MOSAIC ETHERNET RJ45 MagJack connector.
  • External DC Power - Range: 9 to 36V; delivered via the VIN+ and VIN- screw cage terminals.
Measure Current Draw

If you want to measure the board's current draw, you can open the MEAS jumper and measure the current via a pair of breakout pads (see the Jumpers section).

Protection Components

Diodes are used to combine and protect the power sources from each other. Also, a 2A resettable fuse (green) provides additional protection.

info

For more details, users can reference the schematic and the datasheets of the individual components on the board.

The mosaic-X5 and ESP32 both have USB-C connections. These USB ports can be used to power the SXM-E during the initial configuration when the mosaic-X5 or ESP32 are connected to a computer.

USB-C Connectors

USB-C connectors on the SXM-E.

USB-C Power Connections

The USB-C device connections on the SXM-E PCB.

CH340 Driver

The CH340 allows the ESP32-WROVER to communicate with a computer/host device through the USB-C connection. This allows the ESP32 to show up as a device on the serial (or COM) port of the computer. Users will need to install the latest drivers for the computer to recognize the CH340 (see USB Driver section).

mosaic-X5

The heart of our product is of course the mosaic-X5 GNSS module from Septentrio. It is a very sophisticated chip with multiple interfaces: UARTS, USB and Ethernet. The COM2 and COM3 UART pins, plus GPIO1 and GPIO2, are available as 0.1" test points should you need access to them.

mosaic X5

The Septentrio mosaic-X5 GNSS module.

ESP32-WROVER

The only interface the mosaic-X5 doesn't offer is WiFi and that's why we've included an Espressif ESP32-WROVER processor (16MB flash, 8MB PSRAM) with its own Ethernet connection. You can connect the mosaic-X5 directly to your Ethernet network - our product supports Power-over-Ethernet too. Or you can link the mosaic-X5 Ethernet port to the ESP32 Ethernet port and have the ESP32 provide WiFi connectivity. In that mode, the ESP32 becomes an Ethernet to WiFi Bridge, seamlessly passing WiFi traffic to and from the mosaic-X5 via Ethernet.

Espressif ESP32

The Espressif ESP32-WROVER processor.

Think of the ESP32 as a co-processor, or riding shotgun... The mosaic-X5 COM4 UART is linked to the ESP32, allowing the two to communicate directly without needing the Ethernet link. In our firmware, the ESP32 requests NMEA GGA data over this link and then displays it on the I2C OLED display.

WiFi Network Compatibility

The ESP32 is only compatible with 2.4GHz bands and cannot access the 5GHz band.

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 SXM-E 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.

Provisioning 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 captive portal, a QR code, or Wi-Fi protected setup.

Ethernet PHY Interfaces

The mosaic-X5 and ESP32 have identical KSZ8041NLI Ethernet PHY interfaces, both connected using Reduced Media-Independent Interfaces (RMII). These allow the mosaic-X5 and ESP32 to be linked directly to your Ethernet network or router, or to each other when the ESP32 is acting as an Ethernet-to-WiFi Bridge.

KSZ8041NLI Ethernet PHY

Ethernet connections: ESP32 (left) and mosaic-X5 (right).

KSZ8041NLI Ethernet PHY

The two Ethernet physical layer interfaces and connections.

USB-C Connectors

The mosaic-X5 and ESP32 both have USB-C connections. The MOSAIC USB port is high-speed and connected to the X5 through a balancing transformer. The ESP32 USB port is connected through a CH340 USB-UART IC.

USB-C Connectors

USB-C connections: mosaic-X5 (left) and ESP32 (right).

USB-C Power Connections

The USB-C data connections on the SXM-E PCB.

info

The SXM-E can draw power from either or both USB ports, in addition to Power-over-Ethernet and the DC-DC external input described above.

CH340 Driver

The CH340 allows the ESP32-WROVER to communicate with a computer/host device through the USB-C connection. This allows the ESP32 to show up as a device on the serial (or COM) port of the computer. Users will need to install the latest drivers for the computer to recognize the CH340 (see USB Driver section).

µSD Socket

The µSD socket is connected directly to the mosaic-X5 via a one-bit SDIO interface for fast data logging. The mosaic-X5 supports µSD cards with a FAT32 file system (i.e. only cards up to 32GB in size).

micro SD socket and log button

µSD slot and LOG button.

micro SD socket and log button

µSD socket and Log button on the SXM-E PCB.

Operation Instructions
Initial Configuration

Before logging can take place, it is necessary to define a "logging stream" using the Logging page or RxTools. Streams can contain NMEA or SBF (Septentrio Binary Format) data; SBF can contain RTCM and/or RINEX.

Logging stream configuration

µSD logging stream configuration.

Once the stream is defined, users can control the data logging operation through the LOG button.

  • A short press of the LOG button (< 5s) toggles data logging to the SD card on and off.
  • The red LOG LED will flash while logging is taking place.
  • A long press, holding the LOG button for more than 5 seconds (> 5s) and then releasing it, will force the board to:
  • Unmount the SD card if it was mounted
  • Mount the SD card if it was unmounted

SMA Connectors

The SXM-E has robust SMA connectors for the mosaic-X5 GNSS antenna and the ESP32 WiFi / BT antenna.

SMA RF Connections

The SMA connector for the GNSS antenna.

SMA RF Connections

The connection for the GNSS antenna to the mosaic-X5.

The mosaic-X5 SMA connector is standard polarity and provides 5V power for an active antenna.

SMA RF Connections

The RP-SMA connector for the WiFi/BLE antenna.

SMA RF Connections

The connection for the WiFi / BLE antenna to the ESP32.

The ESP32 WiFi / BT SMA connector is reverse-polarity (RP). A short u.FL cable connects the SMA connector to the ESP32-WROVER itself.

Connector Polarity

When selecting antennas and/or cables for the SXM-E, double-check the polarity for the connections.

I/O Terminals

The RTK moasic-X5 is equipped with two 10-way 3.5mm screw cage terminal connectors.

IO Connections

I/O Screw Terminal Connections.

IO Connections

I/O Screw Terminal Connections on the SXM-E PCB.

These terminals are described in the tabs below. For more information on the I/O terminals, you can refer to the schematic.

The VIN+ and VIN- terminals allow the SXM-E to be powered by an external DC power source - typically a 12V / 24V vehicle battery.

TerminalFunction
VIN+External voltage: Min: 9V; Max: 36V
VIN-Ground / Chassis / 0V
info

The DC-DC converter in the SXM-E provides 1.5kV isolation between VIN+/VIN- and 5V/GND. There is no direct electrical connection between VIN- and GND.

Ground Loop

If desired, users can link VIN- to the adjacent GND screw cage terminal. However, this will bypass the voltage isolation and could introduce an unwanted ground loop, particularly if the GNSS antenna ground (shield, 0V) is also connected to the chassis.

Status LEDs

There are six status LEDs on the SXM-E:

  • PWR - Power (Red)
    • Illuminates when power is applied
  • LOG - µSD Logging (Red)
    • Solid Red - µSD card is mounted
    • Blinking Red - Data is being logged
    • Off - µSD is dismounted or not present
  • WiFi - WiFi (Green)
    • The ESP32 firmware is using WiFi
    • Connected to ESP32 GPIO pin 12
  • PVT - Position Velocity Time (Green)
    • Solid Green - The mosaic-X5 has valid Position, Velocity and Time
    • Off - Satellite signal not present or acquired
  • BT - Bluetooth (Yellow)
    • The ESP32 firmware is using BT
    • Connected to ESP32 GPIO pin 13
    • Not used by firmware v1.0.0
  • RTK - Real-Time Kinematic (Yellow)
    • Solid Yellow - The mosaic-X5 has an RTK Fixed solution
    • Blinking Yellow - The mosaic-X5 has an RTK Float solution
    • Off - No RTK solution

LEDs

The status indicator LEDs on the SXM-E.

LEDs

The status indicator LEDs on the SXM-E PCB.

OLED Display

The SXM-E has a 128x64 pixel OLED display, controlled by the ESP32 via I2C. After some initial diagnostic messages, the display will show position, time and other data from the mosaic-X5 NMEA GGA message, plus the Ethernet / WiFi IP address.

LEDs

The OLED display on the SXM-E.

  • Time: - Universal Time Coordinate (UTC) in HHMMSS.SS format
    • Note: the display is updated approximately every 2 seconds. The time shown may not be precise.
  • Lat: - Latitude in DDMM.MMMMMMM N/S format (this is the format used by the GGA message)
  • Long: - Longitude in DDDMM.MMMMMMM E/W format (this is the format used by the GGA message)
  • Fix: - the GNSS fix type
  • Sat: - the number of satellites used in the navigation solution
    • Note: this is not the same as "Satellites In View"
  • HDOP: - Horizontal Dilution Of Precision
    • Note: this is a dimensionless number indicating the horizontal position accuracy
  • Alt: - the Altitude in meters
    • Note: this is the altitude above Mean Sea Level, not Geoid
  • IP: - the mosaic-X5 IP address, obtained via Ethernet or WiFi
    • The X5's internal configuration page can be viewed at this address
Example Data

Below, is an example data set recorded on the SXM-E at SparkFun HQ; where the antenna was located on the roof of the building. The antenna was above the loading dock, just about where it is displayed on the map. The table, below, is an example of how to convert the information on the display into the time and coordinate values.

LEDs

Example information on the OLED display of the SXM-E.

DataFormatValue
Time191525.90HHMMSS.SS7:15:25.90 PM (UTC)
12:15:25.90 PM (MST)
Latitude4005.4192485 NDDMM.MMMMMMM N/S40° 5.4162485' N
40° 5' 24.97491" N
40.090270808° N
Longitude10511.0873663 WDDDMM.MMMMMMM E/W105° 11.0873663' W
105° 11' 5.241978" W
105.184789438° W
The location of the antenna on Google Maps, as determined from the coordinates on the OLED display. Source: Google Maps

Buttons

There are three buttons on the SXM-E: RESET, BOOT, and LOG.

Buttons

Buttons on the SXM-E.

Buttons

Buttons on the SXM-E PCB.

Once a logging stream is defined, users can control the data logging operation through the LOG button.

  • A short press of the LOG button (< 5s) toggles data logging to the SD card on and off.
    • The red LOG LED will flash while logging is taking place.
  • Holding the LOG button for more than 5 seconds (> 5s) and then releasing it, will force the board to:
    • Unmount the SD card if it was mounted
    • Mount the SD card if it was unmounted

Jumpers

Never modified a jumper before?

Check out our Jumper Pads and PCB Traces tutorial for a quick introduction!

How to Work with Jumper Pads and PCB Traces

Check out our Jumper Pads and PCB Traces tutorial for a quick introduction!

There are several jumpers on the RTK moasic-X5 PCB which can be used to (e.g.) disable the LEDs or allow measurement of the board's current draw.

Jumpers

The jumpers on the top of the SXM-E PCB.

  • POE LOAD - This jumper can be used to disconnect the Power-over-Ethernet (PoE) module 50Ω load.
    • The PoE module has a minimum load of 100mA. We included the 50Ω load to ensure this is met. If you can ensure this by other means, open this jumper to disconnect the load.