What is mowi?
The mowi is an Open Source hardware project that combines a compact Septentrio's GNSS receiver mosaic with a wireless ESP32 Wrover module. This extension enables mosaic to access wireless internet, receive remote commands, or use real-time corrections. The communication between the mosaic and the ESP is provided throughout a standard 802.3 Ethernet link. In-build USB HUB allows a user to connect to mowi with a single USB cable while accessing both the mosaic's and ESP's communication interface.
To support an easy-to-use evaluation and offer a high connectivity, the mowi exposes various interfaces. This includes four JST lock connectors compatible with Pixhawk, external GNSS, or other Septentrio's modules. Shared USB micro B port with an ESP dedicated autoflash circuitry for convenient programming. Support of single or dual antenna setup in MMCX or U.FL connectors. In-build eMMC device for easy data logging. And a separate SMA connector for an external WiFi/Bluetooth antenna. On top of that, the mowi comes with various perks, such as indication LEDs, selectable TTL voltages, or support for external sensors and other advanced circuitry.
Table of contents
- What is mowi?
- Table of contents
- What is the mosaic module?
- How to use mowi?
- How to produce mowi?
- Mowi user documentation
What is the mosaic module?
Mosaic modules are Septentrio's small-size and low-power GNSS receiver modules ideal for providing highly accurate positions. Mosaic modules integrate the latest generation of GNSS technology, delivering highly accurate positions with minimal power consumption. While compact in size they fully retain the high-reliability and exceptional accuracy performance that Septentrio receivers are known for. True multi-frequency multi-constellation technology gives our module receivers access to every possible signal from all available GNSS satellite constellations including the U.S. GPS, European Galileo, Russian GLONASS, as well BeiDou, QZSS and NavIC. Septentrio’s advanced field-proven algorithms exploit this signal diversity to deliver maximum positioning availability and reference network compatibility. The mosaic's product range comes with three different versions. Their key features and differences are listed in the following table:
How to use mowi?
Basic hardware setup
Few external attachments have to be provided to enable mowi's full functionality. The following list sums them up. Note that it is not necessary to follow the order.
- Attach a short U.FL to U.FL cable to ESP Wrover's WiFi antenna connector and mowi's U.FL WiFi connector near
- Screw a WiFi antenna to mowi's WiFi SMA connector designated as
E.ANT. This antenna should be explicitly designed for the 2.4 GHz band and facilitate a male SMA connector.
- Connect a GNSS antenna to mowi's primary MMCX connector designated as
MAIN. An ordinary talisman antenna was used through the following examples.
- (optional, only for mowi with mosaic-H): Connect a GNSS antenna to mowi's secondary MMCX connector designated as 'AUX'.
The easiest way of communicating with mowi is through its USB interface. This example shows how to do so step by step while illustrating and explaining some basic functionality of the mosaic and ESP modules.
Connect mowi to your PC using a USB micro-B cable. Once attached, you should be able to see three new USB devices in your system. In the Linux terminal, run
lsusb command to check it out. You should see something similar to the following image, where the unblurred devices correspond respectively to i) ESP's UART bridge, ii) mosaic, and iii) mowi's USB HUB:
By default, the mosaic module supports Ethernet-over-USB. Therefore the easiest way how to access its information and configuration is through your internet browser. To do so, simply open the
192.168.3.1. IP address in your favorite browser and automatically enter the mosaic's web interface. In a case of a happily running mowi, you should see something similar:
Another simple option of communication with the mosaic module is through its COM ports. These ports should be visible in your system as
ACM1. Use your favorite serial terminal (such as Putty or Moserial) and the following settings to establish a connection:
|port||baud rate||data bits||stop bits||parity||flow control|
|ACM0 / ACM1||115200||8||1||no||none|
Now you can command mosaic with a command line interface outline. For more information about syntax, replies, and commands tables, check section 3.1 in mosaic-X5 Reference Guide. To quickly test this interface, you can command mosaic to turn the
GP1 LED on and off. To do so, send the following two commands throughout the serial terminal:
$ sgpf, GP1, Output, none, LevelHigh
$ sgpf, GP1, Output, none, LevelLow
Not only the green
GP1 LED goes on and off again, but you should also see the following mosaic's response in your serial terminal:
After successfully establishing communication with mosaic, the ESP module is the last remaining challenge. Thanks to the mowi's inbuild UART bridge, the communication can be established through a
USB0 COM port. Use again your favorite serial terminal with the following parameters:
|port||baud rate||data bits||stop bits||parity||flow control|
After establishing this connection, you should be able to receive debug data from the ESP module. By default (from factory), the ESP32-WROVER is flashed with Espressive's ESP-AT command firmware. To quickly test this interface, you can press the ESP's reset button designated by
E.RST. After doing so, you should see a reboot log similar to this one:
The true potential of mowi lies in running custom firmware on the ESP module. The most convenient way is to flash ESP with an already compiled binary image using Espressive's official
esptool.py utility. If you are interested in building your own firmware, please skip to the following example (
Developing ESP firmware) as it handles the flashing process for you.
To start flashing, you have to install the esptool utility. You can do so from pypi repository by using the pip packet management system. Mind that you need Python 2.7 or Python 3.4 or newer installed on your computer. For more details or to troubleshoot problems, visit the esptool's GitHub repository. To install the esptool run the following command in your terminal:
$ pip install esptool
During experimenting with ESP, it might be useful to re-flash it with the default (factory) firmware known as ESP-AT. To download this firmware go to its official GitHub repository and download the
.zip folder dedicated to ESP32-WROVER module. After unzipping it, enter the
.\factory subfolder and search for
factory_WROVER-32.bin. This is the binary image you are about to flash to your ESP. To do so, connect your mowi to your computer via the USB cable and execute the following command in your terminal:
$ esptool.py --chip auto --port /dev/ttyUSB0 --baud 115200 write_flash -z 0x0 factory_WROVER-32.bin
--port specifies a serial port to which ESP is connected,
--baud is the default baud-rate,
0x0 is a targeted memory address, and
factory_WROVER-32.bin is the binary image you are flashing to ESP. After successful flashing, you should see a similar log in your terminal. The
Hash of data verified. message means that the flashed image was successfully verified.
E.BOOT. Holding down
E.BOOT and then pressing
E.RST initiates firmware download. Standalone press of
E.RST resets the ESP module.
$ esptool.py --chip auto --port /dev/ttyUSB0 --baud 115200 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size 4MB 0x0 factory_WROVER-32.bin
How to produce mowi?
At this moment, no third party is known, to the author or Septentrio, to be selling manufactured versions of the mowi board. However, anyone can use the reference design in the form of the KiCad project and contact his preferred manufacturer for production. The mosaic GNSS modules can be obtained directly from Septentrio or Digi-Key. The mosaic's Digi-Key part numbers are 2771-410322-ND for mosaic-X5 and 2771-410352-ND for mosaic-H.
Within this project, we have used the manufacturing and assembly services of Eurocircuits. In case of interest in using their services to produce the mowi, please find already processed production data in
.\fabrication\eurocircuits. These files can be uploaded directly to Eurocircuits and boost the process of PCB validation and assembly analysis.
A 3D model of mowi's housing designed to be printed by a 3D printer is available in
mowi_lowerprint_housing.stl can be loaded directly into a slicer software. The model can be used with for
M3x8 screws that would self-thread into the plastic. If needed, brass threaded inserts can be added with a simple modification of the holes in the top
mowi_topprint_housing.stl. Holes for LED's are not included in the model as many 3D printers are not very good at these small details. If needed, the hole can be drilled after printing or added to the
STL model. Overall, this should be quite a simple print.
This housing was designed and evaluated by Silviu Taujan as a contribution to the mowi project.
This project makes the following deliverables for both integrators and designers of systems around Septentrio's mosaic modules.
||Vanilla KiCad and slightly modified
||Should include ready-to-order EuroCircuits files in the recent feature.|
||Exported gerber files of the mowi board.|
||Septentrio's KiCad footprints libraries divided into groups denoted by
||Septentrio's KiCad symbols library.|
||Source files for this readme file.|
Mowi user documentation
The following section lists the most important design specifications of the mowi board. For a detailed understanding, please refer to the schematic files in
To support an easy-to-use evaluation and offer a high connectivity, the mowi exposes various interfaces.
- USB interface maintained by an onboard high-speed USB HUB. Its purpose is to enable mosaic or/and ESP connectivity via a single micro USB B cable. The communication between the HUB and the ESP is provided by an FTDI bridge chip, connected directly to the ESP's
UART0. Additional auto-download circuitry is controlled by the FTDI chip enabling easy and convenient flashing. However, two reset and boot buttons, typical for the ESP applications, are available if a flash through UART is preferred or a manual reboot is needed.
- JST lock connectors serves as general and robust points of connectivity. Two of them are dedicated to the mosaic alone: i) a PIXHAWK compatible connector exposing the mosaic's
COM1port with HW flow control, and ii) universal mosaic connector offering additional functionality of external trigger
EventA, precise timekeeping with PPS output
PPSOand communication via
COM3port. The last JST connector is dedicated to ESP and exposes its
UART1with HW flow control. One of the possible use cases for this connector is a link to an external GSM module.
- Dual GNSS antenna connectors enables mowi's use for applications required heading and pitch/roll information. The mowi is available with more robust MMCX connectors or their compact U.FL replacement. These options are exclusive - the mowi should be stuffed with one or other type of GNSS connectors.
- External WiFi/Bt antenna can be mounted on an onboard SMA connector. This option is available for mowis with IE variant of ESP Worover present. The active range of a wireless connection can be significantly improved in such a case, enabling more remote applications.
- Indication LEDs can be used to provide instant feedback of essential features such as power, position corrections, logging, and WiFi or Bluetooth connections status. Their right-angled packages are ideal for easy casing.
- Additional breakout of mosaic's and ESP's pins is present in two 2x3 2.54mm headers.
The images below show the pinout of the mowi’s connectors (and LEDs). Even though most of the labels follow the mosaic’s and ESP’s datasheets, the following remarks are required: LED
PWRLED become active when the main 3.3V power line is active, LED
WIFILED is driven by ESP's pin
IO12, and LED
BTLED is driven by ESP's pin
Expect the main connectors, two auxiliary 2.54mm headers are present. The
ADV stands for 'advanced' and belongs to the mosaic, while
SENS means 'sensors' and connects to the ESP. Remarks:
ESP SEN. VP and
ESP SEN. VN connect to the ESP’s
SENSOR_VN pins respectively, and are input only. Pins
ESP SCL and
ESP SDA are connected to ESP’s
IO15 respectively. They are labeled as an I2C data bus, however, they might be used as GPIOs. Mind the integrated 4.7k pullups on these I2C pins.
These images serve mostly as a fast lookup reference. For a proper understanding of internal wiring and connections, we recommend referring to schematic files in
Power options, TTL and ESD
The mowi board can be powered with a 3.3V or 5V power supply connected to any of the JST connectors or the USB port. The recommended minimum power supply output current is 1.2A. The maximal input current should not exceed 2.1A under any circumstances. The individual power input pins are connected to a single input power bus throughout series of diodes. An electronic fuse device continuously monitors this input bus for events of over voltage, over current, and a short circuit.
It is possible to change TTL voltages of signals break out to the JST
ESP connectors, and the
ADV header. This can be done using a TTL selector switch separately for pins assigned to the mosaic, and the ESP. The available voltage levels are 3.3V and 5V. Please mind, that the JST
PXH connector and the
SENS header are 3.3V TTL only. The image below illustrates the TTL switch positions, while the table sums TTL voltage options:
|Connector||TTL option||TTL switch marking|
||3.3V or 5V||
||3.3V or 5V||
||3.3V or 5V||
All of the previously mentioned connectors together with the GNSS antenna connectors, and the USB port are protected against ESD events. The clamping voltage of protection devices is always set to the protected bus's maximal operational voltage. That means 3.3V for the
PXH connector and the
SENS header, and 5V in all other cases.
The mowi's shape, size, and mounting are based on the AsteRx-m3 standard developed by Septentrio N.V. This formfactor compatibility enable mowi to be used with another Septentrio products, such as AsteRx-i D UAS or evaluation kit. The drawing below defines the AsteRx-m3 formfactor overall size and mounting:
The following two drawings define mowi's shape and positions of individual connectors / LEDs:
All dimensions marked in the previous drawings are in millimeters. For the exact shape please refer to
.\...\formfactor_bottom.svg, or check directly the KiCad Pcbnew file
Because of the formfactor size restrictions and a user-friendly layout, all of the supporting circuitry was placed from the bottom side of the mowi board. The only exception to this statement is the GNSS signal circuitry, populated and routed on the board's top side. This approach was determined by the controlled impedance requirements of this critical signal. The image below roughly illustrates the layout of separate subsystems:
1B - Ethernet PHYs of mosaic and ESP,
2 - USB HUB,
3 - FTDI bridge of ESP,
4 - eMMC device of mosaic,
5B - 3.3V buck/boost converter with eFuse and 5V boost converter,
6 - signal logic gates, TTL voltage translators and ESD protection devices,
7 - LED drivers.