Problems with BlueOS and ROS2 for BlueBoat

Hello,

I’m currently working with two BlueBoats and would like to use them with ROS2. Unfortunately, after browsing the forum, I noticed that while several people have expressed interest in ROS2—and some are apparently using it successfully—there’s no clear explanation on how to set it up.

I’d really appreciate any tips or guidance on how to accomplish this. Below are a few things I’ve tried, along with what I discovered:

Hardware:

BlueBoat

Preinstalled Raspberry Pi 4

Attempts:

Flashed release 1.4.0 (BlueOS-raspberry-linux-arm-v7-bullseye-pi4.zip) onto the SD card
- Setup wizard works and the BlueBoat operates as expected
- 32-bit version
- ROS2 extension not usable because of 32-bit version of OS

Flashed release 1.4.0 (BlueOS-raspberry-linux-arm64-v8-bookworm-pi5.zip) onto the SD card
- Setup wizard doesn’t work with BlueBoat (Wi-Fi connects)
- Step 3 (Navigator & Parameters scripts) fails to load
- ROS2 extension works, but manual BlueBoat setup is not possible

Installed Raspberry Pi OS Lite (Release date: 2024-11-19), then installed BlueOS via the install script
- Error at startup (see attached screenshot)
- Setup wizard doesn’t work with BlueBoat (Wi-Fi connects)
- Step 3 fails again (Navigator & Parameters scripts)
- ROS2 extension works, but again, manual setup for the BlueBoat is not possible

It seems like getting ROS2 working properly is more complicated than expected. Am I missing something or doing something wrong?

I’d really appreciate any advice, or tips.

Best regards,
Marko

Hi @0401Marko,

We don’t have an official extension for ROS2 provided by Blue Robotics, but the community extension should be working fine.

Can you explain how the manual BlueBoat setup is not working ? What problems are you finding ?
Did you run the wizard successfully ?

Hi @patrickelectric,

I previously worked with the community extension, and it functioned well although that was on a BlueOS setup where the configuration for the BlueBoat didn’t worked.

Here’s a more detailed explanation of my current BlueOS setup and what isn’t working:

  1. Installed Raspberry Pi OS Lite (Release date: 2024-11-19)
  • Standard installation, no special modifications
  • Able to connect to arbitrary Wi-Fi networks
  1. Installed BlueOS using the install script from the GitHub repository
  • Installation completed without issues, and BlueOS starts up at 192.168.2.2
  1. Ran the setup wizard
    3.1. Established Wi-Fi connection → Works
    3.2. Selected BlueBoat as the vehicle → Works
    3.3. Customization step → Doesn’t work

This is quite frustrating having the setup wizard fail makes manual configuration of the boat very time-consuming. I tried an alternative approach: selecting a custom setup in the second step of the wizard and then manually uploading a parameter file from a previously working BlueBoat setup (running ArduPilot 4.5.7 Stable with Rover). Unfortunately, this completely broke the setup. I’m now unable to load any parameters, and there’s no connection to ArduPilot at all.

Any idea why BlueOS fails to load the scripts and parameters?

FYI:
error_msg
Shows the error that appears every time I access 192.168.2.2 using the setup described above.

Hi @0401Marko,

The parameter failing to load usually is a bad internet connection / firewall or anything in the networking blocking the access to the parameter server. Do you have other internet provider or server that can connect your vehicle into ?
A celphone hotspot may do the trick.

Shows the error that appears every time I access 192.168.2.2 using the setup described above.

This error may happen when BlueOS is still loading the backend services when the system is starting up, it should not happen every time that you access BlueOS.

We are working on a default BlueBoat image at the moment, once it’s ready I’ll share here, the wizard setup will not be necessary.

You can also download the parameters and scripts necessary manually from here: GitHub - bluerobotics/Blueos-Parameter-Repository: Blueos Parameter Repository

The lua script should be installed in /root/.config/ardupilot-manager/firmware/scripts/ and the param should be loaded using the autopilot parameters page.

2 Likes

Hi @patrickelectric,

I tried to do the setup by hand. Here some additional information:

  1. Used BlueOS-raspberry-linux-arm64-v8-bookworm-pi5.zip and flashed onto SD card
  2. Inserted the SD card, powered up the boat and let it sit for ~ 5 minutes
  3. BlueOS successfully started and connected to WiFi


As you can see in the image, the Pi is able to ping the server on which the parameters are stored. But the setup wizard still fails to load script and parameters. This is the first error I recognized.

FYI: All changes I make now are due to the fact that these are the default settings when I flash the BlueOS-raspberry-linux-arm-v7-bookworm.zip image to the MicroSD card.

As next step I tried to update the Ardupilot firmware to 4.5.7 Stable. At this point no Stable version can be selected as seen in the next image.

So I used the following link here to download the same 4.5.7 Stable version. After flashing it, something was completely broken :joy:. No connection to the board and parameters aren’t loaded anymore. Following can be seen at the Autopilot Firmware tab.


So first of all another dead end.

Any idea what the problem is here? Can’t find a way to run BlueOS on a 64-bit version, even by doing the setup manually.

Best regards
Marko

Hi @mstephens -
The stable version of ArduRover does not support 64 bit, currently! That is why it didn’t appear in the list, and why your downloaded version does not function. The Beta version is almost ready to become stable, and should work fine if you flash it!

Hi @tony-white,

thanks for the short clarification. For me it was bit confusing to undstand if the Navigator actually runs a microcontroller like the Pixhawk 4. As I understood correctly the actual Ardupilot software runs inside BlueOS (on the Raspberry Pi) and just has access to the exposed interfaces through the Navigator board right? Maybe it would make sense to clarify this in the product description.

I will test what happens when i flash the BETA version and get back to you.

Greetings Marko

Hi @0401Marko -
That’s correct, no microcontroller onboard the Navigator. I’m not sure how we can be more clear about that! From the product page:

There is also a full schematic for the PCB under the Technical Details section…

I can report a success. Our BlueBoat/Raspberry Pi is now running the 64-bit version including ROS2. I have carried out the following steps for anyone who wants to recreate this setup.

1. Flash Image
Download the latest BlueOS version from the releases webpage for the Raspberry Pi 5. The image name looks something like --linux-arm64-v8-bookworm-pi5.zip. This operating system is also intended for the Raspberry Pi 4 with 64-bit.

Flash the image onto a SD card using Balena Etcher.

2. Start Boat
Insert the SD Card and let the Boat start up. At the very first start it takes roughly 5-10 minutes until the Raspberry Pi is ready. After that restart the boat and wait until it connects to the BaseStation Wifi.

3. Connect to WiFi
In the very first step abort the setup wizard that opens. It doesn’t work either way right now. Click on the WiFi symbol at the top right corner and connect the Pi to a WiFi that supplies internet.

4. Update Firmware
Now update the firmware. To do this go to the Autopilot Firmware menu > Firmware update. Select the following settings
Board: Navigator64 (current)
Vehicle type: Rover
Firmware: STABLE-4.6.0

5. Update right BlueBoat Parameters
Now we need to upload the correct BlueBoat parameters. This for example includes the right baud rates to communicate to the GPS and so on. To do this go back to the Autopilot Parameters and upload the following parameter file:
Surface Boat-4.5.7-STABLE-20250522-113039.params (17.9 KB)

I didn’t checked if the Boat Params from the BlueRobotics Param repository also work.

6. Restart BlueBoat
Now restart the BlueBoat to make sure everything starts up correctly with the right parameters. Check if Vehicle Setup shows BlueBoat and if GPS works.

7. Install ROS2
This step may vary depending on the application.

The first option is to install the ROS2 extension from the Extensions store. Our experience with this extension is that it is not possible to receive ROS2 messages outside the BlueBoat internal Raspberry Pi. This means that no Mavros ROS2 topics can be received or sent on the laptop (192.168.2.1). This is due to two things with the ROS2 extension. 1. no ROS_DOMAIN_ID set. 2. missing CycloneDDS configuration, which explicitly selects the interface of the Raspberry to be used for multicast (required by ROS2).

Second option is a custom extension. In our case, we have implemented this and can now successfully exchange ROS2 messages in the BaseStation WiFi. If anyone is interested in this extension, please let us know in the thread..

2 Likes