Hi everyone,
I’m hoping someone from SparkFun or anyone who has successfully integrated the Feynman IM19 with the Septentrio Mosaic-G5 P3 can help, as I’ve reached the point where I believe this is a configuration issue rather than a hardware problem.
Hardware
SparkFun GNSS Flex pHAT
SparkPNT GNSS Flex Module – Mosaic-G5 P3 Tilt
Raspberry Pi 5
IM19 Firmware: ParaVision 4.20
The board is completely unmodified. No solder jumpers have been changed and all routing remains at the factory defaults.
What I’ve verified
The Mosaic receiver is obtaining a valid 3D GNSS fix and is transmitting NMEA correctly.
I’ve verified this by:
Viewing a valid GNSS fix in PyGPSClient.
Monitoring /dev/ttyAMA0.
Using a multimeter to verify that the Mosaic TXD1 line is electrically active, with voltage transitions between approximately 3.0V and 3.3V.
Running hexdump on /dev/ttyAMA0.
The UART output is pure ASCII NMEA with no binary/SBF messages mixed into the stream.
The only messages being transmitted are:
GPGGA, GPGST, GPRMC at 115200 baud rate…
As the SparkFun GNSS Flex pHAT is still in its factory configuration, the Mosaic GNSS output should already be internally routed to the IM19 GNSS input.
I have made no hardware modifications to the board.
The Mosaic TXD1 line is electrically active and the signal is present both on the connector and the corresponding test point on the PCB.
IM19 configuration
Current IM19 settings are:
GNSS Card: OEM
GNSS Port: PHYSICAL_UART3
UART3 Config: NASC
Work Mode: 0x019A
Fix Mode: True
Tilt Mode: True
ParaVision Version: 4.20
The IM19 is definitely alive and communicating.
I can configure it using AT commands through PyGPSClient and it outputs GPFMI/NASC data continuously.
Mosaic output configuration
The UART feeding the IM19 is configured as follows:
Baud Rate: 115200
Output Format: ASCII NMEA only
Enabled messages:
GPGGA, GPGST, GPRMC
No SBF or other binary messages are enabled on this UART.
PyGPSClient configuration
Mosaic receiver
Serial Port: /dev/ttyAMA0
Baud Rate: 115200
Protocol: NMEA
Output is parsed correctly and displays a valid 3D GNSS fix with latitude and longitude.
IM19
Serial Port: /dev/ttyAMA4
Baud Rate: 115200
Protocol: NMEA
IM19 status page displays:
NO FIX
Latitude = 0.00000000
Longitude = 0.00000000
Continuous GPFMI messages are received from the IM19 output.
The issue
Despite all of the above, the IM19 never appears to accept the incoming GNSS solution.
Even after leaving the system running outdoors for over three hours:
Mosaic
Valid 3D GNSS Fix
Correct latitude and longitude
NMEA output present and verified
IM19
NO FIX
Latitude = 0.00000000
Longitude = 0.00000000
The IM19 continues outputting GPFMI messages but never populates its position.
Additional observations
Running:
AT+CHECK_SYNC
returns continuously:
2 0
2 0
2 0
I have been unable to find documentation explaining what these two values represent
