Developer Guide for mobile APP Connecting and Configuring RTK Facet via Bluetooth

Hi everyone,

I’m currently building a mobile app to connect with the RTK Facet and configure it via Bluetooth, similar to how SW Maps interacts with it.

I have a few questions:

  1. Is there a developer guide or any resources for connecting to the RTK Facet over Bluetooth?

  2. From my understanding, SW Maps can configure NTRIP over Bluetooth. Can other settings also be configured this way?

  3. If full configuration access via Bluetooth is possible, does it require firmware changes to expose and manage all the settings separately?

  4. Is React Native being used in SW Maps? That is why it works flawlessly on both Android and iOS devices.

Any guidance, documentation links, or examples would be greatly appreciated.

Thanks!

Are you sure it’s not just interacting with the ZED-F9P? In which case perhaps the u-blox Interface Manual will suffice. Perhaps use a terminal and observe/interact, and look at the Facet firmware to see what it’s doing or if merely forward content back-n-forth to the ZED UART.

For NTRIP the phone just has push out RTCM3 packets, It might take NMEA GLL or GGA to advise NTRIP Server of location, and alive.

Perhaps you could also tap the UART and observed indirectly what SW Maps is doing. Too better understand what is involved.

Hi @JIGOD ,

Sorry, there is no developer guide for the RTK Firmware.

The RTK Firmware uses Bluetooth to:

  • Send NMEA from the GNSS to the phone App
  • Receive RTCM from the phone App and push it to the GNSS

It’s not possible to configure RTK Firmware via Bluetooth. You would need to enhance the firmware to make that possible.

You would need to ask the SW Maps developers if they use React Native.

Best wishes,
Paul

SW Maps does not “interact” with the F9P or the Facet, in a “2-way” sense (more details below). SW Maps mainly ingests NMEA sentences that the F9P/Facet produces.

However, SW Maps does have a built-in NTRIP Client as you mentioned, but that NTRIP Client can’t change any settings on the Facet. It simply listens for a GGA Sentence (required every 30 seconds or less) to send to the NTRIP Caster (Base Station). Then any RTCM messages from the selected mountpoint are pushed back to the Facet from the internet/Caster via the Client. The F9P ingests the RTCM for RTK positioning. Neither end can make any changes to itself based on the other end, as SW Maps isn’t hardware specific.

Your proposed Mobile App could make some changes to the Facet’s configuration:

  1. One way is to apply changes to the “Settings” txt file saved on the Facet and cleanly reboot.
  2. Another way would be to reproduce the available changes that you can manually perform in the Facet’s FW with a Serial over Bluetooth connection (likely the best method). Your Mobile app would create the connection and make the changes just like a Human would with a terminal. Note: there are a few settings that are not available in this scenario.
  3. Or as @clive1 mentions, you can send specific commands to the F9P, after the Facet has finished loading it’s saved settings. I’m not sure if you will experience any conflicts with the Facet’s FW.

There might be other methods in addition to these 3 :wink:

Hi @JIGOD ,

Sorry. I should clarify:

As @rftop points out, you can access the firmware menus over Bluetooth. Your App would need to send the “+++” escape sequence to open the menu. Once you exit Echo mode, the firmware will start sending NMEA again.

But, I think what you’re asking is whether there is a dedicated command interface to change the firmware settings? This is something we’ve added in the newer RTK Everywhere Firmware, but it is not present in RTK Firmware.

I hope this helps,
Paul

1 Like