Ublox F9R-03B PVAT not giving 30Hz output

Hello,

I have a F9R-03B GPS module, and I am looking to have 30Hz fix output.
I have the following configurations but my fix only updates at a rate of 14~16Hz max, IMU updates at a rate of 45~49Hz. Can someone help me with why the fix data is not at 30Hz?
If you want any other piece of info please let me know I will try to get it.

Sensor: Ublox F9R-03B-00

Firmware: 1.30

Communication: USB

// USB output protocol
add_kv_u8(0x10780001, 1); // CFG-USB-OUTPROT-UBX: enable
add_kv_u8(0x10780002, 0); // CFG-USB-OUTPROT-NMEA: disable

// Explicitly disable other NAV messages that could add bandwidth
add_kv_u8(0x20910045, 0); // CFG-MSGOUT-UBX-NAV-VELNED-USB: disable
add_kv_u8(0x20910027, 0); // CFG-MSGOUT-UBX-NAV-POSECEF-USB: disable
add_kv_u8(0x2091002c, 0); // CFG-MSGOUT-UBX-NAV-POSLLH-USB: disable
add_kv_u8(0x20910040, 0); // CFG-MSGOUT-UBX-NAV-VELECEF-USB: disable
add_kv_u8(0x20910031, 0); // CFG-MSGOUT-UBX-NAV-HPPOSECEF-USB: disable
add_kv_u8(0x20910036, 0); // CFG-MSGOUT-UBX-NAV-HPPOSLLH-USB: disable

// All four enabled at every epoch
add_kv_u8(0x20910009, 1); // CFG-MSGOUT-UBX-NAV-PVT-USB
add_kv_u8(0x20910020, 1); // CFG-MSGOUT-UBX-NAV-ATT-USB
add_kv_u8(0x20910117, 1); // CFG-MSGOUT-UBX-ESF-INS-USB
add_kv_u8(0x2091062d, 1); // CFG-MSGOUT-UBX-NAV-PVAT-USB

// Auxiliary
add_kv_u8(0x2091004a, 1); // CFG-MSGOUT-UBX-NAV-TIMEGPS-USB
add_kv_u8(0x209102a2, 1); // CFG-MSGOUT-UBX-ESF-RAW-USB

// Rate: 33ms = 30Hz
add_kv_u16(0x30210001, 33); // CFG-RATE-MEAS
add_kv_u16(0x30210002, 1); // CFG-RATE-NAV

// Rate: 33ms = 30Hz
add_kv_u16(0x30210001, 33); // CFG-RATE-MEAS
add_kv_u16(0x30210002, 1); // CFG-RATE-NAV

Hi @nk ,

It looks like you have not set CFG-RATE-NAV_PRIO?

image

I hope this helps,
Paul

Hello @PaulZC ,

I added the change, but I am getting 1Hz on my fix now. Is there anything else I need to do?

Excluding the CFG-NAV-RATE change, for a brief moment I was able to get 30Hz. But it has now stopped functioning. I am unsure on what exactly changed. Is there is some additional u-center changes I need to make sure I have to get consistent 30Hz? or maybe there is a different way (non u-center method) to write/flash the configurations?

// All four enabled at every epoch

add_kv_u8(0x20910009, 1); // CFG-MSGOUT-UBX-NAV-PVT-USB

add_kv_u8(0x20910020, 1); // CFG-MSGOUT-UBX-NAV-ATT-USB

add_kv_u8(0x20910117, 1); // CFG-MSGOUT-UBX-ESF-INS-USB

add_kv_u8(0x2091062d, 1); // CFG-MSGOUT-UBX-NAV-PVAT-USB

// Auxiliary

add_kv_u8(0x2091004a, 0); // CFG-MSGOUT-UBX-NAV-TIMEGPS-USB

add_kv_u8(0x209102a2, 1); // CFG-MSGOUT-UBX-ESF-RAW-USB

add_kv_u8(0x20210004, 1); //CFG-RATE-NAV

// Rate: 33ms = 30Hz

add_kv_u16(0x30210001, 33); // CFG-RATE-MEAS

add_kv_u16(0x30210002, 1); // CFG-RATE-NAV

Thank you,

I’ve never tested the F9R-03B, but these ‘types’ often need full sension fusion to maintain the max spec’d performance. This module might want odometer (wheel ticks, etc) in addition to the IMU to maintain 30hz in priority mode ?
Just a guess…

From the datasheet, the fastest non-priority navigation mode the F9R supports is 4Hz / 250ms.

Please try:

add_kv_u16(0x30210001, 250); // CFG-RATE-MEAS (0.001s)
add_kv_u8(0x20210004, 30); // CFG-RATE-NAV_PRIO (Hz)

Hello @PaulZC ,

I tried those changes, it did not make increase my frequency unfortunately.

Changes:

        // USB output protocol
        add_kv_u8(0x10780001, 1);   // CFG-USB-OUTPROT-UBX: enable
        add_kv_u8(0x10780002, 0);   // CFG-USB-OUTPROT-NMEA: disable

        // Explicitly disable other NAV messages that could add bandwidth 
        add_kv_u8(0x20910045, 0);   // CFG-MSGOUT-UBX-NAV-VELNED-USB: disable
        add_kv_u8(0x20910027, 0);   // CFG-MSGOUT-UBX-NAV-POSECEF-USB: disable
        add_kv_u8(0x2091002c, 0);   // CFG-MSGOUT-UBX-NAV-POSLLH-USB: disable
        add_kv_u8(0x20910040, 0);   // CFG-MSGOUT-UBX-NAV-VELECEF-USB: disable
        add_kv_u8(0x20910031, 0);   // CFG-MSGOUT-UBX-NAV-HPPOSECEF-USB: disable
        add_kv_u8(0x20910036, 0);   // CFG-MSGOUT-UBX-NAV-HPPOSLLH-USB: disable
       
        // All four enabled at every epoch
        add_kv_u8(0x20910009, 1);   // CFG-MSGOUT-UBX-NAV-PVT-USB
        add_kv_u8(0x20910020, 1);   // CFG-MSGOUT-UBX-NAV-ATT-USB
        add_kv_u8(0x20910117, 1);   // CFG-MSGOUT-UBX-ESF-INS-USB
        add_kv_u8(0x2091062d, 1);   // CFG-MSGOUT-UBX-NAV-PVAT-USB

        // Auxiliary
        add_kv_u8(0x2091004a, 1);   // CFG-MSGOUT-UBX-NAV-TIMEGPS-USB
        add_kv_u8(0x209102a2, 1);   // CFG-MSGOUT-UBX-ESF-RAW-USB
        // add_kv_u8(0x20210004, 1); 

        // Rate: 33ms = 30Hz
        // add_kv_u16(0x30210001, 33);  // CFG-RATE-MEAS
        add_kv_u16(0x30210002, 1);   // CFG-RATE-NAV

        add_kv_u16(0x30210001, 250); // CFG-RATE-MEAS (0.001s)
        add_kv_u8(0x20210004, 33); // CFG-RATE-NAV_PRIO (Hz)

Output:

average rate: 4.975
	min: 0.000s max: 0.504s std dev: 0.24367s window: 5
average rate: 4.000
	min: 0.000s max: 0.504s std dev: 0.24871s window: 10

@rftop from the datasheet it does not seem to be the case, from my understanding those additional inputs help with “fix” or “lock” type scenarios or maybe even a more precise/accurate heading. I could be wrong, but that was my impression.

Thank you,

Sorry! Typo… Please try:

add_kv_u16(0x30210001, 250); // CFG-RATE-MEAS (0.001s)
add_kv_u8(0x20210004, 30); // CFG-RATE-NAV_PRIO (Hz)

@nk :

Also, please check that UART1 is not causing a bottleneck. Please try adding:

// UART1 output protocol
add_kv_u8(0x10740002, 0);   // CFG-UART1-OUTPROT-NMEA: disable