UBX NMEA and UART confusion

Q&A forumCategory: QuestionsUBX NMEA and UART confusion
Jeroen asked 2 weeks ago

I really hope someone can shine a light on this. NMEA does not support L5 or E5. If that is true, UBX seems to be a better alternative.
But there appears to be some issue getting the UBX data over Bluetooth to Android apps: 1) Android app do not support it and 2) UBX is not possible over the Bluetooth interface?
I would be very grateful is someone could elaborate on the matter.

Please elaborate on your request, does your Android app need NMEA messages and it doesn’t work well in some way when you replace NMEA with UBX?
Anyway, UBX and NMEA are two different protocol standards.
The Bluetooth module is just a serial data bridge and it simply transmits everything.
To work, at least that Android application must support UBX.
But what are you using the F9P module for?
What software are you using?

Ardusimple Staff replied 2 weeks ago

Hi Jeroen,
zed-f9p doesn’t support L5, just E5b Galileo. you can see how this is encoded in NMEA frames in the interface description document: https://www.u-blox.com/sites/default/files/u-blox_ZED-F9P_InterfaceDescription_%28UBX-18010854%29.pdf
appendix B UBX and NMEA Signal Identifiers

As for sending UBX over bluetooth, currently it’s only possible on a plug-and-play way with simpleRTK2B V3, which allows UART1 (UBX) over XBee socket: https://www.ardusimple.com/new-product-launch-simplertk2b-v3-zed-f9p-and-zed-f9r/

1 Answers
Jeroen answered 2 weeks ago

Sorry for the confusion. I have split the NMEA question off to another topic. Basically my use case is:
1) Send RTK corrections over Bluetooth to SimpleRTK. SimpleRTK will paired with a smartphone which has internet connectivity.
2) SimpleRTK outputs NMEA to an Android app that utilises ‘mock location’. If you are unfamiliar with this: the functionality allows a ‘special’ Android app to connect with a Bluetooth GNSS receiver (NMEA is best supported but some apps also understand UBX as I have found out in the meanwhile). The special app is then able to leverage the Android API to present itself as a GNSS. I do not know whether the other navigation apps (like Google maps, Waze, …) are even aware they are not using the internal GPS of the phone.
3) End result: provide my navigation/survey apps on my smartphone with the best possible accuracy
TL:DR: The Bluetooth radio is used for (1) internet communication (for RTK) and (2) NMEA communication.
However (here comes the vagueness again), the Bluetooth radio is wired to UART2 which does not support UBX. I assume I will need UBX when I advance. I need it for PPP and PPP needs carrier phase measurements (= raw measurements?) and if I am right, these are delivered via the UBX protocol. So…seeing UART2 does not support UBX I cannot obtain raw measurements? See also: https://www.ardusimple.com/question/uart1-%e2%86%94-xbee/ 

TL;DR2: what implications does UART2 not supporting UBX have?

Ardusimple Staff replied 1 week ago

If you have access to NTRIP service, postprocessing is not needed, so you don’t need UBX.
If you want to do postprocessing, you have 2 options:
– Connect the board via USB to PC. USB outputs UBX.
– Buy “simpleRTK2B V3”, which supports UART1 to XBee socket.

Jeroen replied 1 week ago

https://www.ardusimple.com/product/simplertk2blite-bt-case-kit/ allows (1) UBX-raw measurements over the USB port (to a Raspberry pi for instance) and (2) NMEA over Bluetooth towards Android Phone and (3) internet to the receiver _simultaneously? Please say yes, my buy finger is getting itchy:-)

Ardusimple Staff replied 1 week ago

correct