Hi, I’m curious whether the onboard RPi/Navigator in a BlueBoat can connect to an external GPS via Bluetooth (using the BT serial port profile), so that I can potentially stream NMEA messages into the boat via a virtual serial link, without using a cable and penetrator? I’ve done this many times on my Toughbooks over the years for various geophysical fieldwork, and am curious about whether it could be done on the BB? I’ve dabbled with Raspberry Pi’s and Linux before, but am certainly no expert on this side of things.
So, before anything else, we’d need a way to actually pair with the GPS unit, which would hopefully only need to be done once. Then, in an ideal world, the RPi/Navigator would autoconnect to the GPS each time, seeing it as a serial stream and accepting the NMEA messages. Maybe this could appear to come in via Serial2, which I can’t seem to find a physical connection for on the Navigator?
Or, maybe a USB BT dongle, which I could presumably pair to the GPS while having it connected to a different computer, and then move it to the BlueBoat where it’d hopefully remember this pairing (?), and show up as an additional serial connection that I could use, somewhat similarly to the Bluart unit?
Anyways, before getting into too many details, I’m curious if anyone already knows for sure whether this definitely will or won’t work?
Hi @rjmickle -
Bluetooth is not currently supported, but it could definitely be a useful feature for BlueOS! You’re correct, Serial2 is normally what is used to consume NMEA data with ArduPilot.
Can you share more about the GPS you have in mind?
If you’re able to connect to it manually using the Raspberry Pi Bluetooth radio from the terminal (after taking the red-pill), you could likely accomplish your NMEA streaming goals as well. Getting things to auto-connect with bluetooth can be tricky, but it should also be possible! The third post in this thread goes into detail on how this may be possible - if you’re able to see NMEA data in a minicom instance then you’ll be almost there!
Damn, Tony — I don’t often come across people that I’d consider a true “guru” at something. But you definitely fit that description around here…
It’s an older RTK survey unit, a Topcon HiperXT. This is what I’ve traditionally used when doing bathymetric surveys from manned vessels (zodiacs, etc), but I also use it a lot for some of our geophysical surveys (ground penetrating radar, etc). I have it paired with my toughbook, and I can have it output an NMEA sentence stream to the toughbook, rather than using a physical cable (we do a lot of arctic work, and cables don’t typically like temperatures in the -35C range, and tend to break — bluetooth is a beautiful solution to this). Anyways, I’m weighing my various options for putting an RTK unit on my nice new BlueBoat. I’m strongly considering integrating a SparkFun F9P unit inside the port hull, which is where I’ve currently got my SparkFun M9N board, but before dropping a few hundred dollars on that, I thought maybe I could give my trusty old Topcon a try. I really like the idea of bluetooth, rather than having a cable penetration. Plus, if I don’t use my Topcon, then I’d have a loose cable end dangling around.
Anyways, this is all fairly low priority right now, but I just thought I’d see if anyone knew for sure whether this would or wouldn’t work. You’ve kindly given me some promising leads to pursue, thanks!
Hi @rjmickle -
Thanks for the compliment! We’ve tested this unit and found it fairly easy to setup, and are considering offering a kit version of it geared for the BlueBoat. The antennas should be usable from within the hulls, below the deck.
If you get your current unit talking over bluetooth let us know!
Hi Tony, i have got this gnss BT antenna TOP609BT-GLONASS Receiver GPS & GLONASS GNSS Equipment, High precision GNSS Products & Solutions|TOPGNSS and i would like to use it to perform bathymetric surveys with Ping Sonar, using the RTK correction service I subscribe to (Smartnet Hexagon). Do you think it’s possible to use it by connecting it to the navigator so as to log positions and depths simultaneously on BlueOS? I purchased the instrumentation specifically to be able to use the RTK system to produce a high-precision bathymetric survey system.
Basically, I purchased from your site a Raspberry PI4 with BlueOS, Ping sonar, and Navigator; I assembled and powered the system, but I’d like to understand how to proceed so I can perform surveys by logging position data (RTK with an external antenna) and depth data (from Ping). I found the “RTK NTRIP Extension” among the extensions; is it useful for this purpose? Thank you very much! Best regards
We’ve not tested with that particular RTK GPS product. In general, the RTK setup process is documented in the BlueBoat FAQ, I copy it below for your convenience:
Since that GPS has a USB and not network connection, you’d simply set the Serial2 to correspond to the USB port you’ve plugged the GPS into, under the Autopilot Firmware menu (while in Pirate mode.) You may need two of those USB GPS, one mounted in each hull, to get things working with true differential GPS? You could setup the second unit as Serial3 in the same menu, and set the corresponding Serial# function parameters as described.
The RTK NTRIP extension provides corrections from whatever local base station you select from the RTK2GO network - eliminating the need for you to have a stationary RTK base station feeding corrections to your vehicle.
Thanks Tony for your sudden reply to my crucial question.
Now, I connected the GPS to the USB port, setting it to “serial 2” and my BlueOS “sees” it correctly. I want to use an RTK correction system from SmartNet hexagon service. I want my BlueOS to use only this external GPS (the model is TopGnss Top609bt-B). Could you indicate me what parameters I need to set on the options shown in the screenshots I’m sending you? I set the GPS baud rate to 230400 as recommended on various forums for the GPS data type. I wonder if I should set GPS 1 or GPS 2 as the only GPS? And above all, is it correct to select “NMEA type” even if my TopGNSS 609 is a ublox? and as “GPSprimary”?
Currently, in “NTRIP RTK” extension data remains constant (e.g., Bytes received: 377
Last update: 2025-08-24T14:38:38.889909).
It seems to have almost been solved but the RTK is missing
I think I need to adjust something in the settings.