M10-L4-3100 is based on ArudPilots’ AP_Periph firmware, It is a GNSS+COMPASS+BAROMETER peripheral with CAN/DroneCAN and UART/MSP interfaces.
M10-L4-3100 uses multi-constellation GNSS powered by u-blox MAX-M10S , MAX-M10S is a concurrent GNSS receiver which can receive and track multiple GNSS systems. Owing to the multi-band RF front-end architecture all four major GNSS constellations, GPS,Galileo, GLONASS and BeiDou can be received concurrently.
M10-L4-3100 integrates an industrial-grade compass PNI RM3100 which provides high resolution, low power consumption, no hysteresis, large dynamic range, and high sampling rates.
GNSS u-blox MAX-M10S (GPS, GLONASS, Galileo and BeiDou)
Magnetic Compass RM3100
Patch GNSS Antenna 25*25*4mm
UART3, onboard MAX-M10S
UART2(TX2 RX2), MSP Protocol
CAN, DroneCAN Protocol
I2C JST-GH connector for external AirSpeed sensor
CAN bootloader LED, Blue
Fast blinking, Booting
Slow blinking, working
GNSS PPS LED, Green
solid on after powering on
blinking(1Hz) when GNSS has 3D fixed
3.3V LED, Red
Input voltage range: 4.5~5.3V (5V pad/pin)
Power consumption: 60mA
Operating Temperatures: -20~80 °C
ArduPilot AP_Periph: MatekL431-Periph
2x JST-GH-4P to JST-GH-4P 20cm silicon wire
Mounting base (1x PCB plate, 4x silicon grommets, 4x Nylon standoffs M3x7, 4x Nylon screws M3*8)
Tips and Notes
on M10-F4-3100, The 3 magnetic coils have little solder paste to avoid the excess to “tilt” them, resulting in some reading inaccuracies of the compass. Any strong impacts will definitely separate them, especially the “tall coil” Sen-Z-f. Pls use this precision module with care.
The default configuration on MAX-M10S with ublox FW5.1 is concurrent reception of GPS, Galileo, and BeiDou B1I with QZSS and SBAS enabled. GLONASS is disabled by default.
Beidou B1I (1561.098 MHz) and GLONASS can’t be enabled at the same time. Beidou B1C (1575.42 MHz) and GLONASS can be enabled at the same time. Flight controller firmware(INAV, Betaflight, ArduPilot) don’t support enable Beidou B1C for now.
with GPS, Galileo, and BeiDou B1I with QZSS and SBAS enabled, MAX-M10s can receive more than 30 Sats with HDOP down to 0.55.
Start with u-blox GNSS FW3.01, timepulse is aligned with UTC time and that time is set valid only after leap second is downloaded. That could take up to 12.5 min. Probably PPS LED will not blink immediately after GPS has 3D fixed.
CAN (UAVCAN protocol) Connection
- M10-L4-3100 5V – FC 4.5V ~ 5.3V
- M10-L4-3100 CAN-H – FC CAN High
- M10-L4-3100 CAN-L – FC CAN Low
- M10-L4-3100 G – FC G/GND
FC UAVCAN Parameters(ArduPilot)
- CAN_D1_PROTOCOL -> 1
- CAN_P1_DRIVER -> 1
- GPS_TYPE -> 9 (DroneCAN)
- COMPASS_TYPEMASK -> 0 (make sure DroneCAN Unchecked)
If you connect I2C airspeed sensor to I2C port of M10-L4-3100
- ARSPD_TYPE -> 8 (UAVCAN)
- ARSPD_USE -> 1
And you must set CAN Node parameters for airspeed sensor connected to I2C port of M10-L4-3100
Mission Planner > Initial Setup > Optional Hardware > UAVCAN > SLCan Mode CAN1 > Parameters
- MS4525 ARSP_TYPE -> 1 (default in hwdef)
- MS5525 ARSP_TYPE -> 3 supports MS5525 with address 0x77 only
- SDP3X ARSP_TYPE -> 6
- DLVR-L10D ARSP_TYPE -> 9
- Write and reboot
If you connect 2812LED DIN to PWM5 pad
- NTF_LED_TYPES -> (make sure DroneCAN is checked)
SLCan Mode CAN1 > Parameters
- OUT5_FUNCTION 120
- NTF_LED_TYPES 455