# 1. GNSS+Mag+Baro node
The node is designed for light unmanned aerial (UAV) and other vehicles.
It has 3 types of sensors:
- GNSS module: u-blox L1 NEO-M8 (opens new window) or L1/L2 ZED-F9P (opens new window)
- Barometer: BMP280 (opens new window)
- Magnetometers: RM3100 (opens new window) and/or HMC5883L (opens new window)
The node supports 2 interfaces. Please refer the corresponded section for details:
# 1.1. Variations
There are different types of such GNSS magnetometer barometer nodes. They are illustrated below.
L1/L2 ZED-F9P | L1 NEO-M8N, NEO-M8P | MAGNETOMETER |
---|---|---|
![]() | ![]() | ![]() |
- L1/L2 RTK GNSS ZED-F9P is the top variant of GNSS module. Using this module you can get high accuracy of global coordinates and magnetic field data.
- L1 GNSS NEO-M8N is just common variant of GNSS module self powered with built-in DC-DC and communicates over CAN bus.
- L1 GNSS NEO-M8P with RTK is the same but with RTK.
- MAGNETOMETER RM3100 is just magnetometer variation of the same board.
# 1.2. Main function description
This node primary has 3 features: GNSS, magnetometer and barometer. You may select in real time which features you need using Cyphal registers or DroneCAN parameters.
Below general features of the node are listed. For interface specific details please check 3. Cyphal interface or 4. DroneCAN interface.
# 1.2.1. GNSS module
If this feature is enabled, the node will receive the data from GNSS via UART (the communication protocol is ublox (opens new window), expected message is UbxNavPvt
) and send it to CAN as DroneCAN message or set of Cyphal messages depending on which interface you use.
At this moment you need to manually set up the ublox module before first use. Below you can see the instruction how to setup it.
# How to setup U-Blox NEO-M8N-0 by UART
Desription of UBX protocol is presented in UBX-13003221 (opens new window) document.
- Download (opens new window) and install u-center (not u-center 2).
- Connect to the module by UART at 9600 by default.
- Open View->Configuration view. Go to MSG (Messages), enable "01-07 NAV-PVT" at UART1, disable all other messages. Push "send" at hte bottom of the window to send command. Check that only NAV-PVT goes from the module by opening View->Messages View.
- Again go to Configuration view to PRT (Ports), change the Baudrate to 115200, "send" at the bottom.
- Reconnect to the device at the new baud rate.
- Go to Configuration view to RATE (Rates), set Measurement Period to 60 ms, "send" at the bottom.
- If everything ok, go to Configuration view to CFG (Configuration), select "Save current configuration", "send" at the bottom.
# Performance
The raw GNSS-module needs 8.7 ms to send a UbxNavPvt package via UART (the baud rate is 115200, a package length is 100 bytes).
This board as a wrapper under GNSS-module needs ~12 ms to get this package via UART, process it and send to CAN-bus.
It means that the time overhead compared to raw module is only ~4ms.
# 1.2.2. Barometer
The node uses BMP280 (opens new window) barometer. Communication with the sensor is carried out using I2C.
Control measurement settings:
- pressure oversampling is 8: high resolution, 19 bit / 0.33 Pa
- temperature oversampling is 8: 19 bit / 0.0006 °C
- the data rate is up to 50 Hz if standby time is less then 0.5 ms
- normal mode
# 1.2.3. Magnetometer
The node supports 2 types of magnetometers: RM3100 (opens new window) and HMC5883L (opens new window). You may choose the one you need at runtime using parameters.
Before the first measurement, this node performs initialization for the chosen magnetometer. Configuration settings are predefined in firmware and shown in the table below.
- i2c bus,
- Continuous-Measurement Mode with Normal measurement configuration,
- the measurement rate is 30 Hz (15 Hz is the default),
- adjustable publish rate up to 30 Hz using parameter,
- number of samples is 2 (1 is the default),
- the sensor field range is ± 1.3 Ga (by default), so digital resolution is 0.92 mG/LSb.
- SPI bus
- Continuous Measurement Mode,
- the measurement rate is 75 Hz (37 Hz is the default),
- adjustable publish rate up to 75 Hz using parameter,
- cycle count is 200 (by default), so the gain is 75 LSB/µT, sensitivity is 13 nT,
- field Measurement Range is from -800 to +800 uT.
# 1.3. Auxiliary functions description
1.3.1. Led indication
The node has an internal RGB led that may allow you to understand possible problems. Please refer to LED meaning page to get more details.
# 1.4. Software update
The node doesn't yet support software upload via CAN yet. But the next generation of the device will be. We will be using a Kocherga bootloader (opens new window) in the future. At the moment the only way to upload the software is to use a programmer. See tge programmer usage section (opens new window) for details.