Raspberry Pi Streaming Setup for exploreHD#


If you are plugging your Vehicle/Raspberry Pi/Other Device directly into your laptop via an ethernet cable/adapter/dongle, please see the PC Network Setup Guide first.


The following instructions are for if you want to set up streaming from a Raspberry Pi without ArduSub. If you want plug-and-play compatibility we recommend following this guide for installing BlueOS alongside our software.

These instructions are mostly for MATE ROV teams who want the ability to stream multiple exploreHDs easily, yet retain the ability to use their own flight controller!

Multi-Cam exploreHD Setup



If you are plugging your Vehicle/Raspberry Pi/Other Device directly into your laptop via an ethernet cable/adapter/dongle, please see the PC Network Setup Guide first.

Initial Setup

Step 1: Flashing the Raspberry Pi

  • Download and run the Raspberry Pi Imager from the official Raspberry Pi website

  • If you haven’t already, insert the SD card into your computer

  • Select Raspberry Pi OS (32-bit) for the Operating System and the SD card you inserted as the SD card.

  • Select Write to begin flashing the Operating System to the SD card

Step 2: Powering

  • Plug in a compatible HDMI cable and monitor to the Pi

  • Connect a USB keyboard and mouse to the Pi

  • Power the Pi using a micro usb or usb c power adapter depending on the version of Raspberry Pi you are using


Ensure you power the Pi after plugging the monitor into the Pi and wall power, otherwise, the Pi will not recognize the display and you will have to power cycle the device.

Step 3: Perform the Initial Setup

  • Setup the Pi with the GUI provided at start

  • Ensure WiFi is connected as soon as possible


Make sure you select the US Keyboard layout or some keys will not be recognized properly.

Step 4: Set Static IP

  • Edit dhcpcd.conf - sudo nano /etc/dhcpcd.conf

  • Add:

interface eth0
static ip_address=

to the end of the file

  • Save and close the file with ctrl-o, enter, and then ctrl-x

Step 5: Connect to a Laptop

  • Plug in an ethernet cable into the Raspberry Pi with the other end connected to a Windows or Linux laptop or PC

  • Enable ssh on the pi

Enabling SSH on the Raspberry Pi

Run sudo raspi-config

Raspi Config

Select Interface Options and press enter

Raspi Config Interface Options


Use the arrow keys to navigate the menu up and down

Under Interface Options, Select SSH

Raspi Config SSH

Select yes and press enter

Raspi Enable SSH

  • Reboot the pi with: sudo reboot

SSH into the Pi

This guide describes how to connect to a Raspberry Pi over a secure ssh connection. It is expected the Raspberry Pi is connected over ethernet and has the IP, which is standard for most ROVs.

:::{dropdown} Windows
   For Windows, we recommend using Putty, which can be downloaded [here](https://www.putty.org/)

   * After installing, open Putty and type the address of the Raspberry Pi (which should be set to if you are following {doc}`Our Guide <./pi_setup>`)

   * Keep the other settings as default and click the `Open` button

   ![Putty Connect](../img/pi_setup/putty/putty2.png)

   * After connecting you will be prompted with a *security alert*. Ensure you select **accept**.

   ![Security Alert](../img/pi_setup/putty/putty3.png)

   * To log in, use the following credentials: username: `pi`, password: `raspberry`

   * You will be greeted with a terminal


:::{dropdown} Linux/Mac
   First, open your terminal app.

   If using Linux, this will depend on your distribution. On MacOS, you can open spotlight and type: `Terminal`.

The general format for ssh on unix is: ssh -p port user@IP-Address

Enter the following command:

ssh -p 22 pi@

The password will be raspberry by default.


At this point, you can disconnect the USB keyboard, mouse, and monitor from the Raspberry Pi.

Installation Instructions

Step 1: Update the Pi

sudo apt-get update
sudo apt-get upgrade
sudo apt full-upgrade


This process may take a while

Step 2: Install the Latest Version of GStreamer

Remove the included version of GStreamer:

sudo apt-get remove libgstreamer* gstreamer1.0*

Install GStreamer:

sudo apt-get install gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-libav

Step 3: Plug in the Camera

If you haven’t already, connect an exploreHD or HDCam to an available USB port on the Raspberry Pi


See exploreHD or HDCam getting started guides


Automatic Stream Setup

For automatic, plug and play of the stream to work on the Raspberry Pi, use DWE OS. This system will automatically run at startup and saves the settings automatically. It supports UDP stream and H264 compression settings.



Manual Stream Setup


It is not recommended to use the following instructions unless customizability is required. Please use DWE OS when possible to minimize issues or compatibility concerns.

Step 1: Finding the device v4l2-ctl --list-devices

Device List

Look for device: exploreHD USB Camera: exploreHD


In this example, we have 2 exploreHDs connected so it shows up twice.

You can ignore /dev/media*

The different video numbers in each section represent the different encoding format. Typically the third one on the list is for H264 (in the above example video6 and video2 are H264 formats). Keep those in mind for the next step. The video number won’t change as long as the USB device doesn’t get unplugged even when you reboot the Pi.


If you are unsure the device number you selected is ‘H264’ format, you can run v4l2-ctl --list-formats --device * to find out. (replace * with the device number)

Step 2: Streaming in H264

On the Raspberry Pi, run:

gst-launch-1.0 -v v4l2src device=/dev/video* ! video/x-h264, width=1920,height=1080! h264parse ! queue ! rtph264pay config-interval=10 pt=96 ! udpsink host= port=5600 sync=false


In this example, host= due to the expected setup in Receiving regarding Windows Setup. If that specific setup cannot be followed you may replace this with the local IP of your device.


Replace the * in device=/dev/video* with the video device number seen in the previous step.

To stream more than one exploreHD at the same time, you can add an & to the code and run another one with the respective video device and port number.

You can make this command autorun to make your ROV camera streaming system!


The simplest and most reliable method of viewing multiple high-quality and lowest latency is using our software, Discovery!.

To learn more, see our Discovery quickstart guide –>