BlueOS official release

For the last several months, during BlueOS B.E.T.A, we’ve been working hard to make a smooth, functional, slick, and shiny software, and :sparkles:BlueOS 1.0 release :sparkles: is the result!

In this post:

  1. A bit of context…
  2. BlueOS principles and goals
  3. Feature Comparison
  4. Release Types
  5. Upgrading Requirements
  6. Future of Companion
  7. Quick Links

A bit of context…

The original Companion project (started back in 2015) was originally created with the simple intent to route the vehicle’s video stream and communications to the surface computer, and provide some basic configuration of those features and the vehicle firmware. The simple scope was great to get things started, but also meant that new and complex features weren’t designed in from the start, so maintenance and developing functionality have been increasingly challenging.

With lessons learned on useful features and software architecture requirements, BlueOS was designed and created from the ground up to fit the requirements of the onboard computer system we want to have - with room to grow into a true operating system for the vehicle. BlueOS is modular to the heart, which makes it portable, robust to update, and extensible.

There are many upcoming features, including support for third party packages, applications, advanced data logging, and much more! We’re super excited about our future with BlueOS, and we can’t wait for you to join us and try it out! :smiley:

BlueOS principles and goals

As a team we’ve tried to envision the future of the onboard computer, and the features that will require. Our initial ideas have been distilled into the following core concepts, many of which are already built in to the BlueOS of today:

  • An interface that is simple by default but powerful when needed - the user has the power to change anything they desire and customize the full experience
  • Designed to focus on what matters, improving user access to information and controls with a human-friendly UI and UX
  • Make complex tasks simpler and improve ease of use by reusing design patterns from other applications (based on the material UI guidelines)
  • Advanced error handling and detection, making any problems clear to the user and developers, along with how to fix them
  • Simplify development, providing full access to our services API and modular development model
  • Encourage contributions, the project is open source!
  • Portable and flexible, you should be able to run on a Raspberry Pi 3/4 or any SBC with Linux operating system, contributions are welcomed
  • Highly functional with low CPU usage, the entire system is built to run efficiently
  • Developed on solid foundations, critical parts or intensive workforce services are designed using the most advanced languages and features available for stability

Some of these principles will only be evident in future releases, but the underlying software architecture and organization have been designed from the ground up to support and enable them.

Feature Comparison

BlueOS has most of the features from the old Companion, and some hotly-requested new ones too!

Feature Companion BlueOS Both
Hardware Raspberry Pi 3B required Raspberry Pi 3B / 3B+ / 4B supported

Other Linux-based SBC images to come

You can install from scratch using the installation script in any Linux computer (modifications may be necessary for your hardware configuration)
WIFI manager Connect to a single network Connect to and manage multiple networks, like a cellphone or computer WIFI manager Visible and hidden networks supported
Ethernet manager Single DHCP or static network Multiple static IPs and DHCP configuration DHCP client or server
Camera manager Select a single camera to stream over UDP
Supports Raspberry Pi cameras (except HQ Camera)
Supports a single audio stream over UDP
Easily manage multiple streams

UDP, RTSP and support coming soon for WebRTC (#1000)

Raspberry Pi cameras
not yet supported (#991)

Audio streaming
not yet supported (#990)
H264-encoded streams only
NMEA support - - Conveys GPS positions to the vehicle
Ping Sonar Devices Ping Sonar distance estimates can be sent via MAVLink Devices can be hot-plugged

MAVLink pipeline
not yet supported (#264)
Ping Sonar and Ping360 can connect with Ping Viewer
ArduPilot Firmware ArduSub-only downloads General ArduPilot downloads;
select vehicle to update
stable, beta, and devel releases, custom uploads, and restore default parameters
Endpoints - - Create and manage bridges between serial and UDP endpoints
File Browser - Edit files from the browser Download and upload files
Log manager Ssh/terminal only Download and manage logs from the browser
Log Viewer - Visualise and analyse logs from the browser
Web Terminal Access Linux terminal from the browser Access Linux terminal with a tmux session from the browser Web terminal client
Version Chooser Update to latest stable only Easily update/downgrade between versions, including locally stored;
Includes stable, beta, and master releases*;
Available even if main site failing
System information Basic usage statistics, list of connected devices Provides all the necessary information about the hardware, operating system, running processes, CPU, memory, disk, network usage and status
Notification system - Notifications about issues, new releases, and the status of your system.
Network test - Check real time latency Check upload and download speed from the surface computer to the vehicle
MAVLink inspector See latest MAVLink messages via MAVLink2REST see and inspect MAVLink messages in real time from the browser MAVLink2REST is available
Water Linked Supports UGPS and DVL-A50 DVL-A50 extension available;
UGPS not yet supported

Release Types

BlueOS has a difference release cycle compared to the old Companion. Different releases were created to improve user access to the latest fixes and improvements, and also help developers and enthusiasts to have easy access to the latest version of BlueOS. The three release types are:

  • Stable: Official stable releases, officially tested and validated
  • Beta: Quick-passed rolling releases with new features, bug fixes and general improvements
  • Master: Super extremely extreme quick-passed bleeding edge releases :fire:, for those who want to experience the future

When BlueOS is connected to the internet, a notification appears if a newer version of the same release or a stabler type is available. E.g: When using a Stable version, only new Stable versions will trigger a notification. If using a Beta release, newer Beta and Stable releases will trigger a notification. When running Master, any release type newer than the active one will trigger a new update notification. This helps to ensure that any updates will be as or more stable than your current version, unless you intentionally change to a less stable release type.

Upgrading Requirements

Note that installing BlueOS requires opening the electronics enclosure and flashing the Raspberry Pi SD card. While we understand this can be time-consuming, the stable release means no major reformats are expected / planned for, and effort will be put into avoiding additional SD card flashes for hopefully multiple years.

Future of Companion

The old Companion software will no longer be receiving updates, and can be considered retired. We recommend switching to BlueOS for most users, but the latest Companion version (0.0.31) will still be supported for a little while for users who require features that are not yet available in BlueOS.

We hope that BlueOS can bring a better experience for users, and inspire developers to improve its functionality with applications and extensions. Take your time to check it out, and happy exploring! :wave:

Quick links

  1. Documentation
  2. Source code
  3. Releases, changelogs, files
Blue OS Download
Video ok but no telemetry every time i switch the BLUEROV ON
Configuration of companion Raspberry Pi
Pixhawk Flash update: BootLoader question
Ardusub web interface refuses to connect in BlueROV2
Where to download latest firmware for companion and Ardusub
Motor calibration menu in QGC disappears, lots of "parameter missing" errors occur
Video pixelated and delayed/missing
The interval of getting data
Rasberry Pi is not opening(Rainbow Screen)
Link question,can't upload successfully
No Video Device Detected
Issues upgrading companion from 0.0.15
Ping 1D causing " increase the temperature of the SoC made lagging of joystick"
Camera lens for BR camera
Problem updating ardusub 3.5.4 to new version
Getting video, but no connection to rov
Losing BR2 connexion after Python update
Pingproxy service not available on boot
Upload Nan MBPS
Can't connect to Qgroundcontrol
Adding Serial Endport in MavLink Router? ~/router.conf
QGC map does not show ROV icon and wake
Connect both Ping360 and Ping Sonar Altimeter
Upload Ardusub code to pixhawk using waf
New Product: The Navigator Flight Controller and BlueOS!
MANUAL_CONTROL axes and heavy config
Companion update crash
Problems with new Bluerov
Video won't record
Can't connect to Qgroundcontrol
Arming the Vehicle
New Product: The Navigator Flight Controller and BlueOS!
Connecting BlueROV2-Rpi to WiFi using MAC address on router (no password for network)
Sometimes ardusub on pixhawk doesn't start automatically
Adding Serial Endport in MavLink Router? ~/router.conf
No module named v20.ardupilotmega
Depth Hold Problems?
WaterLinked DVL A50 integration not working
Running QGroundControl in parallel with Python script
Update ArduSub Failed

This sounds really great. Can’t wait to upgrade and see how it goes on our ROV.

1 Like

Documentation of each page/service in BlueOS-1.0 is now available! :smiley:

Docs for BlueOS-1.1 (currently in beta) will be coming soon :slight_smile:

Let us know if there’s anything you’d like more information about in either version.


Eliot, I cannot find a confirmation of the sub-versions of Pi 3 and 4 that are supported by BlueOS. Are all included ? ie 4B

Hi @ogopogo,

The ‘B’ versions are the standard, and should work fine (e.g. RPi3B, 3B+, 4B). There may be issues / extra configuration required with other boards or other formats with the same chips (e.g. the compute module boards, and possibly the Zero 2W).

Perhaps worth noting that the supported boards are mentioned in the post, in the first row of the “Feature Comparison” table:

A similar table can be found in Overview / Feature Comparison in the docs.

Is there somewhere else you think we could put that information so it would be easier to find? :slight_smile:

under principles and goals it refers to Pi 3/4 - I probably then moved elsewhere, skipping the info in the next section. perhaps that could make the identical statement ? Thanks for the confirmation.

1 Like

Is this download now required to do any future updates on the Blue ROV? I’m trying to get my waterlinked GPS system working with the ROV and wondering if I have to do this upgrade first. Currently when I try to click on the link in the ROV start up guide It says is unreachable, any pointers would be great

Hi @Mary-Claire,

As mentioned in the post:

The Water Linked section of the features comparison table mentions that

So you’ll need to use Companion for now :slight_smile:

Ok thanks so much Eliot, i’ll put the old card back in!

1 Like

@EliotBR @patrickelectric just curious when you think BlueOS will be able to handle DVL?

1 Like

@Jnyberg I’m a bit confused here - I gave you instructions for it a month ago, which you then asked some follow-up questions on. Is there something wrong with the existing integration?

The DVL package is also linked to from the features comparison table in this post, and the comment two above yours.

Well I have been working with it but still can’t get it to connect, then I saw the post above about how it says UGPS is not yet supported. So I got confused by what that meant and wondered if that would have any effect on why I can’t get DVL to work. But I think I see my confusion, those are two seperate products and I thought they were listed under one. Apologies for confusion

If this is a different issue to the one described in the other thread, please make a new post for it. If it’s still the issue of connecting fine but not having valid velocities then my previous advice stands that you may need to test in a larger body of water, or there may be something wrong with your DVL (which you’ll need to contact WaterLinked about).

Hi Eliot, thanks for sharing detailed release log

I have a question

Is it possible to install ROS kinetic/melodic/noetic which will be compatible with BlueOS so we can see different topics messages such as from mavros package? Does this depends on the choice of the board such as rpi3 b+/rpi4/ new Nav board. Presumably it will be great having ROS features.

Hi @nurjan14, welcome to the forum :slight_smile:

ROS integration is an interesting feature, but it’s not yet part of the existing BlueOS feature set, and is not an immediate priority on our internal development roadmap.

I expect it won’t be implemented as part of the core BlueOS system (that everyone uses), but is probably a good idea for an extension package (perhaps created by the community?) that can be installed by anyone who wants to use it :slight_smile:

7 posts were split to a new topic: BlueOS Bridges not Persisting