# Add a device as a follower to another device
Source: https://docs.dwe.ai/api-reference/cameras/add-a-device-as-a-follower-to-another-device
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/add_follower
# Add a device as a follower to another device
Source: https://docs.dwe.ai/api-reference/cameras/add-a-device-as-a-follower-to-another-device-1
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/remove_follower
# Add a follower. This endpoint is identical to the standard add_follower but it bypasses some restrictions
Source: https://docs.dwe.ai/api-reference/cameras/add-a-follower-this-endpoint-is-identical-to-the-standard-add_follower-but-it-bypasses-some-restrictions
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/external/add_follower
# Configure a stream
Source: https://docs.dwe.ai/api-reference/cameras/configure-a-stream
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/configure_stream
# Get all devices
Source: https://docs.dwe.ai/api-reference/cameras/get-all-devices
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/devices
# Get all devices as a map from bus info to device
Source: https://docs.dwe.ai/api-reference/cameras/get-all-devices-as-a-map-from-bus-info-to-device
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/devices/map
# Notify dweOS that a camera has been configured externally
Source: https://docs.dwe.ai/api-reference/cameras/notify-dweos-that-a-camera-has-been-configured-externally
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/external/notify_camera
# Restart a stream
Source: https://docs.dwe.ai/api-reference/cameras/restart-a-stream
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/restart_stream
# Set a device nickname
Source: https://docs.dwe.ai/api-reference/cameras/set-a-device-nickname
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/set_nickname
# Set a UVC control
Source: https://docs.dwe.ai/api-reference/cameras/set-a-uvc-control
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/set_uvc_control
# Get supported features
Source: https://docs.dwe.ai/api-reference/features/get-supported-features
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/features
# Get Logs
Source: https://docs.dwe.ai/api-reference/logs/get-logs
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/logs
# Activate a given profile for a device
Source: https://docs.dwe.ai/api-reference/network/activate-a-given-profile-for-a-device
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/network/wired/activate_profile
# Get the connection profiles
Source: https://docs.dwe.ai/api-reference/network/get-the-connection-profiles
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/network/connection_profiles
# Get the wired devices
Source: https://docs.dwe.ai/api-reference/network/get-the-wired-devices
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/network/wired/devices
# Update the profile of a given nmconnection
Source: https://docs.dwe.ai/api-reference/network/update-the-profile-of-a-given-nmconnection
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/network/update_connection_profile
# Get Preferences
Source: https://docs.dwe.ai/api-reference/preferences/get-preferences
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/preferences
# Get Recommended Host
Source: https://docs.dwe.ai/api-reference/preferences/get-recommended-host
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/preferences/get_recommended_host
# Set Preferences
Source: https://docs.dwe.ai/api-reference/preferences/set-preferences
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/preferences/save_preferences
# Apply From Fps
Source: https://docs.dwe.ai/api-reference/pwm/apply-from-fps
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/pwm/apply_from_fps
# Get Frequency
Source: https://docs.dwe.ai/api-reference/pwm/get-frequency
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/pwm/frequency
# Set Frequency
Source: https://docs.dwe.ai/api-reference/pwm/set-frequency
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/pwm/frequency
# Cancel a zip job
Source: https://docs.dwe.ai/api-reference/recordings/cancel-a-zip-job
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/recordings/zip/cancel/{job_id}
# Check zip job status
Source: https://docs.dwe.ai/api-reference/recordings/check-zip-job-status
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings/zip/status/{job_id}
# Delete a recording
Source: https://docs.dwe.ai/api-reference/recordings/delete-a-recording
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json delete /api/recordings/{recording_path}
# Delete multiple recordings
Source: https://docs.dwe.ai/api-reference/recordings/delete-multiple-recordings
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/recordings/bulk-delete
# Download ZIP using token
Source: https://docs.dwe.ai/api-reference/recordings/download-zip-using-token
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings/zip/download
# Get a specific recording
Source: https://docs.dwe.ai/api-reference/recordings/get-a-specific-recording
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings/{recording_path}
# Get all recordings
Source: https://docs.dwe.ai/api-reference/recordings/get-all-recordings
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings
# Get physical disk usage
Source: https://docs.dwe.ai/api-reference/recordings/get-physical-disk-usage
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings/disk
# Rename a recording
Source: https://docs.dwe.ai/api-reference/recordings/rename-a-recording
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json patch /api/recordings/{old_name}/{new_name}
# Start background zip job
Source: https://docs.dwe.ai/api-reference/recordings/start-background-zip-job
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/recordings/zip/prepare
# Restart the system
Source: https://docs.dwe.ai/api-reference/system/restart-the-system
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/system/restart
# Shutdown the system
Source: https://docs.dwe.ai/api-reference/system/shutdown-the-system
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/system/shutdown
# Image Test
Source: https://docs.dwe.ai/discovery/guides/image-test
Test directly connected USB cameras.
This is the Image Test page, which can be used to test DWE cameras connected directly to your computer's USB port.
Any detected DWE camera will show up on the left sidebar, and the view can be toggled on and off with the power button.
Looking for your dweOS stream? This page only detects cameras physically plugged into your computer (running Discovery) via USB.
If your camera is plugged into a Raspberry Pi running dweOS, please navigate to the Stream Viewer Page to configure and view your video streams.
# Quickstart
Source: https://docs.dwe.ai/discovery/guides/quickstart
This is a quickstart guide to using Discovery for Desktop.
The all-in-one multimedia solution for subsea network video streams.
If you are plugging your Vehicle/Raspberry Pi/Other Device directly into your
laptop via an ethernet cable/adapter/dongle, please see the [Network Setup
Guide](/dwe-os/guides/desktop-network-setup) first.
Once Discovery is installed, open the application.
Click the Icon on the dock at the bottom of the screen to add a **Video Card**.
Each **card** has 3 configuration fields and a couple action buttons. Additional information on each of the fields and buttons can be found [here](/discovery/video-card-buttons).
If you have trouble receiving a stream, allow Discovery through your firewall
and antivirus, as they can block its access to your network. Also check that
dweOS is configured correctly and streaming to the right port.
# Home
Source: https://docs.dwe.ai/discovery/introduction
This is an introduction and guide to using Discovery for Desktop.
Welcome to **Discovery for Desktop**! Discovery helps you view, stream, and record multiple video feeds at once. Whether you connect USB DWE cameras or stream via dweOS, you can manage all of your endpoints from one place.
Explore the documentation below to get familiar with the interface, configure your network settings, and start capturing video.
## Explore the Documentation
Get up and running quickly with our Quickstart guide, and learn how to use
the Image Test page for USB DWE cameras.
Learn how to use the Stream View Controller for global triggers, like
streaming, recording, or snapshotting all active cards at once.
Dive into individual video card settings, including IP, Port, FPS inputs,
fit views, and localized streaming/recording controls.
Configure application-wide settings, including save paths for captures,
custom filename schemes, default IP/Port configs, and advanced networking.
Learn how to activate your software, manage multi-machine licenses, and
securely unlink your license for device transfers.
# IP Address, Port, and Frame Rate
Source: https://docs.dwe.ai/discovery/video-card-buttons/ip-port-fps
Configure the streaming endpoints for your video card.
Together, your **IP** and **Port** number make the streaming endpoint. **FPS** specifies the *RECORDING* framerate.
The IP address options are taken from the detected system IPs, in addition to Localhost (127.0.0.1) and Unspecified (0.0.0.0).
For best recordings, make sure the `Recording FPS` is set to match with the
framerate selected in dweOS.
## Editing the fields
# Video Card Overview
Source: https://docs.dwe.ai/discovery/video-card-buttons/overview
An overview of the controls available on each video card.
Each video card features several controls to manage your streams, recording states, and views.
Select a section below to learn more about specific card buttons:
Configure the streaming endpoints for your video card.
Control streaming and recording states.
Take snapshots of the current stream.
Toggle the configuration fields.
Adjust how the video feed fits within the card.
View the stream's bitrate and track it over time.
# Streaming/Recording
Source: https://docs.dwe.ai/discovery/video-card-buttons/streaming-recording
Control streaming and recording states.
A video card's buttons change with its state. A stream has to be running before a recording can start, so the buttons appear in that order: **stream first, then record**.
## Streaming
Press **Start Stream** to begin.
**Stop Stream** ends the feed, and **Start Recording** becomes available.
**MJPEG** streams also get [**Snapshot**](/discovery/video-card-buttons/snapshotting).
## Recording
While the card is streaming and not already recording, press **Start Recording**.
While the card is recording, conclude the recording with **Stop Recording**.
The resulting video(s) can be found through the file path under "Save Paths" within the [Capture Path Settings](/discovery/global-settings/capture-paths) card.
## Activity light
The light on the card tab tells you the state at a glance.
**No light** — the card isn't streaming.
**Solid** — the card is streaming.
**Slow blinking** — the card is recording.
# DWE Docs Plugin / MCP Server
Source: https://docs.dwe.ai/docs-plugin
Connect this documentation to Claude or ChatGPT so it answers your questions using our official docs.
## What Is This?
AI assistants like Claude and ChatGPT answer from whatever they picked up during training. That information can be outdated, incomplete, or simply wrong about our products.
The DWE Docs Plugin / MCP Server gives the assistant a direct line to **this** documentation site. Once connected, it looks up the real page before answering you.
You do not need to be a programmer. Setup is a one-time copy-and-paste of a single web address, and takes about a minute.
## The Address
This is the only thing you need to copy:
```
https://docs.dwe.ai/mcp
```
Once connected, the assistant gets three tools:
| Tool | What it does |
| - | - |
| **Search documentation** | Searches this site for relevant pages |
| **Query docs filesystem** | Opens specific pages directly |
| **Submit documentation feedback** | Reports a problem to our docs team |
The first two tools are read-only. The third only sends a message to our docs team. The plugin can see this public documentation site and nothing else — not your files, your hardware, or anything in your account.
## Setup
Available on Free, Pro, Max, Team, and Enterprise plans. Free accounts are limited to one custom connector.
Open **Settings**, then under the **Customize** heading select **Connectors**.
Click the **Add** button in the top right, then choose **Add custom connector**.
Name it exactly `DWE` — that name becomes the shorthand you type in chat — and paste `https://docs.dwe.ai/mcp` into the **Remote MCP server URL** field.
Leave **Advanced settings** alone — our server needs no authentication, so the OAuth fields stay empty. Click **Add**.
Adding the connector does not switch it on. On the page that appears, click **Connect**. You should then see **Connected to DWE**.
On the same page, find **Tool permissions**. Set the **Read-only tools** dropdown to **Always allow** so the assistant can search the docs without interrupting you.
Leave **Write/delete tools** on **Needs approval**. That group holds only the feedback tool, and you should be asked before anything is sent.
In any conversation, click the **+** button to the left of the message box, then **Connectors**. **DWE** should already be toggled on.
On Team and Enterprise plans, an organization owner has to add the connector first under **Organization settings > Connectors**. After that, members find it under **Customize > Connectors** and click **Connect**.
Custom plugins require **developer mode**, in the ChatGPT web app.
Go to **Settings > Plugins**, then click **Developer mode**. This jumps you to **Settings > Security and login**, where you switch **Developer mode** on.
ChatGPT flags this setting as elevated risk because it lets you add unverified plugins. That warning is about custom plugins in general — ours only reads this public documentation site.
Go back to **Settings > Plugins** and choose **Browse plugins**, then click the **+** button beside the search box.
* **Name:** `DWE` (this becomes the shorthand you type in chat)
* **Connection:** leave on **Server URL** and paste `https://docs.dwe.ai/mcp`
* **Authentication:** change from OAuth to **No Auth**
Tick **I understand and want to continue**, then click **Create**.
A confirmation appears reading **Add DWE to ChatGPT**. Click **Connect**. You should see **DWE is now connected**.
On the plugin's page, open **Permissions** and select **Allow read actions** — "ChatGPT can read without asking, but will ask before making changes."
This is one step stricter than the **Allow low-risk actions** default for writes, while letting documentation searches run without a prompt every time.
If you use Claude Code, add it from your terminal in one line:
```bash theme={null}
claude mcp add --transport http DWE https://docs.dwe.ai/mcp
```
Confirm it connected:
```bash theme={null}
claude mcp list
```
Menu names in Claude and ChatGPT change from time to time. If a step above does not match what you see, look for wherever your assistant lists **Connectors**, **Plugins**, or **Apps**, and find the option to add a custom one by URL.
## Using It
Once it is connected, ask your questions normally — the assistant reaches for the docs on its own when a question is about our products.
To point it at the documentation explicitly, type `@DWE` in your message:
```
@DWE what is the depth rating of the exploreHD?
```
This is why the setup steps name it `DWE`: the name you give the connector is the shorthand you type.
## Troubleshooting
Two things to check. First, adding the plugin is not the same as connecting it — open it in your settings and confirm it says **Connected**. Second, check it is switched on for your conversation.
You can also point it at the docs explicitly by typing `@DWE` in your message.
In ChatGPT, custom plugins are hidden until **developer mode** is switched on under **Settings > Security and login**. In both Claude and ChatGPT, use the web app rather than a mobile app.
Set the read tools to run without prompting. In Claude, set **Read-only tools** to **Always allow**. In ChatGPT, set the plugin's **Permissions** to **Allow read actions**.
Check the address for typos — it must be exactly `https://docs.dwe.ai/mcp`. Corporate firewalls and VPNs can also block the connection. If it still fails, contact [support@dwe.ai](mailto:support@dwe.ai).
Ask it to cite the page it used, then check that page directly. If our documentation is wrong, tell the assistant to report it — the plugin includes a feedback tool that sends the problem to our docs team. You can also email [support@dwe.ai](mailto:support@dwe.ai).
# Set a Static IP Address on Raspberry Pi
Source: https://docs.dwe.ai/dwe-os/guides/change-ip-address
This guide explains how to configure a static IP address on your Raspberry Pi.
This guide assumes you have sudo access on your Raspberry Pi and are comfortable using the terminal.
We created this guide based on the one here! Click here if you want more detailed info.
## Open a Terminal Window on the Raspberry Pi
If you're connected directly to your Raspberry Pi with a monitor and keyboard, you can open the terminal by clicking on the terminal icon or pressing `Ctrl` + `Alt` + `T`.
If you're connected via SSH, you are already in a terminal session.
SSH Guide for your Raspberry Pi.
## Determine Network Interface and Current IP
In the terminal, run the following command to list your network interfaces:
```
ip addr
```
Look for the interface you are using (e.g., `eth0` for wired connection or `wlan0` for wireless). Note down the interface name.
Under the interface, look for the `inet` line to find your current IP address. Note down the IP address, subnet mask, router (gateway), and DNS server.
## Edit the `dhcpcd` Configuration File
Use a text editor like `nano` to edit the `dhcpcd.conf` file:
```
sudo nano /etc/dhcpcd.conf
```
Scroll to the end of the file and add the following lines, replacing the placeholders with your actual network details:
```
interface
static ip_address=/
static routers=
```
**BlueOS Example:**
```
interface eth0
static ip_address=192.168.2.2/24
static routers=192.168.2.1
```
Press `Ctrl` + `X` to exit, then `Y` to save changes, and `Enter` to confirm the file name.
## Restart the Raspberry Pi
Restart your Raspberry Pi to apply the changes:
```
sudo reboot -h now
```
## Verify the Static IP Configuration
After rebooting, open the terminal on the Raspberry Pi and run:
```
ip addr
```
Confirm that your interface now has the static IP address you configured.
If you are unable to connect to your Raspberry Pi after setting a static IP, ensure that the IP address is within your network's range and does not conflict with other devices.
# Desktop Network Setup Guide
Source: https://docs.dwe.ai/dwe-os/guides/desktop-network-setup
This guide is to help you set up a direct connection between your vehicle/system with your laptop/PC or other desktop computer.
Ensure you are directly connecting your vehicle/system to an ethernet port on your
laptop/PC.
## Configure Device Ethernet
This step is necessary to set the IP of your device in the local network provided by the SVC over ethernet.
Under **Settings/Network & Ethernet**, select **Ethernet**
Under **Related Settings** on the right, select `Change Adapter Options`
Find the adapter named `Ethernet` with the subtitle of `Unidentified Network`
Right-click the adapter and select `Properties`
Locate `Internet Protocol Version 4 (TCP/IPv4)` and select `Properties`
Edit the menu to look like the following:
Click `OK` to apply changes. This should now allow your Pi to identify your Windows device under the correct ip address to stream data to.
These instructions are for `Ubuntu 22.04`, however, can be generalized to most Linux Distros.
Search for **Settings**.
Select **Network**.
Under to **Wired**, select the settings/gear icon.
Select the **IPv4** tab at the top.
Under **IPv4 Method**, select **Manual**.
Under **Addresses** change your settings to the following:
Click **Apply**. This should now allow your Pi to identify your Linux device under the correct ip address.
These instructions are based on **macOS 26 Tahoe**, however, it can be applied to most versions of macOS.
Go to **System Settings**.
Go to **Network settings**.
Select your Ethernet adapter. Wired connections will have the **〈⋯〉** symbol (see below).
To determine your connection, **disconnect and then reconnect** your adapter.
It will dissapear and reappear in the selectable options.
Select **Details**.
Go to **TCP/IP**.
Choose "Configure IPv4" **Manually**, and use the following settings for IP address and subnet mask.
Click **OK**. If Configured properly, a green dot with "Connected" should be visible under the connection.
This button will take you back to the page you were on previously!
# Get on to the dweOS Home Page
Source: https://docs.dwe.ai/dwe-os/guides/quickstart
This guide is to help you get to the home page of dweOS.
### Install dweOS
If you haven't install dweOS, install it on your existing Linux system or Raspberry Pi.
Once you have finished installing **dweOS** via the command line, you can access the graphical interface through any modern web browser.
Depending on where dweOS is running relative to your current device, use one of the two methods below.
## Connection Methods
### 1. Local Access
If you are sitting at the same machine where dweOS was installed, you can reach the home page using the local loopback address.
* **URL:** `http://localhost`
* **Port:** 80 (Default)
Since dweOS runs on the standard HTTP port (80), you don't need to type the port number into your browser. Just `http://localhost` will work!
***
### 2. Remote Access (Network)
If dweOS is installed on a separate device (like a server, Raspberry Pi, or a dedicated workstation) on your local network, you will need that device's IP address.
1. **Find the IP address** of the host machine (e.g., run `hostname -I` or `ifconfig` on Linux).
2. **Enter the IP** into your browser's address bar.
| Setup Type | Address Format |
| :- | :- |
| **Standard IP** | `http://192.168.1.XX` |
| **Hostname** | `http://dweos.local` (if configured) |
## Success
Once you reach the home page of dweOS, you can move on to streaming video from your cameras!
***
## Troubleshooting
### Ask an assistant
**Original source prompt (English):**
I am having trouble accessing the dweOS Home Page. I need you to act as a technical support engineer specialized in dweOS.
Your Source Material: > Please use the official documentation at [https://docs.dwe.ai/dwe-os/guides/quickstart.md](https://docs.dwe.ai/dwe-os/guides/quickstart.md) to guide your troubleshooting.
Your Instructions:
* Do not provide a generic list of fixes yet.
* Instead, start by asking me the necessary diagnostic questions (one or two at a time) to understand my specific setup (e.g., Installation method, Local vs. Remote access, and specific error messages).
* Once you have my details, cross-reference them with the Troubleshooting Connectivity section of the documentation.
* Guide me step-by-step through checking my service status, firewall settings, and port conflicts until the page loads.
Please start by introducing yourself as the dweOS Support Assistant and ask me the first set of questions you need to help me.
Chat with Google Gemini.
Chat with Claude.
Chat with ChatGPT.
### Frequently missed
If the page fails to load, please check the following:
Ensure the dweOS process is actually running in your terminal. Look for a "Server started" or "Listening on port 80" message in your logs.
If accessing remotely, ensure your system's firewall allows incoming traffic on **Port 80**.
Make sure no other web server (like Apache or Nginx) is already using Port 80 on that device.
# Setting up RPi
Source: https://docs.dwe.ai/dwe-os/guides/setting-up-pi
Follow this guide to install dweOS on your device
Click here to setup your PC/Laptop to connect to your Raspberry Pi.
Follow this guide to get 1 or more cameras streaming between your devices.
# SSH Into a Raspberry Pi
Source: https://docs.dwe.ai/dwe-os/guides/ssh-rpi
This guide describes how to connect to a Raspberry Pi over a secure ssh connection.
It is assumed that your Raspberry Pi is connected over ethernet and has the IP
`192.168.2.2`. Adjust any parameters as necessary.
## Open a Terminal Window
Press the `Windows` + `R` keys to open the "Windows Run" dialog.
Type `Powershell` and press the `enter` key.
Press the `CTRL` + `ALT` + `T` keys on your keyboard
That should open a terminal window on your device. If that doesn't please check the instructions for your specific linux distribution.
Press the **⌘** + `Spacebar` keys on your keyboard
Type `Terminal` in the search bar and press `enter` on your keyboard.
## SSH Instructions
Type the following command into your terminal window:
`192.168.2.2` is the default IP Address on ROV configurations. Please change as
necessary.
```
ssh dwe@192.168.2.2
```
To log in, use the following default password on Raspberry Pi systems:
It may not look like you are typing in a password, but the terminal is indeed
receiving input.
```
deepwater
```
```
ssh pi@192.168.2.2
```
To log in, use the following default password on Raspberry Pi systems:
It may not look like you are typing in a password, but the terminal is indeed
receiving input.
```
raspberry
```
# dweOS to GStreamer
Source: https://docs.dwe.ai/dwe-os/guides/third-party-software/dweos-gstreamer
This guide is to help you setup streaming from dweOS with GStreamer.
dweOS does not officially support streaming with GStreamer. The following steps are for Linux and Windows only.
NOTE: Stream quality may suffer as a result.
GStreamer can be very complex/elaborate, even to set up one video stream. Many of the Quality of Life features like multiple streams and live recordings are much simpler and come with a user interface on [Discovery](https://dwe.ai/products/discovery)
After following the dweOS setup, continue to next steps.
Note down the port(s) being streamed to.
Within the terminal, run:
```sh theme={null}
sudo apt update
```
Then run the following to install GStreamer:
```sh theme={null}
sudo apt install gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools
```
Click here to download GStreamer for Desktop on your Laptop/PC.
Make sure to download the MinGW version, and install both runtime and development.
When in doubt, install the 64-bit version, as this is more common.
GStreamer would automatically install in the D drive if you have more than one drive on your PC. You can change it to the C drive when you do custom installation.
If yu instal it on the D drive, just keep note of that when you set up your environment variables below.
To get to Environment Variables, press `Win + R`
Type:
```
SystemPropertiesAdvanced
```
and press `Enter`
Click `Environment Variables...`
Highlight the variable `Path` under `User variables` by clicking on it and then click `Edit…` under the `User variables` box.
A new window should pop up and you want to click on `New` and add a path to your bin folder to the list. In this case, it’s:
```
C:\gstreamer\1.0\mingw_x86_64\bin
```
The path to your bin may vary and can be found from where you installed GStreamer in previous steps.
After that, click `OK` on both windows and you should be ready to go!
You should now have GStreamer setup and ready for next steps!
To verify the GStreamer setup, open `CMD` and run the following:
```sh theme={null}
gst-launch-1.0 --version
```
This should result in an output like:
```sh theme={null}
gst-launch-1.0 version 1.16.2
GStreamer 1.16.2
https://launchpad.net/distros/ubuntu/+source/gstreamer1.0
```
In order to link up connected devices video streams, you will first configure dweOS.
First identify your laptop / desktop IP address, which we will be populating into the dweOS software.
This can be done by running the following:
```sh theme={null}
ip addr
```
You will be met with many addresses, look through them, specifically addresses following the text:
`inet`.
It will most likely be in the format `192.168.x.xx`
You will want to replace the collected IP in dweOS under IP address, and take note of the port you are streaming to. (Default 5600)
Remember to create the streaming endpoint with the `(+)` button once the fields are filled!
In this example the collected IP is 192.168.5.55, and the port is 5600
The Port field being set to 5601 is automatic with the program, the only endpoint being streamed to have the camera icon next to them and a trash button to delete them.
The format of GStreamer is as follows:
```sh theme={null}
gst-launch-1.0 [FLAGS] [SOURCE] ! [FILTER] ! [SINK]
```
With the port in mind, there are a few parameters for the GStreamer command to be aware of.
**Vital Flags**:
* `-v`(Verbose): Prints stream info so you can see what resolution.format is being negotiated between elements.
* `-e`(EOS - End of Stream): Crucial for recording. If you press Ctrl+C without this flag, your file might be corrupted (missing headers). This flag forces a clean shutdown.
* `--help-all`: Lists every single element available on your system.
**Sources (Input)**:
* `videotestsrc`: Generates a test pattern (color bars, static, etc.).
* *Param*: `pattern=smpte` (or `snow`, `ball`, etc.)
* `autovideosrc` / `v4l2src`: Your webcam (Linux).
* *Param*: `device=/dev/video0`
* `filesrc`: Reads a local file.
* *Param*: `location=./video.mp4`
* `udpsrc`: Receives data over the network via UDP.
* *Param*: `port=5600` (The port to listen on).
* *Param*: `caps="..."` (Essential! Tells GStreamer what the raw bytes actually are).
* *Param*: `buffer-size=524288` (Increases buffer to prevent packet loss on high-res streams).
* Standard buffer sizes for H264 is `96` and MJPEG is `26`
**Sinks (Output)**
* `autovideosink`: Opens a window and plays the video.
* `fakesink`: Discards data (useful for testing if a pipeline runs without errors).
* `filesink`: Writes to a file.
* *Param*: `location=output.mp4`
* `udpsink`: Streams over the network.
**Essentials (Filters/Converters)**
* `videoconvert`: Converts colorspaces (e.g., from YUV to RGB). If you get a "could not link" error, throw this in the middle.
* `videoscale`: Resizes video.
* `capsfilter`: Forces a specific format. Syntax: `video/x-raw,width=1920,height=1080`.
* `rtp[format]depay`: Depayloader. unwraps RTP network packets to reveal the stream inside.
* *Examples*: `rtpjpegdepay` (for MJPEG), `rtph264depay` (for H.264).
* `[format]dec`: Decoder. Decompresses video into raw pixels for display.
* *Examples*: `jpegdec`, `avdec_h264`.
Here are a couple example lines to test your GStreamer:
**Test Pattern**
```sh theme={null}
gst-launch-1.0 -v videotestsrc ! videoconvert ! autovideosink
```
**Webcam Display (If available)**
```sh theme={null}
gst-launch-1.0 -v v4l2src ! videoconvert ! autovideosink
```
**Webcam Force 720p 30fps**
```sh theme={null}
gst-launch-1.0 -v v4l2src ! image/jpeg,width=1280,height=720,framerate=30/1 ! jpegdec ! videoconvert ! autovideosink
```
For higher resolutions, the video output is usually compressed MJPEG.
`image/jpeg` accept the compressed format from the camera.
`jpegdec` adds a decoder to turn that JPEG stream back into Raw Video so the window can display it.
**Record Webcam**
```sh theme={null}
gst-launch-1.0 -e v4l2src ! videoconvert ! x264enc ! mp4mux ! filesink location=test.mp4
```
This will record in the background, to finish the clip, press `Ctrl + C`, and it will be in the directory currently.
In this case the file is named `test.mp4`, which we can check for existence with `ls -lh test.mp4`
With an understanding of GStreamer commands, we can begin setting up the video stream specifically with dweOS.
Remember to set your own IP as the IP in the streaming endpoint!
Depending on the video codec (MJPEC / H264) specified in dweOS, run either of the following:
**MJPEG**
```sh theme={null}
gst-launch-1.0 udpsrc port=5600 caps="application/x-rtp, encoding-name=JPEG, payload=26" ! rtpjpegdepay ! jpegdec ! autovideosink
```
**H264**
```sh theme={null}
gst-launch-1.0 udpsrc port=5600 caps="application/x-rtp, encoding-name=H264, payload=96" ! rtph264depay ! avdec_h264 ! autovideosink
```
Remember to replace the port number in the command line with the port being streamed to!
You should now have a live stream from you camera in a window!
To record a stream, once again the video codec matters!
You will know a stream is being recorded should your terminal contain text similar to this:
**MJPEG**
For MKV
```sh theme={null}
gst-launch-1.0 -e udpsrc port=5600 caps="application/x-rtp, encoding-name=JPEG, payload=26" ! rtpjpegdepay ! jpegparse ! matroskamux ! filesink location=output_mjpeg.mkv
```
The line above is for an MKV format, as AVI is incredibly finicky with GStreamer and requires the output data to be formatted very specifically. While possible, MJPEG to AVI is much simpler in [Discovery](https://dwe.ai/products/discovery), as it is the default output.
**H264**
For MKV
```sh theme={null}
gst-launch-1.0 -e udpsrc port=5600 caps="application/x-rtp, encoding-name=H264, payload=96" ! rtph264depay ! h264parse ! matroskamux ! filesink location=output_h264.mkv
```
For MP4
```sh theme={null}
gst-launch-1.0 -e udpsrc port=5600 caps="application/x-rtp, encoding-name=H264, payload=96" ! rtph264depay ! h264parse ! video/x-h264,stream-format=avc ! mp4mux ! filesink location=video.mp4
```
Wonderful! You should now have the building blocks to set up a stream and recording with GStreamer!
Warning:
With GStreamer, a single camera setup already requires quite a bit of work,
and recording multiple streams at once would also require quite a bit of work
and development.
We recommend [Discovery](https://dwe.ai/products/discovery) should your camera setups become complex.
The all-in-one multimedia solution for subsea network video streams.
# dweOS (H.264 RTP over UDP) to OpenCV
Source: https://docs.dwe.ai/dwe-os/guides/third-party-software/dweos-h264-opencv
A lightweight, cross-platform starter project to receive H.264-encoded video via raw RTP/UDP packets and decode them into OpenCV-compatible frames.
View the full source code and example projects for DWE.ai cameras on GitHub.
## Features
* **Raw RTP/UDP**: No GStreamer or external dependencies required.
* **High Resolution**: Optimized for 1080p 30fps+ streams.
* **10-bit Support**: Handles 10-bit YUV 4:4:4 (`yuv444p10le`) and standard 8-bit formats.
* **Low Latency**: Uses a background receiver thread and multi-threaded decoding.
* **Modular Design**: Separates network handling, decoding, and display logic.
## Prerequisites
* **Python 3.8+**
* **FFmpeg libraries** (usually installed automatically via PyAV)
## Installation
Navigate to the `3-receive-dweos-h264/python` directory in the repository and set up your environment:
1. Create a virtual environment:
```bash theme={null}
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
```
2. Install the required dependencies:
```bash theme={null}
pip install -r requirements.txt
```
## Usage
1. Start your H.264 RTP stream (defaulting to `127.0.0.1:5600`).
2. Run the receiver:
```bash theme={null}
python main.py
```
## Project Structure
* **`rtp_receiver.py`**: Handles raw UDP packet reception and H.264 NAL reassembly (including FU-A and STAP-A).
* **`h264_decoder.py`**: Wraps PyAV for high-performance H.264 decoding.
* **`main.py`**: The main entry point that connects the receiver and decoder to an OpenCV window.
# dweOS to OBS Studio
Source: https://docs.dwe.ai/dwe-os/guides/third-party-software/dweos-obs
This guide is to help you setup streaming from dweOS to OBS Studio.
dweOS does not officially support streaming to OBS. The following steps are for Linux and Windows only.
After following the dweOS setup, continue to next steps.
Note down the port(s) being streamed to.
Click here to download OBS Studio for Desktop on your Laptop/PC.
Within the terminal, run:
```sh theme={null}
sudo apt install gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools
```
Install the development headers as well for plugin use:
```sh theme={null}
sudo apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
```
Click here to download GStreamer for Desktop on your Laptop/PC.
Make sure to download the MinGW version, and install both runtime and development.
When in doubt, install the 64-bit version, as this is more common.
GStreamer would automatically install in the D drive if you have more than one drive on your PC. You can change it to the C drive when you do custom installation.
If you install it on the D drive, just keep note of that when you set up your environment variables below.
To get to Environment Variables, press `Win + R`
Type:
```
SystemPropertiesAdvanced
```
and press `Enter`
Click `Environment Variables...`
Highlight the variable `Path` under `User variables` by clicking on it and then click `Edit…` under the `User variables` box.
A new window should pop up and you want to click on `New` and add a path to your bin folder to the list. In this case, it’s:
```
C:\gstreamer\1.0\mingw_x86_64\bin
```
The path to your bin may vary and can be found from where you installed GStreamer in previous steps.
After that, click `OK` on both windows and you should be ready to go!
You should now have GStreamer setup and ready for next steps!
To verify the GStreamer setup, open `CMD` and run the following:
```sh theme={null}
gst-launch-1.0 --version
```
This should result in an output like:
```sh theme={null}
gst-launch-1.0 version 1.16.2
GStreamer 1.16.2
https://launchpad.net/distros/ubuntu/+source/gstreamer1.0
```
Download the latest plugin build [here](https://github.com/fzwoch/obs-gstreamer/releases/).
From the `.zip` file extract and locate the `obs-gstreamer.so` file within the `linux` folder.
In another file explorer, locate the `obs-plugins` folder, or run this command in terminal to grab the path:
```sh theme={null}
sudo find /usr/lib -name "obs-plugins" -type d
```
This is likely to be similar to `/usr/lib/x86../obs-plugins`.
Move the `.so` file into the `obs-plugins` folder, or from the terminal, run:
```sh theme={null}
sudo mv ~/Downloads/linux/obs-gstreamer.so /usr/lib/x86_64-linux-gnu/obs-plugins/
```
In this case the location of my `obs-gstreamer.so` is `~/Downloads/linux/obs-gstreamer.so`, be sure to replace it with the path where you extracted the `obs-gstreamer.so` file.
Remember to replace the `/usr/lib/x86../obs-plugins` with your `obs-plugin` folder path as well.
Restart OBS Studio should you have it running.
Download the latest plugin build [here](https://github.com/fzwoch/obs-gstreamer/releases/).
From the `.zip` file extract and locate the `obs-gstreamer.dll` file within the `windows` folder.
In another file explorer, locate the `obs-plugins\64-bit` folder (or whichever bit size you installed)
This is likely to be similar to `C:\Program Files\obs-studio\obs-plugins\64bit`.
If you can't find it, right-click your OBS Studio shortcut on the desktop or Start Menu, select `Open file location`, and navigate up one level to the main `obs-studio` folder, where you'll find the `obs-plugins` folder.
Move the `.dll` file into the `obs-plugins\64-bit` folder.
Windows will likely ask for Administrator permission to move files into C:\Program Files. Click `Continue` or `Yes`.
Restart OBS Studio should you have it running.
The process from here is pretty much identical across operating systems.
Within OBS Studios, under the `Sources` tab, press the `+` button and add a GStreamer Source.
Under `Create new` name it whatever you'd like and confirm.
You'll next be prompted with a window like this:
Within the `Pipeline` input, replace the existing code with:
```sh theme={null}
udpsrc port=5600 ! application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)H264 ! rtph264depay ! avdec_h264 output-corrupt=false ! videoconvert ! video.
```
Replace the `5600` in `port=5600` with the port being streamed to from dweOS 2.
Windows may prompt you with a warning, and in that case, please enable OBS for both private and public networks
If you would like to add more than one stream, simply repeat from step `5`.
Remember to replace the port number as specified in the previous step!
More streams should show up on the main window of OBS. You may click on the video display to resize to your preference.
Here is an example of a setup with 3 exploreHDs!
For optimizing the setup, please navigate to `File > Settings > Output`.
Within output, set `Output Mode` to `Advanced` to access additional settings.
Given each camera is set to 10Mb/s as the default bitrate, the streaming and recording should match that. In the case of 3 cameras, providing at least 30Mb/s of streaming and recording bitrate should provide you with high quality.
Wonderful! You should now see the streams configured with OBS Studio.
Warning:
With a 3 stream setup, this configuration will rely on a powerful GPU to run
the videos smoothly. We found that OBS is a lot more intensive to run when
compared to Discovery. Make sure your laptop is powerful enough to run it or
you can lower the resolution of some of the streams to 720p.
# Using VLC with dweOS
Source: https://docs.dwe.ai/dwe-os/guides/third-party-software/dweos-vlc
This guide is to help you setup streaming from dweOS to VLC Player.
dweOS does not officially support streaming to VLC. The following steps are for Windows only.
After following the dweOS setup, continue to next steps.
Note down the port(s) being streamed to.
Click here to download VLC Player for Desktop on your Laptop/PC.
First, create a new text document in Windows and paste the following in depending on the codec being streamed:
## **H264**
```
v=0
m=video {PORT} RTP/AVP 96
c=IN IP4 0.0.0.0
a=rtpmap:96 H264/90000
```
## **MJPEG**
```
v=0
m=video {PORT} RTP/AVP 26
c=IN IP4 0.0.0.0
```
Ensure that the `{PORT}` field has been replaced with the port dweOS is streaming to.
Then save the document as an SDP file, ensure the file has the extension `.sdp`
Sometimes Windows hides the extension, so names end up as `{filename}.sdp.txt` under the hood. Setting your File Explorer to `View > Show > Filename name extensions` will show you the real extension and
allow you to change it through renaming.
To ensure that VLC can receive the stream, you must allow it through Windows Firewall.
Sometimes attempting to open the SDP file with VLC Player is enough for Windows to ask to allow it through,
but in the event it doesn't here are the steps to allow VLC through.
Press the Windows key or the Windows button on screen and type `Firewall`, then select **Windows Defender Firewall**.
On the left side of the window that opens, select **Allow an app or feature through Windows Defender Firewall**.
Under *Allowed apps and features*, find **VLC media player** and check all the boxes.
Pressing **OK** from here should allow VLC Player through.
From here, if dweOS is streaming toward your IP and the ports have been set correctly such that the port dweOS is streaming to and the port set in the SDP file match, you can do either of the following:
Right-Click the SDP file you created.
Select `Open With`.
If `VLC media player` is in the dropdown, select that, otherwise select `Choose another app` and select `VLC media player`.
**OR**
Open VLC Player.
Select `Media` then `Open File...`.
Select the SDP file you created.
Wonderful! You should now see the stream within VLC Player.
# dweOS + BlueOS Installation
Source: https://docs.dwe.ai/dwe-os/installation/blueos
A step-by-step guide to installing dweOS as a BlueOS extension.
## Overview
This extension provides a **minimal dweOS base** designed to stream and configure DWE cameras directly within the BlueOS ecosystem.
All camera configurations managed in dweOS **persist after reboots** and directly influence BlueOS streams. This integration allows you to leverage dweOS-specific features—such as hardware-level H.264 bitrate adjustment—within Cockpit and other BlueOS-compatible streaming applications.
***
## Installation
dweOS is available directly through the BlueOS Extension Manager, removing the need for manual terminal configuration.
As of May 2025, dweOS is an official BlueOS extension. Manual installation is no longer required.
Navigate to the **Extensions** page in the BlueOS sidebar.
Select the **Store** tab and search for `dwe os`.
Click **GET**, then **INSTALL**. Ensure you select a version labeled with `-blueos`.
Please wait **30-60 seconds** for the installation to complete and for the icon to populate in the sidebar.
Select the newly created **dwe\_os\_2** tab in the navigation bar.
You should now see the dweOS interface running within the BlueOS frame!
While most features are parity-matched, some advanced OS-level settings may be limited when running dweOS as an extension compared to a standalone installation.
***
## Support & Constraints
**Video Streaming Support:** We cannot provide direct support for video streaming issues within **Cockpit**. If you encounter streaming artifacts or connectivity issues in Cockpit, please contact the [BlueRobotics support team](https://bluerobotics.com/support/).
# Install dweOS on an existing system
Source: https://docs.dwe.ai/dwe-os/installation/cmd-line
This guide is to help you install our dweOS software on an existing Linux system.
If using **BlueOS**, follow [this guide](/dwe-os/installation/blueos) to install it as an extension instead.
## Getting Started
To install for a Raspberry Pi or other Linux-based system, you can execute the following command:
```sh theme={null}
curl -s https://raw.githubusercontent.com/DeepwaterExploration/dweOS/main/install.sh | sudo bash -s
```
**Note on Hardware PWM (RPi 4/5)**
Running this script will **not** automatically enable Hardware (High Precision) PWM.
To use this feature, you must manually enable it within your Raspberry Pi’s `config.txt` file.
For step-by-step instructions on how to do this, please refer to the
[Installation section of our GitHub](https://github.com/DeepwaterExploration/dweOS?tab=readme-ov-file#raspberry-pi-hardware-pwm).
Once installed, the script should exit with the following message:
```
Successfully installed dweOS
```
After the script runs, you can access the interface at the ip address of the device in a web browser.
# Install dweOS on a new Raspberry Pi
Source: https://docs.dwe.ai/dwe-os/installation/sd-card
This guide is to help you install our dweOS image.
## Getting Started
This method is not recommended, due to complexity with the static IP assigned to the image (192.168.2.2).
We recommend you install Raspberry Pi OS first, then installing dweOS [via the command-line](/dwe-os/installation/cmd-line).
If using BlueOS, follow our guide to [install dweOS as a BlueOS
extension](/dwe-os/installation/blueos)
## Installation on a new micro SD Card
Download the latest image [here](https://github.com/DeepwaterExploration/dweOS/releases/latest).
Download [Raspberry Pi Imager](https://www.raspberrypi.com/software/) to flash the image to an SD card.
# dweOS
Source: https://docs.dwe.ai/dwe-os/overview
Everything you need to know to get started with dweOS.
## Welcome to dweOS
dweOS is an **optional, Linux-only**, software interface designed to run on underwater systems
like a Raspberry Pi, our [Subsea Vision Computer](https://dwe.ai/products/machine-vision-computer)
and [microSVC](https://dwe.ai/products/micro-subsea-vision-computer-with-poe-rov-auv).
It acts as a powerful companion to DeepWater Exploration cameras, extending their functionality and providing a seamless, out-of-the-box experience.
dweOS does not support RTSP (Real-Time Streaming Protocol) Streaming. We use a more direct form of streaming called RTP (Real-time Transport Protocol).
RTSP acts as the "remote control" to set up the session (which often includes extra bloat and latency), while RTP handles the swift delivery of media packets, over UDP for minimum latency.
## What's new in dweOS?
dweOS represents a major leap forward, introducing features that dramatically enhance usability and capabilities:
* **Reliable Camera Enumeration:** Thanks to Bus ID tracking, your cameras retain their specific settings even after a system reboot. No more guessing which port corresponds to which camera.
* **Built-in Terminal Access:** Access the command line directly through the web interface for advanced configurations, without needing a separate SSH client.
* **Seamless PrecisionSync™:** Out-of-the-box support for stellarHD leader/follower configurations, enabling effortless synchronization.
***
## Installation
Ready to get started? Choose the installation method that best fits your setup:
Install dweOS on your existing system or fresh Raspberry Pi OS install via the command-line.
Running BlueOS? Install dweOS easily as an extension through the BlueOS Extension Manager.
Pre-made Raspberry Pi Image containing dweOS and set to a static IP address (192.168.2.2).
***
## Usage Guides
Once installed, explore these guides to configure your system:
Learn how to set up and manage live video streams from your cameras.
Maximize your experience with dweOS.
# Camera Controls
Source: https://docs.dwe.ai/dwe-os/pages/camera-controls
A comprehensive guide to understanding and configuring your camera settings in dweOS.
## Overview
Each camera has groups of settings to control various parts of the camera:
* **System Controls**
| Setting | Description |
| - | - |
| **Bitrate** | Determines the amount of data processed per second of video. Higher values yield better video quality but consume more network bandwidth. |
| **Group of Pictures** | Sets the interval between key-frames (I-frames) in the video stream. A higher value improves compression efficiency, while a lower value can reduce latency and improve stream stability over weak connections. |
| **Variable Bitrate** | When enabled, the stream's bitrate will dynamically adjust based on the visual complexity of the scene (VBR), saving bandwidth during static shots rather than pushing a constant bitrate (CBR). |
* [Exposure Controls](#exposure-controls)
* [Image Processing Controls](#image-processing-controls)
* **Advanced Controls**
| Setting | Description |
| - | - |
| **Strobe Width** | Sets the brightness of a connected strobe light configuration. |
| **ISO** | Sets the sensor gain. Keep your ISO as low as possible to reduce noise. |
| **Exposure Time** | Keep your exposure time low to prevent motion blur. |
| **Auto Exposure** | If auto exposure is enabled, you cannot modify the ISO or exposure time. Strobe lights will not work when auto exposure is enabled. |
* [Legacy Exposure Controls](#exposure-controls) - These are the controls shared with the exploreHD series. They provide less precise control over the image sensor compared to **Advanced Controls**.
* [Image Processing Controls](#image-processing-controls)
***
### Reset Controls
Click the (**Reset Controls**) button at the bottom of the camera control panel.
This will factory reset all camera image settings you adjusted.
This does not affect stream endpoints.
***
## Exposure Controls
| Setting | Description |
| - | - |
| **Gain** | Artificially amplifies the video signal to increase brightness in low-light scenarios. |
| **Backlight Compensation** | Adjusts the exposure to properly illuminate darker subjects that are positioned against a bright background, preventing them from appearing as silhouettes. |
Increasing Gain too much can introduce digital noise or "grain" into your
video feed.
### Auto Exposure
| Mode | Description |
| - | - |
| **Aperture Priority Mode** | The camera automatically adjusts the exposure time (shutter speed) while keeping the iris/aperture under manual or fixed control. |
| **Manual Mode** | This allows manual control of the exposure time (shutter speed) setting. |
All DWE cameras are fixed aperture, therefore only aperture priority mode is available.
### Exposure Time, Absolute
When in **Manual Mode**, this setting allows you to manually dictate the specific duration the sensor is exposed to light per frame.
### Exposure, Dynamic Framerate
When toggled on, this allows the camera to automatically lower its framerate in dark environments.
This increases the exposure time per frame, resulting in a brighter image at the cost of video smoothness.
***
## Image Processing Controls
| Setting | Description |
| - | - |
| **Brightness** | Adjusts the overall lightness or darkness of the video feed. |
| **Contrast** | Modifies the difference between the lightest and darkest areas of the image. |
| **Saturation** | Controls the intensity and vividness of the colors. |
| **Hue** | Shifts the overall color phase (tint) of the video. |
| **White-Balance, Automatic** | Toggles our custom auto white-balance algorithm designed to optimize color and clarity for underwater. |
| **Gamma** | Adjusts the brightness of the mid-tones in the video without severely affecting the extreme shadows or bright highlights. |
| **Sharpness** | Enhances edge detail to make the image appear crisper and more defined. |
| **Power Line Frequency** | Prevents video flickering caused by artificial lights. You should set this to match your local region's electrical grid frequency (e.g., `60 Hz` for North America, `50 Hz` for Europe/Asia). |
| **White Balance Temperature** | Adjusts the color temperature of the camera. Lower values produce cooler (more blue) tones, while higher values produce warmer (more orange) tones. |
# Viewing Logs
Source: https://docs.dwe.ai/dwe-os/pages/logs
This guide is to help you navigate and understand the Logs page in dweOS
The logs page should only be used if an issue is detected with dweOS and
support is required. Please be prepared with a log if contacting support
regarding dweOS
Logs are cleared upon system reboot and are not stored.
### Logs contain 6 key pieces of information:
1. The timestamp of the log
2. The log level
3. The name of the log's origin
4. The source
5. The message
# Network Configuration
Source: https://docs.dwe.ai/dwe-os/pages/networking
This guide covers configuring wired networking in dweOS
dweOS no longer supports Wi-Fi. Networking is configured entirely through
wired Ethernet interfaces and NetworkManager connection profiles.
Modifying the network configuration includes risks. If you misconfigure the network, you may be unable to reconnect to your device without recovery.
## Accessing the Page
Navigate to `Network` in the sidebar.
The page has two sections:
Shows every detected Ethernet interface, its state, and the connection
profiles available to it.
WiFi is not currently supported by dweOS. If you require WiFi support, [please submit an issue](https://github.com/DeepWaterExploration/dweOS/issues).
## Core Concepts
dweOS manages networking through NetworkManager:
* **Interface**: a physical wired port (e.g. `eth0`)
* **Connection Profile**: a saved network configuration that can be attached to a compatible interface. An interface can have
several profiles available to it, but only one can be **active** at a time. By default, units shipped with dweOS preinstalled will only have one available profile (**Wired connection 1**).
This means changing your network setup is a two-step process: **edit** a
profile's settings, then **activate** that profile on the interface (or
reboot, which reapplies the active profile).
## Interface List
Each interface appears as a collapsible section showing its name and current
state:
| State | Meaning |
| - | - |
| `UNAVAILABLE` | Interface exists but has no link (e.g. unplugged) |
| `DISCONNECTED` | Link is up but no profile is currently active |
| `PREPARE` / `CONFIG` / `IP_CONFIG` / `IP_CHECK` / `SECONDARIES` | Transitional states while a profile is being applied |
| `ACTIVATED` | A profile is active and the interface has an IP configuration |
| `DEACTIVATING` | The active profile is being torn down |
| `FAILED` | Activation failed |
Because it is required to connect over the network to view dweOS, you may get disconnected after network configuration. This means outputs will be less verbose than usual.
## Connection Profiles
Underneath each interface is the list of connection profiles compatible with
it. The active profile is highlighted and shows a checkmark, along with its
live network info:
* **IPv4 Address**: the address(es) currently assigned, with prefix (e.g.
`192.168.2.2/24`)
* **Default Route**: the gateway currently in use, if this profile is set to
provide the default route
* **DNS**: the DNS servers currently in use
Click any profile in the list to activate it on that interface.
## Editing a Profile
Click the gear icon on a profile to open its editor.
* **Automatic (DHCP)**: the interface requests an address from a DHCP
server.
* **Manual (Static IP)**: you provide the address, gateway, and DNS
yourself.
When Manual is selected, additional fields appear:
* **IP Addresses**: a table of address/prefix pairs. Use the **Add IP
Address** button to add another entry, or the trash icon to remove one.
* **DNS Servers**: a comma-separated list (e.g. `8.8.8.8, 1.1.1.1`)
* **Gateway**: the gateway IP for this profile
The **Use for Internet (Default Route)** checkbox controls whether this
profile is allowed to provide the system's default route. Leave this checked if you are unsure.
Saving writes the new configuration to the profile.
Saving does **not** immediately apply the change to a live interface.
To apply it, select the profile in the interface's list (this
re-activates it), or reboot the system.
Upon activation, you will need to manually navigate to the new IP address you specified and/or reconfigure your topside networking setup.
# Configuring Preferences
Source: https://docs.dwe.ai/dwe-os/pages/preferences
This guide is to help you setup preferences in dweOS
## Accessing the Page
Navigate to `Options/Preferences`
There are a few key settings that should be noted:
Describes the default host & port values for a new stream endpoint like the following:
Defines whether or not the default host will be automatically set to the host IP currently connected to dweOS.
This should be changed in systems often modifying stream endpoints that are extremely complex in IP configuration.
When disabled, the user is allowed to modify the default stream host. Otherwise, the text box is grayed out,
and will autofill the default host for any new stream.
# Streaming with dweOS
Source: https://docs.dwe.ai/dwe-os/pages/streaming
This guide is to help you setup streaming on dweOS
exploreHD cameras feature hardware [H.264
compression](https://youtu.be/qbGQBT2Vwvc?si=CUPvp6QpM2MiYpJz\&t=164), which
improves performance for multiple camera streams.
It may take a few minutes for the first boot if installed via image.
Open dweOS at the following URL:
```
http://dweos.local
```
Open dweOS with: `http://IP_ADDRESS_OF_DEVICE`
After enabling a
stream, there is some key information shown:
1. Resolution, FPS, and Format
2. Stream Endpoints (RTP)
3. IP Address & Port for new endpoint
4. Camera Controls
**You will not be able to view the stream unless a stream endpoint has been added.**
Each endpoint describes where the stream will be sent.
You are able to stream a single camera to multiple endpoints if desired.
By default, the IP Address will default to the device currently connected to the subsea computer.
This behavior can be changed in [preferences](/dwe-os/pages/preferences).
Set the IP Address and Port and click the Add button shown below.
After adding, the endpoints list should look like the following (`192.168.0.78` is the IP Address of the topside computer in this particular configuration):
The stream will automatically restart when modified.
Click here to download Discovery for Desktop on your Laptop/PC.
After download is complete, enter the IP address (stream endpoint IP) and port of the streams you would like to receive.
There you go! You should have your video streams showing up from your Raspberry Pi or subsea computer.
Learn the user interface in just a couple of minutes
dweOS does not support RTSP (Real-Time Streaming Protocol) Streaming. We use a more direct form of streaming called RTP (Real-time Transport Protocol).
RTSP acts as the "remote control" to set up the session (which often includes extra bloat and latency), while RTP handles the swift delivery of media packets, over UDP for minimum latency.
# Synchronized Streaming Guide
Source: https://docs.dwe.ai/dwe-os/pages/synchronized-streaming
Complete guide for configuring synchronized streaming for the explore3D.
Only two camera synchronization is supported at this time.
Navigate to the main page of dweOS and identify the `Leader` Camera -- listed with an `(L)` -- from the list of cameras.
If you are in **follower-follower** mode (both cameras are followers), choose the left-most camera in your system as the leader. Please make sure you have an [external sync signal](/stellarHD/guides/syncing-multiple-cameras#follower-only-mode-external-clock) configured in such a case. The **SVC Pro** already has external sync configured and expects all cameras to be followers by default.
Identify the `Follower` Camera -- listed with an `(F)` -- from the list of cameras. Keep a note of the `USB Port ID`.
Make sure to stop all video streams for the follower device. This might cause conflicts later.
In the menu for your Leader Camera, navigate down to the lower portion of the menu labeled `Followers`.
Select the correct follower device from the dropdown list, then click the `Add` button.
Set your desired resolution and ensure you add the correct endpoint.
For synchronized streaming only one endpoint is supported at the moment.
After configuring the stream, you can select the play button to begin streaming to your specified endpoint.
This is what the full setup should look like.
You can use [Discovery](https://dwe.ai/discovery) for viewing synchronized streams.
Click here to learn how to use Discovery for Desktop.
Synchronized streams from dweOS follow a custom protocol. If you need to receive the frames from a custom application, please use the [following sample code](https://github.com/DeepWaterExploration/RTPReceiverAPI).
# Restart/Shutdown Device
Source: https://docs.dwe.ai/dwe-os/pages/system-actions
This guide will teach you how to restart or shutdown your device
## Accessing the controls
The system actions button is located at all times in dweOS. It is located in the top right and can be selected for options.
## Options
With the system actions button, you are able to either shutdown, or restart the system.
Upon either button being selected, the system will immediately lose
connection.
# Accessing the Terminal
Source: https://docs.dwe.ai/dwe-os/pages/terminal
This guide is to help you setup the terminal in dweOS
Navigate to `Communications/Terminal` - You will be greeted with a terminal
window and a login prompt
Click on the terminal view to focus it
Type the username of the device and press enter. Then type the password
and press enter again.
**If using any of the provided dweOS images**, the username is `dwe`
and the password is `deepwater`
It may not look like you are typing in a password, but the terminal is indeed receiving input.
The terminal should now be open
# Usage
Source: https://docs.dwe.ai/dwe-os/pages/usage
The following are guides to help you get started with dweOS
## Basic Guides
Click here to learn how to setup streams on dweOS
## Advanced Guides
Click here to learn how to configure dweOS with optional configuration
settings
Click here to learn how to view dweOS logs for customer support
Click here to learn how to view dweOS logs for customer support
Configure your networking setup.
Configure synchronized streaming for explore3D or multi-cam setups.
# exploreHD Firmware Update Guide
Source: https://docs.dwe.ai/exploreHD/guides/exploreHD-firmware
A guide on how to update the firmware for your exploreHD camera using our DWE Firmware Loader.
## Install the Firmware Loader
Download and run the installer, then launch the **DWE Firmware Loader**.
DWEFirmwareLoader.exe
> Linux-Compatible Tool coming soon!
## Firmware Update Procedure
The Firmware Loader automatically detects your connected camera. In most cases you can flash in a single click. If your camera is not recognized, follow the **Recovery Mode** tab instead.
After plugging in your camera, click the **refresh icon** in the top-right corner so the loader scans for it. Once detected, it shows a green **Device Detected** card with the model, current firmware version, and release date. If a newer version exists, an **Update available** badge appears.
The **Device Type** and **Version** are selected for you automatically — you do not need to change them.
Then click **Flash Firmware**.
Do not close the application, unplug the camera, or open any application that may use the camera until the update is complete.
The progress bar shows **Uploading firmware…**, which should take around 20-30 seconds.
When you see **Firmware burning success!**, the update is complete. You may now close the application and use your camera.
Use Recovery Mode if the loader shows a yellow **Unknown Device Detected** warning instead of the green card. This can happen if a previous update was interrupted.
In Recovery Mode the loader cannot verify your camera model, so you must select the correct hardware profile yourself. **Flashing firmware for the wrong board can permanently brick your device.**
After plugging in your camera, click the **refresh icon** in the top-right corner so the loader scans for it. The loader displays **Unknown Device Detected**. The **Device Type** shows *Select hardware profile target* and no version is available yet.
Open the **Device Type** dropdown and select the profile that matches your camera — **exploreHD** or **exploreHD Heavy**.
The matching firmware version populates automatically. Click **Force Recovery Flash**.
Do not close the application, unplug the camera, or open any application that may use the camera until the update is complete.
The progress bar shows **Uploading firmware…**, which should take around 20-30 seconds.
When you see **Firmware burning success!**, the recovery is complete. You may now close the application and use your camera.
## Test your camera
You can test the camera using our online tool below.
Convenient tool to test your USB camera feeds.
## Troubleshooting
1. Ensure the exploreHD is the **only** camera plugged in.
2. If on a laptop, temporarily disable the built-in webcam in **Device Manager**.
3. Close any application that may be using the camera, then click the refresh icon in the top-right of the loader.
4. If it still isn't recognized, follow the **Recovery Mode** steps above.
If the flash was interrupted (application closed, camera unplugged, etc.), reconnect the camera and follow the **Recovery Mode** steps above to reflash.
# exploreHD Quick Start Guide
Source: https://docs.dwe.ai/exploreHD/guides/exploreHD-quickstart
This guide will help you connect your exploreHD to your computer and receive an image! **Select your connector on the right.**
## Pass your cable through a bulkhead
For Epoxy or WetLink models, follow the cable pinout guide located on the specification page for your exploreHD model.
Below is an example of passing the exposed wiring through an M10 WetLink bulkhead to be installed onto your vehicle endcap.
## Connect your Camera to a Bulkhead
For Cobalt, follow the pinout guide located on the specification page for your exploreHD model.
Below is an example of a [pre-made cobalt bulkhead](https://dwe.ai/collections/our-parts-and-accessories/products/cobalt-to-jst-connector).
## Connect your Camera to a Bulkhead
For SubConn, follow the pinout guide located on the specification page for your exploreHD model.
Below is an example of a [pre-made SubConn MCBH8M bulkhead](https://dwe.ai/collections/our-parts-and-accessories).
## Preparing the JST Cable Connection
| Color | Function | Wire Gauge (AWG) |
| - | - | - |
| Red | 5V | 24 |
| White | D- (Data Negative) | 28 |
| Green | D+ (Data Positive) | 28 |
| Black | Ground | 24 |
Ensure you **do not mix up the +5V Power and Ground**. Doing so can permanently damage your device and void warranty.
## Test Your Camera Online
Connect the USB cable to a computer to confirm the camera is working and in the correct orientation.
You can test the camera using our tool below.
Convenient tool to test your USB camera feeds.
If the camera is showing up on your computer, you are done!
If you are having issues, please check [troubleshooting](#troubleshooting) below.
## Other Resources
Click here for a guide on how to install an exploreHD on a BlueROV.
Click here for a guide on how to install an exploreHD on a BlueBoat.
Click here to see our resources for using the exploreHD with OpenCV.
## Troubleshooting
### Double-Check Your Wiring Setup
[Ensure that the wire colors match](#preparing-the-jst-cable-connection) their respective functions when connected to the JST connector. Even a single crossed wire will prevent the camera from being recognized.
### Ensure the Data Wires are Twisted (Crucial)
The **White (D-)** and **Yellow/Green (D+)** wires must be twisted/intertwined together.
Because this is a USB 2.0 High-Speed connection, twisting these pairs is required
in order to prevent interference and ensure the data signal is strong enough for your
computer to recognize the camera.
### Check Connections and Power
Make sure the wires are seated securely in the JST connector.
Make sure the JST is pushed all the way into the USB adapter, and the adapter is securely plugged into your USB port.
The camera can draw up to 260mA of power (at 5V). Try plugging the adapter directly into your computer, rather than a low-power USB hub, to ensure it is getting sufficient current.
### OS Hardware Detection
Check if your computer's operating system is detecting the camera at a hardware level, even if it's not showing an image yet. Since it connects via USB, we are looking for a USB device connection.
1. Right-click the **Start button** (or press `Win` + `X`) and select **Device Manager**.
2. Expand the following categories to look for the camera, `exploreHD`:
* **Cameras**
* **Imaging devices**
* **Sound, video and game controllers**
3. If the wiring is slightly off or the data lines aren't twisted properly, Windows might detect *something* but not know what it is. Expand **Universal Serial Bus controllers** and look for anything labeled **Unknown USB Device (Device Descriptor Request Failed)**.
Keep the Device Manager open and unplug/replug the USB adapter. The list will refresh; watch to see if any new devices appear or disappear.
1. Hold down the **Option** key on your keyboard, then click the **Apple logo** () in the top left corner of your screen.
2. Select **System Information** (this is usually "About This Mac" if you don't hold the Option key).
Unplugging and replugging the camera while on this screen (and pressing `Cmd` + `R` to refresh) will help you spot if the system is registering a hardware connection.
3. In the left-hand sidebar under the "Hardware" section, click on **USB**.
4. Check the **USB Device Tree** on the right. Look for the exploreHD camera or an unrecognized USB device.
1. Open your terminal.
2. Type `lsusb` and press `Enter`. This lists all connected USB buses and the devices attached to them. Look for a device name that mentions the camera or an unnamed device that appears when plugged in.
* You can also use this one-line command to detect a valid exploreHD camera:
```
lsusb | grep -qiE "explorehd|microdia webcam vitade af|0c45" && echo "exploreHD connected!"
```
3. To see if Linux recognizes it specifically as a video device (since it is V4L2 compatible), run:
```bash theme={null}
ls -l /dev/video*
```
4. For real-time connection logs, run the following command. When you plug the camera in, you should see a flurry of text appear, indicating whether the USB connection was successful or if there were enumeration errors (like `device descriptor read/64, error`).
```bash theme={null}
sudo dmesg -w | grep usb
```
# exploreHD GStreamer Guide
Source: https://docs.dwe.ai/exploreHD/guides/gstreamer-exploreHD
A guide to using GStreamer with the exploreHD camera for high-performance video streaming and capture.
## Overview
GStreamer is a powerful multimedia framework that allows for efficient video streaming and processing. The exploreHD supports multiple compression formats including hardware-accelerated **H.264**, **MJPEG**, and raw **YUYV**.
## Requirements
You must have GStreamer installed on a Linux computer for this. You can use the following install command to get the required packages.
```bash theme={null}
sudo apt install v4l-utils libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-plugins-ugly
```
## Identifying Device Nodes
When you plug in an exploreHD camera, the Linux kernel (via V4L2) typically creates four device nodes (e.g., `/dev/video0` through `/dev/video3`).
* **MJPEG / YUYV:** Usually found on the first node of the group (e.g., `/dev/video0`).
* **Hardware H.264:** Usually found on the third node of the group (e.g., `/dev/video2`).
You can verify your device nodes using `v4l2-ctl`:
```bash theme={null}
v4l2-ctl --list-devices
```
Look for the entry corresponding to the exploreHD. It will list the paths associated with that specific camera.
## Hardware H.264 Mode
The exploreHD features built-in hardware H.264 encoding, which provides high-quality video at low bitrates with minimal CPU overhead.
### Local Preview
To view the H.264 stream locally (assuming `/dev/video2` is the H.264 node):
```bash theme={null}
gst-launch-1.0 v4l2src device=/dev/video2 ! \
video/x-h264,width=1920,height=1080,framerate=30/1 ! \
h264parse ! avdec_h264 ! autovideosink
```
### UDP Network Stream
To stream the H.264 feed over a network to another device (e.g., IP `192.168.1.50` on port `5600`):
```bash theme={null}
gst-launch-1.0 v4l2src device=/dev/video2 ! \
video/x-h264,width=1920,height=1080,framerate=30/1 ! \
h264parse ! queue ! rtph264pay config-interval=10 pt=96 ! \
udpsink host=192.168.1.50 port=5600
```
To receive the stream on a different computer you can use the following:
```bash theme={null}
gst-launch-1.0 -v udpsrc port=5600 ! \
"application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96" ! \
rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! autovideosink
```
## MJPEG Mode
MJPEG mode is widely compatible and provides good quality with low latency.
### Local Preview
Assuming `/dev/video0` is the MJPEG node:
```bash theme={null}
gst-launch-1.0 v4l2src device=/dev/video0 ! \
image/jpeg,width=1920,height=1080,framerate=30/1 ! \
jpegdec ! autovideosink
```
### UDP Network Stream
To stream MJPEG over the network:
```bash theme={null}
gst-launch-1.0 v4l2src device=/dev/video0 ! \
image/jpeg,width=1920,height=1080,framerate=30/1 ! \
rtpjpegpay ! udpsink host=192.168.1.50 port=5600
```
## YUYV Mode
Note that due to USB bandwidth limitations, YUYV is typically limited to lower framerates at high resolutions.
### Local Preview
Assuming `/dev/video0` is the node:
```bash theme={null}
gst-launch-1.0 v4l2src device=/dev/video0 ! \
video/x-raw,format=YUY2,width=640,height=480,framerate=30/1 ! \
videoconvert ! autovideosink
```
Refer to the [exploreHD Technical Specifications](/exploreHD/specs/exploreHD#supported-resolutions-and-framerates) to see which resolution and framerate combinations are supported in YUYV mode. At 1080p, YUYV is limited to 5 FPS.
## Advanced Bitrate Control
When using H.264 mode, you can adjust the bitrate and other encoder parameters via V4L2 controls while the pipeline is running.
```bash theme={null}
# Example: Set bitrate to 5Mbps
v4l2-ctl -d /dev/video2 --set-ctrl=video_bitrate=5000000
```
# ROV Install
Source: https://docs.dwe.ai/exploreHD/guides/install-exploreHD-ROV
Guide from BlueRobotics to install your exploreHD on a BlueROV Vehicle.
# Boat Install
Source: https://docs.dwe.ai/exploreHD/guides/install-exploreHD-boat
Guide from BlueRobotics to install your exploreHD on a BlueBoat Vehicle.
# exploreHD OpenCV Quickstart Guide
Source: https://docs.dwe.ai/exploreHD/guides/opencv-exploreHD
A basic guide to getting started with the exploreHD camera using Python and OpenCV.
## Prerequisites
Before running the application, ensure you have the following installed on your system:
* Python (version 3.x)
* OpenCV library (`cv2`)
## Setup
Clone the OpenCV Guides repository and open the folder for this guide:
```bash theme={null}
git clone https://github.com/DeepWaterExploration/opencv-guides.git
cd opencv-guides/1-basic-video-capture/python
```
## Example Code
You can use the following `main.py` script to connect to the camera and view the video feed. A critical step when configuring the camera is that the `MJPG` pixel format must be set *before* setting the resolution.
```python theme={null}
import cv2
# -- Camera Parameters --
# Camera Index
CAM_IDX = 0
# resolution
WIDTH = 1920
HEIGHT = 1080
# used to set the pixel format to MJPEG/MJPG mode.
MJPG = cv2.VideoWriter_fourcc(*'MJPG')
# -- DEVICE SETUP --
exploreHD = cv2.VideoCapture(CAM_IDX)
# set to MJPEG mode, by default idx 0 is YUYV
# MJPG needs to be set, before resolution. Pixel format is always selected first
exploreHD.set(cv2.CAP_PROP_FOURCC, MJPG)
exploreHD.set(cv2.CAP_PROP_FRAME_WIDTH, WIDTH)
exploreHD.set(cv2.CAP_PROP_FRAME_HEIGHT, HEIGHT)
# (Optional) Disable auto exposure
exploreHD.set(cv2.CAP_PROP_AUTO_EXPOSURE, 1)
exploreHD.set(cv2.CAP_PROP_EXPOSURE, 90)
# Error Check
if ((exploreHD == None) or (not exploreHD.isOpened())):
print('\nError - could not open video device.\n')
exit(0)
while(True):
success, frame = exploreHD.read()
if (success):
cv2.imshow('exploreHD', frame)
# required for frames to buffer and show properly.
k = cv2.waitKey(1)
# press 'q' to quit
if k == ord('q'):
break
exploreHD.release()
cv2.destroyAllWindows()
```
## Further Information
For additional details, examples in other languages like C++, or troubleshooting, please refer to our GitHub repository.
Basic Video Capture, Software Frame Sampling, C++ Code, etc.
# exploreHD Series Cameras
Source: https://docs.dwe.ai/exploreHD/overview
Overview and technical specifications for the exploreHD camera lineup.
Welcome to the exploreHD series documentation. This section contains comprehensive technical specifications, CAD files, connector details, and setup guides for the entire exploreHD camera family.
Choose a camera model below to view its complete technical datasheet, or jump straight to our setup guides.
## Specifications
Standard exploreHD 3.0 technical specifications, including physical, lens, and electrical details.
Technical specifications and datasheets for the robust exploreHD Heavy variant.
Specifications for the exploreHD Pro, designed for advanced subsea imaging needs.
Datasheet and details for the ultra-deep-water exploreHD Challenger.
## Guides & Resources
Get your camera up and running quickly with our comprehensive installation and software guides.
Learn the basics of setting up and operating your exploreHD camera.
Step-by-step instructions and utility downloads for updating your camera's firmware.
Learn how to install the exploreHD on the BlueROV2.
Learn how to install the exploreHD on the BlueBoat.
Quickly learn how to use the exploreHD with OpenCV.
# exploreHD Technical Specifications
Source: https://docs.dwe.ai/exploreHD/specs/exploreHD
Technical Information for the exploreHD 3.0
## Physical Specifications
| Property | Value |
| - | - |
| Depth Rating | 400 meters |
| Safety Margin | 50% |
| Ingress Protection Rating | IP69K+ equivalent |
| Mass in Air | 84 grams |
| Mass in Water | 44 grams |
| Material | Aerospace-grade 6061-T6 alloy aluminum - Abrasion-resistant hard anodized coating |
| Front Port | Standard Depth-Resistant Glass |
| Operating Temperature | -20°C to 85°C |
| Max Cable Length\* | 5m (USB 2.0) |
*\*Cameras ship with a \~1m cable by default. For longer cables, contact [sales@dwe.ai](mailto:sales@dwe.ai).*
## Lens Specifications
| Property | Value |
| - | - |
| Type | Fisheye |
| Focus Type | Fixed Focus |
| Focal Length | 2.65mm |
| Lens Aperture | f/1.9 |
| Minimum Focus Distance | 20-30cm |
| IR Filter | 650nm |
| Horizontal FOV (In Air) | 138° |
| Vertical FOV (In Air) | 70° |
| Diagonal FOV (In Air) | 168° |
| Horizontal FOV (In Water) | \~82° |
## Image Sensor Specifications
| Property | Value |
| - | - |
| Image Sensor | 1/2.9” Sony Exmor™ CMOS |
| Sensor Color | RGB |
| Sensor Type | Front-Side Illuminated |
| Pixel Size | 2.8 µm (H) × 2.8 µm (V) |
| Electronic Shutter Type | Rolling Shutter |
| Max Resolution | 1920x1080 |
| Max Framerate | 30fps with H.264/MJPEG |
| Color Channels | 3 |
| Bits Per Channel | 8 bits |
| Compression Formats | H.264 (Baseline), MJPEG, YUY2 |
| Connection | USB 2.0 High Speed / UVC Compliant / V4L2 Compatible |
| Spectral Sensitivity | See Graph Below |
## Image Compression Specifications
| | H.264 | MJPEG | YUY2 |
| - | - | - | - |
| Type | Baseline | -- | -- |
| Chroma Subsampling | 4:2:0 | 4:2:2 | 4:2:2 |
## Supported Resolutions and Framerates
| Resolution | MJPEG & H.264 | YUY2 |
| :- | :- | :- |
| **1920x1080** | 10, 15, 20, 25, 30 fps | 5 fps |
| **1280x720** | 10, 15, 20, 25, 30 fps | 5, 10 fps |
| **800x600** | 10, 15, 20, 25, 30 fps | 5, 10, 15 fps |
| **640x480** | 10, 15, 20, 25, 30 fps | 5, 10, 15, 20, 25, 30 fps |
| **640x360** | 10, 15, 20, 25, 30 fps | 5, 10, 15, 20, 25, 30 fps |
| **352x288** | 10, 15, 20, 25, 30 fps | 5, 10, 15, 20, 25, 30 fps |
| **320x240** | 10, 15, 20, 25, 30 fps | 5, 10, 15, 20, 25, 30 fps |
## Software Requirements
| Property | Value |
| - | - |
| **External Software** | None Required (Plug-and-Play) |
| **Protocol** | UVC (USB Video Class) Compliant |
| **Windows Support** | Native Support - No drivers needed |
| **macOS Support** | Native Support - No drivers needed |
| **Linux Support** | Native Support - V4L2 compatible |
**Zero Software Required**
Because it is fully UVC compliant, it requires absolutely **no proprietary drivers, external software, or libraries** for retrieving images.
While we provide helpful optional utilities like our Camera Tester and dweOS, **these are strictly optional**. You can plug the camera into your system and immediately view the feed using standard built-in camera applications (like Windows Camera, OBS, etc).
## Bitrate Control Library
For specific advanced application using H.264 mode, you can manage the camera's bitrate via our open-sourced bitrate control code.
Bitrate Control README document.
## Electrical Specifications
| Property | MJPEG Mode | H.264 Mode |
| - | - | - |
| Voltage | 5V | 5V |
| Current | 180mA | 250mA |
| Current (Max) | 200mA | 260mA |
| Operating Wattage | 0.9W | 1.2W |
| Wattage (Min) | 0.004W | 0.004W |
| Wattage (Max) | 1W | 1.3W |
## Connector Pinout
| Color | Function | Wire Gauge (AWG) |
| - | - | - |
| Red | 5V | 24 |
| White | D- (Data Negative) | 28 |
| Green | D+ (Data Positive) | 28 |
| Black | Ground | 24 |
| Cobalt (6 Pin) USB Cable | COB-1461 |
| - | - |
| 1 | **Black : Ground** |
| 2 | **Red : +5V** |
| 3 | **White : DATA -** |
| 4 | **Green : DATA +** |
| 5 | Blue : NC |
| 6 | Brown : NC |
## Cable Construction
| Parameter | USB 2.0 Specification |
| :- | :- |
| Cable Jacket Material | Polyurethane-based (PU, PUR, TPU) |
| Differential Impedance | Twisted Pair: 90 Ω ± 15% |
| Data Pair Construction | 28 AWG Twisted Pair (D+ / D-) |
| Power Conductor Size | 24 AWG |
| Shielding Construction | Braided Foil Shielding (Al-Poly Tape + Tinned Copper Braid) |
| Drain Wire | Grounded Tinned Copper Drain Wire |
| Conductor Plating | Tinned Copper |
## CAD Files
exploreHD (Epoxy) STEP File
exploreHD (Epoxy) Technical Drawing (PDF)
exploreHD (WetLink) STEP File
exploreHD (WetLink) Technical Drawing (PDF)
exploreHD (Cobalt) STEP File
exploreHD (Cobalt) Technical Drawing (PDF)
exploreHD Mounting Bracket STEP File
exploreHD Mounting Bracket Technical Drawing (PDF)
## Updating Firmware
Follow this simple guide to updating firmware.
## NDAA Section 889 Compliance
> This product is fully compliant with Section 889 of the National Defense Authorization Act (NDAA).
> We do not utilize any covered telecommunications equipment, video surveillance equipment, or services
> from prohibited entities (including Huawei, ZTE, Hytera, Hikvision, Dahua, or their affiliates).
> This product contains compliant core processing components and zero proprietary firmware, ensuring
> a secure hardware profile free of restricted data pathways.
## CE (Conformité Européenne)
> This product is CE certified, indicating conformance with relevant European Union directives
> and regulations regarding health, safety, and environmental protection. This certification
> validates that the product meets the high standards required for sale within the European Economic Area.
# exploreHD Challenger Technical Specifications
Source: https://docs.dwe.ai/exploreHD/specs/exploreHD-challenger
Technical Information for the exploreHD Challenger.
## Physical Specifications
| Property | Value |
| - | - |
| Depth Rating | 11,000 meters |
| Safety Margin | 50% |
| Ingress Protection Rating | IP69K+ equivalent |
| Mass in Air | 346 grams |
| Mass in Water | 246 grams |
| Material | Titanium with Diamond-Like Carbon (DLC) Protective Coating |
| Front Port | Scratch-Resistant Sapphire with internal AR Coating |
| Operating Temperature | -20°C to 85°C |
| Max Cable Length\* | 5m (USB 2.0) |
*\*To request a cable with your camera, contact [sales@dwe.ai](mailto:sales@dwe.ai).*
## Lens Specifications
| Specification | Aquagon |
| - | - |
| Type | Low-Distortion |
| Focus Type | Fixed Focus |
| Focal Length | 3.0mm |
| Lens Aperture | f/1.6 |
| Minimum Focus Distance | 25cm |
| Lens Element Count | 7 with 2 aspherical, 2 extra-low dispersion |
| Lens Coatings | DGS™ MULTI-COATING |
| Distortion | \<-1.5%. |
| Back Focal Length | 2.05mm |
| IR Filter | 650nm |
| Horizontal FOV (In Water) | 87° |
| Vertical FOV (In Water) | 56° |
| Diagonal FOV (In Water) | 95° |
## Image Sensor Specifications
| Property | Value |
| - | - |
| Image Sensor | 1/2.8" Sony Exmor™ **STARVIS** CMOS |
| Sensor Color | RGB |
| Sensor Type | Back-Side Illuminated |
| Pixel Size | 2.9 µm (H) × 2.9 µm (V) |
| Electronic Shutter Type | Rolling Shutter |
| Max Resolution | 1920x1080 |
| Max Framerate | 30fps with H.264/MJPEG |
| Color Channels | 3 |
| Bits Per Channel | 8 bits |
| Compression Formats | H.264 (Baseline), MJPEG, YUY2 |
| Connection | USB 2.0 High Speed / UVC Compliant / V4L2 Compatible |
| Spectral Sensitivity | See Graph Below |
## Image Compression Specifications
| | H.264 | MJPEG | YUY2 |
| - | - | - | - |
| Type | Baseline | -- | -- |
| Chroma Subsampling | 4:2:0 | 4:2:2 | 4:2:2 |
## Supported Resolutions and Framerates
| Resolution | MJPEG & H.264 | YUY2 |
| :- | :- | :- |
| **1920x1080** | 10, 15, 20, 25, 30 fps | 5 fps |
| **1280x720** | 10, 15, 20, 25, 30 fps | 5, 10 fps |
| **800x600** | 10, 15, 20, 25, 30 fps | 5, 10, 15 fps |
| **640x480** | 10, 15, 20, 25, 30 fps | 5, 10, 15, 20, 25, 30 fps |
| **640x360** | 10, 15, 20, 25, 30 fps | 5, 10, 15, 20, 25, 30 fps |
| **352x288** | 10, 15, 20, 25, 30 fps | 5, 10, 15, 20, 25, 30 fps |
| **320x240** | 10, 15, 20, 25, 30 fps | 5, 10, 15, 20, 25, 30 fps |
## Software Requirements
| Property | Value |
| - | - |
| **External Software** | None Required (Plug-and-Play) |
| **Protocol** | UVC (USB Video Class) Compliant |
| **Windows Support** | Native Support - No drivers needed |
| **macOS Support** | Native Support - No drivers needed |
| **Linux Support** | Native Support - V4L2 compatible |
**Zero Software Required**
Because it is fully UVC compliant, it requires absolutely **no proprietary drivers, external software, or libraries** for retrieving images.
While we provide helpful optional utilities like our Camera Tester and dweOS, **these are strictly optional**. You can plug the camera into your system and immediately view the feed using standard built-in camera applications (like Windows Camera, OBS, etc).
## Bitrate Control Library
For specific advanced application using H.264 mode, you can manage the camera's bitrate via our open-sourced bitrate control code.
Bitrate Control README document.
## Electrical Specifications
| Property | MJPEG Mode | H.264 Mode |
| - | - | - |
| Voltage | 5V | 5V |
| Current | 250mA | 300mA |
| Current (Max) | 260mA | 320mA |
| Operating Wattage | 1.25W | 1.5W |
| Wattage (Min) | 0.004W | 0.004W |
| Wattage (Max) | 1.3W | 1.6W |
## Connector Pinout
| SubConn MCBH8M (USB) Bulkhead | |
| - | - |
| 1 | **Black : Ground** |
| 2 | White : NC |
| 3 | **Red : +5V** |
| 4 | Green : NC |
| 5 | Orange : NC |
| 6 | Blue : NC |
| 7 | **White/black : DATA -** |
| 8 | **Red/black : DATA +** |
## CAD Files
exploreHD Challenger STEP File
exploreHD Challenger Technical Drawing (PDF)
## Updating Firmware
Follow this simple guide to updating firmware.
## NDAA Section 889 Compliance
> This product is fully compliant with Section 889 of the National Defense Authorization Act (NDAA).
> We do not utilize any covered telecommunications equipment, video surveillance equipment, or services
> from prohibited entities (including Huawei, ZTE, Hytera, Hikvision, Dahua, or their affiliates).
> This product contains compliant core processing components and zero proprietary firmware, ensuring
> a secure hardware profile free of restricted data pathways.
## CE (Conformité Européenne)
> This product is CE certified, indicating conformance with relevant European Union directives
> and regulations regarding health, safety, and environmental protection. This certification
> validates that the product meets the high standards required for sale within the European Economic Area.
# exploreHD Heavy Technical Specifications
Source: https://docs.dwe.ai/exploreHD/specs/exploreHD-heavy
Technical Information for the exploreHD Heavy.
## Physical Specifications
| Property | Value |
| - | - |
| Depth Rating | 1000 meters |
| Safety Margin | 50% |
| Ingress Protection Rating | IP69K+ equivalent |
| Mass in Air | 120 grams |
| Mass in Water | 50 grams |
| Material | Naval-grade, Corrosion Resistant Aluminum - Black, Abrasion-Resistant, Hard-Anodized Coating |
| Front Port | Scratch-Resistant Sapphire with internal AR Coating |
| Operating Temperature | -20°C to 85°C |
| Max Cable Length\* | 5m (USB 2.0) |
*\*Cameras ship with a \~1m cable by default. For longer cables, contact [sales@dwe.ai](mailto:sales@dwe.ai).*
## Lens Specifications
| Specification | Fisheye | Aquagon |
| - | - | - |
| Type | Fisheye | Low-Distortion |
| Focus Type | Fixed Focus | Fixed Focus |
| Focal Length | 2.65mm | 3.0mm |
| Lens Aperture | f/1.9 | f/1.6 |
| Minimum Focus Distance | 20-30cm | 25cm |
| Lens Element Count | - | 7 with 2 aspherical, 2 extra-low dispersion |
| Lens Coatings | - | DGS™ MULTI-COATING |
| Distortion | - | \<-1.5% |
| Back Focal Length | - | 2.05mm |
| IR Filter | 650nm | 650nm |
| Horizontal FOV (In Air) | 138° | - |
| Vertical FOV (In Air) | 70° | - |
| Diagonal FOV (In Air) | 168° | - |
| Horizontal FOV (In Water) | \~82° | 87° |
| Vertical FOV (In Water) | - | 56° |
| Diagonal FOV (In Water) | - | 95° |
## Image Sensor Specifications
| Property | Value |
| - | - |
| Image Sensor | 1/2.8" Sony Exmor™ **STARVIS** CMOS |
| Sensor Color | RGB |
| Sensor Type | Back-Side Illuminated |
| Pixel Size | 2.9 µm (H) × 2.9 µm (V) |
| Electronic Shutter Type | Rolling Shutter |
| Max Resolution | 1920x1080 |
| Max Framerate | 30fps with H.264/MJPEG |
| Color Channels | 3 |
| Bits Per Channel | 8 bits |
| Compression Formats | H.264 (Baseline), MJPEG, YUY2 |
| Connection | USB 2.0 High Speed / UVC Compliant / V4L2 Compatible |
| Spectral Sensitivity | See Graph Below |
## Image Compression Specifications
| | H.264 | MJPEG | YUY2 |
| - | - | - | - |
| Type | Baseline | -- | -- |
| Chroma Subsampling | 4:2:0 | 4:2:2 | 4:2:2 |
## Supported Resolutions and Framerates
| Resolution | MJPEG & H.264 | YUY2 |
| :- | :- | :- |
| **1920x1080** | 10, 15, 20, 25, 30 fps | 5 fps |
| **1280x720** | 10, 15, 20, 25, 30 fps | 5, 10 fps |
| **800x600** | 10, 15, 20, 25, 30 fps | 5, 10, 15 fps |
| **640x480** | 10, 15, 20, 25, 30 fps | 5, 10, 15, 20, 25, 30 fps |
| **640x360** | 10, 15, 20, 25, 30 fps | 5, 10, 15, 20, 25, 30 fps |
| **352x288** | 10, 15, 20, 25, 30 fps | 5, 10, 15, 20, 25, 30 fps |
| **320x240** | 10, 15, 20, 25, 30 fps | 5, 10, 15, 20, 25, 30 fps |
## Software Requirements
| Property | Value |
| - | - |
| **External Software** | None Required (Plug-and-Play) |
| **Protocol** | UVC (USB Video Class) Compliant |
| **Windows Support** | Native Support - No drivers needed |
| **macOS Support** | Native Support - No drivers needed |
| **Linux Support** | Native Support - V4L2 compatible |
**Zero Software Required**
Because it is fully UVC compliant, it requires absolutely **no proprietary drivers, external software, or libraries** for retrieving images.
While we provide helpful optional utilities like our Camera Tester and dweOS, **these are strictly optional**. You can plug the camera into your system and immediately view the feed using standard built-in camera applications (like Windows Camera, OBS, etc).
## Bitrate Control Library
For specific advanced application using H.264 mode, you can manage the camera's bitrate via our open-sourced bitrate control code.
Bitrate Control README document.
## Electrical Specifications
| Property | MJPEG Mode | H.264 Mode |
| - | - | - |
| Voltage | 5V | 5V |
| Current | 250mA | 300mA |
| Current (Max) | 260mA | 320mA |
| Operating Wattage | 1.25W | 1.5W |
| Wattage (Min) | 0.004W | 0.004W |
| Wattage (Max) | 1.3W | 1.6W |
## Connector Pinout
| Color | Function | Wire Gauge (AWG) |
| - | - | - |
| Red | 5V | 24 |
| White | D- (Data Negative) | 28 |
| Green | D+ (Data Positive) | 28 |
| Black | Ground | 24 |
| Cobalt (6 Pin) USB Cable | COB-1461 |
| - | - |
| 1 | **Black : Ground** |
| 2 | **Red : +5V** |
| 3 | **White : DATA -** |
| 4 | **Green : DATA +** |
| 5 | Blue : NC |
| 6 | Brown : NC |
| SubConn MCBH8M (USB) Bulkhead | |
| - | - |
| 1 | **Black : Ground** |
| 2 | White : NC |
| 3 | **Red : +5V** |
| 4 | Green : NC |
| 5 | Orange : NC |
| 6 | Blue : NC |
| 7 | **White/black : DATA -** |
| 8 | **Red/black : DATA +** |
## Cable Construction
| Parameter | USB 2.0 Specification |
| :- | :- |
| Cable Jacket Material | Polyurethane-based (PU, PUR, TPU) |
| Differential Impedance | Twisted Pair: 90 Ω ± 15% |
| Data Pair Construction | 28 AWG Twisted Pair (D+ / D-) |
| Power Conductor Size | 24 AWG |
| Shielding Construction | Braided Foil Shielding (Al-Poly Tape + Tinned Copper Braid) |
| Drain Wire | Grounded Tinned Copper Drain Wire |
| Conductor Plating | Tinned Copper |
## CAD Files
### Standard Lens
exploreHD Heavy (WetLink) STEP File
exploreHD Heavy (WetLink) Technical Drawing (PDF)
### Aquagon Lens
exploreHD Heavy with Aquagon Lens (WetLink) STEP File
exploreHD Heavy with Aquagon Lens (WetLink) Technical Drawing (PDF)
### Standard Lens
exploreHD Heavy (Cobalt) STEP File
exploreHD Heavy (Cobalt) Technical Drawing (PDF)
### Aquagon Lens
exploreHD Heavy with Aquagon Lens (Cobalt) STEP File
exploreHD Heavy with Aquagon Lens (Cobalt) Technical Drawing (PDF)
### Standard Lens
exploreHD Heavy (SubConn) STEP File
exploreHD Heavy (SubConn) Technical Drawing (PDF)
### Aquagon Lens
exploreHD Heavy with Aquagon Lens (SubConn) STEP File
exploreHD Heavy with Aquagon Lens (SubConn) Technical Drawing (PDF)
exploreHD Heavy Mounting Bracket STEP File
exploreHD Heavy Mounting Bracket Technical Drawing (PDF)
## Updating Firmware
Follow this simple guide to updating firmware.
## NDAA Section 889 Compliance
> This product is fully compliant with Section 889 of the National Defense Authorization Act (NDAA).
> We do not utilize any covered telecommunications equipment, video surveillance equipment, or services
> from prohibited entities (including Huawei, ZTE, Hytera, Hikvision, Dahua, or their affiliates).
> This product contains compliant core processing components and zero proprietary firmware, ensuring
> a secure hardware profile free of restricted data pathways.
## CE (Conformité Européenne)
> This product is CE certified, indicating conformance with relevant European Union directives
> and regulations regarding health, safety, and environmental protection. This certification
> validates that the product meets the high standards required for sale within the European Economic Area.
# exploreHD Pro Technical Specifications
Source: https://docs.dwe.ai/exploreHD/specs/exploreHD-pro
Technical Information for the exploreHD Pro.
## Physical Specifications
| Property | Value |
| - | - |
| Depth Rating | 6000 meters |
| Safety Margin | 40% |
| Ingress Protection Rating | IP69K+ equivalent |
| Mass in Air | 246 grams |
| Mass in Water | 146 grams |
| Material | Naval-grade, Corrosion Resistant Aluminum - Black, Abrasion-Resistant, Hard-Anodized Coating |
| Front Port | Scratch-Resistant Sapphire with internal AR Coating |
| Operating Temperature | -20°C to 85°C |
| Max Cable Length\* | 5m (USB 2.0) |
*\*To request a cable with your camera, contact [sales@dwe.ai](mailto:sales@dwe.ai).*
## Lens Specifications
| Specification | Aquagon |
| - | - |
| Type | Low-Distortion |
| Focus Type | Fixed Focus |
| Focal Length | 3.0mm |
| Lens Aperture | f/1.6 |
| Minimum Focus Distance | 25cm |
| Lens Element Count | 7 with 2 aspherical, 2 extra-low dispersion |
| Lens Coatings | DGS™ MULTI-COATING |
| Distortion | \<-1.5% |
| Back Focal Length | 2.05mm |
| IR Filter | 650nm |
| Horizontal FOV (In Water) | 87° |
| Vertical FOV (In Water) | 56° |
| Diagonal FOV (In Water) | 95° |
## Image Sensor Specifications
| Property | Value |
| - | - |
| Image Sensor | 1/2.8" Sony Exmor™ **STARVIS** CMOS |
| Sensor Color | RGB |
| Sensor Type | Back-Side Illuminated |
| Pixel Size | 2.9 µm (H) × 2.9 µm (V) |
| Electronic Shutter Type | Rolling Shutter |
| Max Resolution | 1920x1080 |
| Max Framerate | 30fps with H.264/MJPEG |
| Color Channels | 3 |
| Bits Per Channel | 8 bits |
| Compression Formats | H.264 (Baseline), MJPEG, YUY2 |
| Connection | USB 2.0 High Speed / UVC Compliant / V4L2 Compatible |
| Spectral Sensitivity | See Graph Below |
## Image Compression Specifications
| | H.264 | MJPEG | YUY2 |
| - | - | - | - |
| Type | Baseline | -- | -- |
| Chroma Subsampling | 4:2:0 | 4:2:2 | 4:2:2 |
## Supported Resolutions and Framerates
| Resolution | MJPEG & H.264 | YUY2 |
| :- | :- | :- |
| **1920x1080** | 10, 15, 20, 25, 30 fps | 5 fps |
| **1280x720** | 10, 15, 20, 25, 30 fps | 5, 10 fps |
| **800x600** | 10, 15, 20, 25, 30 fps | 5, 10, 15 fps |
| **640x480** | 10, 15, 20, 25, 30 fps | 5, 10, 15, 20, 25, 30 fps |
| **640x360** | 10, 15, 20, 25, 30 fps | 5, 10, 15, 20, 25, 30 fps |
| **352x288** | 10, 15, 20, 25, 30 fps | 5, 10, 15, 20, 25, 30 fps |
| **320x240** | 10, 15, 20, 25, 30 fps | 5, 10, 15, 20, 25, 30 fps |
## Software Requirements
| Property | Value |
| - | - |
| **External Software** | None Required (Plug-and-Play) |
| **Protocol** | UVC (USB Video Class) Compliant |
| **Windows Support** | Native Support - No drivers needed |
| **macOS Support** | Native Support - No drivers needed |
| **Linux Support** | Native Support - V4L2 compatible |
**Zero Software Required**
Because it is fully UVC compliant, it requires absolutely **no proprietary drivers, external software, or libraries** for retrieving images.
While we provide helpful optional utilities like our Camera Tester and dweOS, **these are strictly optional**. You can plug the camera into your system and immediately view the feed using standard built-in camera applications (like Windows Camera, OBS, etc).
## Bitrate Control Library
For specific advanced application using H.264 mode, you can manage the camera's bitrate via our open-sourced bitrate control code.
Bitrate Control README document.
## Electrical Specifications
| Property | MJPEG Mode | H.264 Mode |
| - | - | - |
| Voltage | 5V | 5V |
| Current | 250mA | 300mA |
| Current (Max) | 260mA | 320mA |
| Operating Wattage | 1.25W | 1.5W |
| Wattage (Min) | 0.004W | 0.004W |
| Wattage (Max) | 1.3W | 1.6W |
## Connector Pinout
| SubConn MCBH8M (USB) Bulkhead | |
| - | - |
| 1 | **Black : Ground** |
| 2 | White : NC |
| 3 | **Red : +5V** |
| 4 | Green : NC |
| 5 | Orange : NC |
| 6 | Blue : NC |
| 7 | **White/black : DATA -** |
| 8 | **Red/black : DATA +** |
## CAD Files
exploreHD Pro STEP File
exploreHD Pro Technical Drawing (PDF)
## Updating Firmware
Follow this simple guide to updating firmware.
## NDAA Section 889 Compliance
> This product is fully compliant with Section 889 of the National Defense Authorization Act (NDAA).
> We do not utilize any covered telecommunications equipment, video surveillance equipment, or services
> from prohibited entities (including Huawei, ZTE, Hytera, Hikvision, Dahua, or their affiliates).
> This product contains compliant core processing components and zero proprietary firmware, ensuring
> a secure hardware profile free of restricted data pathways.
## CE (Conformité Européenne)
> This product is CE certified, indicating conformance with relevant European Union directives
> and regulations regarding health, safety, and environmental protection. This certification
> validates that the product meets the high standards required for sale within the European Economic Area.
# 7-Port Camera Hub (ROV/AUV)
Source: https://docs.dwe.ai/hardware/interface-modules/specs/7-port-camera-hub
Technical Information for the Fiber to Ethernet Converter.
## Usage
This 7-Port Camera hub is a USB 2.0 hub. Designed for use with our cameras,
you may also use it for other USB 2.0 devices, provided the pinout is correct. See below.
## Specifications
| Property | Value |
| - | - |
| Operating Voltage | 5V |
| Minimum Wattage | 0.0034W |
| Max Wattage Allowed | 2.5W per port |
| Operating Wattage | Dependent on devices attached |
| Operating Temperature | 0°C to 70°C |
## Input Connections
| Color | Function | Wire Gauge (AWG) |
| - | - | - |
| Red | 5V | 24 |
| White | D- (Data Negative) | 28 |
| Green | D+ (Data Positive) | 28 |
| Black | Ground | 24 |
* 4-Pin JST:
* Metal Crimps: `SPHD-001T-P0.5`
* Plastic Shell/Housing: `PAP-04V-S`
Camera Hub JST Connector Pack
* 2-Pin JST PH 2.54/2.54mm Pitch Jumper wires
You must ensure the red and black wires are in the correct position to **prevent shorting**.
JST PH 2.54/2.54mm Pitch Jumper wires
## Output Connections
* JST 4-pin connector on hub: [S04B-PASK-2](https://www.digikey.com/en/products/detail/jst-sales-america-inc/S04B-PASK-2/926755)
* JST Cable (included with Camera Hub)
## Power Configuration
After connecting with the included cable, there are two ways to power the connected devices:
| Configuration | Jumper Pin | Power Requirement |
| :- | :- | :- |
| **Up to 3 cameras** | Connect | No external power needed |
| **More than 3 cameras** | Disconnect | External 5V power supply (connect via power input connector) |
Ensure jumper-pin for correct power configuration.
## CAD File
7-Port Camera Hub STEP File
7-Port Camera Hub Technical Drawing (PDF)
## NDAA Section 889 Compliance
> This product is fully compliant with Section 889 of the National Defense Authorization Act (NDAA).
> We do not utilize any covered telecommunications equipment, video surveillance equipment, or services
> from prohibited entities (including Huawei, ZTE, Hytera, Hikvision, Dahua, or their affiliates).
> This product contains compliant core processing components and zero proprietary firmware, ensuring
> a secure hardware profile free of restricted data pathways.
## CE (Conformité Européenne)
> This product is CE certified, indicating conformance with relevant European Union directives
> and regulations regarding health, safety, and environmental protection. This certification
> validates that the product meets the high standards required for sale within the European Economic Area.
# Gigabit Fiber to Ethernet Converter (ROV/AUV)
Source: https://docs.dwe.ai/hardware/interface-modules/specs/gigabit-fiber-board
Technical Information for the Fiber to Ethernet Converter.
## Specifications
| Property | Value |
| - | - |
| Operating Voltage | 5V |
| Current | 200mA |
| Wattage | 1W |
| Maximum Wattage | Depends on SFP Used |
| Operating Temperature | 0°C to 70°C |
## Power Input Connector
* 2-Pin JST PH 2.54/2.54mm Pitch Jumper wires
JST PH 2.54/2.54mm Pitch Jumper wires
## Network Specifications
| Property | Value |
| - | - |
| Bandwidth | 1.25G |
| Compliance | IEEE 802.3/802.3u/802.3z/802.3ab |
| Supported Standards | 10/100/1000 Base-TX/FX |
| Auto-negotiation | Supports Full/Half Duplex |
| Auto-crossover | MDI/MDIX auto-crossover |
## Supported SFP Transceivers
All SFP optical transceivers used must be 1.25Gb/s data rate and designed for 10/100/1000Base-TX/FX
SFP transceivers use CLASS 1 lasers. Do not look directly at the light emitting device.
BiDi is recommended over common SFP due to its ability to transmit full-duplex
on one strand of fiber by using different wavelengths of light.
Find out more about BiDi Optical Transceivers
Common SFP Transceivers are also compatible with our board.
They will require 2 strands of fiber for full-duplex communication.
## LED Indicators
| | |
| - | - |
| FDX LED | Lights up when Full Duplex is used |
| FBR LEF | Lights up when Fiber Port is working (Fiber and Transceiver must be plugged in as a pair) |
| | |
| - | - |
| TP | Network is connected via Ethernet |
| 100M | 100Mbps Speed is Used |
| 1000M | Gigabit Speed is Used |
| | |
| - | - |
| LED4 | Power LED, Lights up when +5V is applied |
## Fiber Optic Tethers
Find out more about Linden Photonic fiber optic tethers.
Find out more about DeltaROV fiber optic tethers.
## CAD File
Gigabit Fiber to Ethernet Converter STEP File
Gigabit Fiber to Ethernet Converter Drawing (PDF)
***
## NDAA Section 889 Compliance
> This product is fully compliant with Section 889 of the National Defense Authorization Act (NDAA).
> We do not utilize any covered telecommunications equipment, video surveillance equipment, or services
> from prohibited entities (including Huawei, ZTE, Hytera, Hikvision, Dahua, or their affiliates).
> This product contains compliant core processing components and zero proprietary firmware, ensuring
> a secure hardware profile free of restricted data pathways.
## CE (Conformité Européenne)
> This product is CE certified, indicating conformance with relevant European Union directives
> and regulations regarding health, safety, and environmental protection. This certification
> validates that the product meets the high standards required for sale within the European Economic Area.
# Interface Modules
Source: https://docs.dwe.ai/hardware/overview
Our interface module products designed for underwater systems in mind.
## Hardware
This product is a 7-Port USB-2.0 Hub, adapted to use JST 4-Pin connectors.
This product converts a CAT5 Ethernet signal to single mode SFP transceiver signal and vice versa.
# DeepWater Exploration Documentation
Source: https://docs.dwe.ai/home
Start using our amazing solutions within minutes
Set up the DWE Docs Plugin so your AI assistant answers from our official documentation.
## Hardware Specifications
The first step to world-class systems is knowing your hardware.
Learn about the capabilities of modern, high-quality subsea cameras.
Learn about our computer-vision grade subsea cameras.
Learn about the capabilities of our subsea interface modules.
Learn about the capabilities of our explore3D stereo camera.
## Software Products
Empower your operations with cutting-edge, maritime-grade software.
**Send Video:** Easily send high-quality, live video feeds from your underwater vehicles/systems.
**Receive Video:** Multimedia software designed to easily view and record live underwater video streams.
Our main desktop companion software for the explore3D + SVC Pro.
# aquaLUX MAX Operations Guide
Source: https://docs.dwe.ai/lighting/guides/aquaLUX-max-operations
**Read this guide thoroughly before operating or installing the lights.** Failure to follow these procedures will result in out-of-warranty damage to the lights and cameras.
## 1. Power Requirements & Hardware Safety
| Input Specification | Range |
| - | - |
| **Power Input Voltage** | 6-60V |
| **PWM Signal** | 3-6V |
### Power Sequencing
These lights draw extremely high peak power. Strict power sequencing is required to avoid permanently damaging the lights and cameras.
Never connect or disconnect any connectors while the system is live. Always power down completely before unplugging any components.
Unlike the aquaLUX Nano, exceeding 6V on the PWM signal will **immediately damage the LED driver**.
If you are driving the lights from an **explore3D** or **stellarHD Elite**, no configuration is needed — both output a safe 3.3V PWM strobe signal automatically.
## 2. Operational Limits & Thermal Management
Peak power draw is **120W**. Sustained peak brightness will overheat and **melt the LEDs even underwater**.
| Parameter | Value |
| - | - |
| **Maximum Strobe Brightness** | 500 |
| **Recommended Camera Framerate** | 15 FPS |
The lights support up to 60 FPS, but **15 FPS is strongly recommended**: it allows the LEDs to reach their full peak brightness for the best image quality.
### Thermal Failsafe
The controller has an internal temperature sensor that throttles output during overheating. This is a **last-resort safeguard**, not an operating mode — repeatedly triggering it will significantly shorten the lights' lifespan.
## 3. Configuring Exposure & Strobe Brightness
The lighting system currently supports **manual exposure only**. Set a fixed exposure first, then dial in the strobe.
Auto-strobe brightness is planned for a future update.
With the strobe lights off, dial in your camera's exposure time.
Start at an exposure time of **135** (at 15 FPS). This caps the maximum strobe output, keeping the lights within safe thermal limits.
Start at **100** (at 15 FPS). Lower the value further if the image is still too bright.
With the baseline exposure locked, increase the strobe brightness to taste.
**Signal delay:** There is a small hardware delay between the strobe signal and the LED firing, so the LED will not activate until a minimum brightness value is reached.
In dark scenes this is invisible because the strobe dominates the exposure. In bright, caustic scenes, the ambient light dominates, making the delay more apparent. A signal-offset fix is in development; in practice the delay does not affect overall performance.
Once exposure and strobe are locked in, you should rarely touch them again. Use your physical distance from the subject to control scene brightness:
* **Too bright →** you're too close
* **Too dark →** you're too far
This naturally enforces a consistent standoff distance, which is critical for mapping quality: too close and surface features become hard for the software to track; too far and water turbidity degrades image clarity.
# Lighting
Source: https://docs.dwe.ai/lighting/overview
Overview and technical specifications for the aquaLUX subsea lighting lineup.
This section contains technical specifications, CAD files, connector details, and pinouts for our subsea lighting products.
Choose a model below to view its complete technical datasheet.
## Specifications
Compact subsea light designed for tight installs on small ROVs and inspection platforms.
High-output subsea light for deep-water operations requiring maximum illumination.
## Legacy
Technical specifications for the discontinued ultraLUX, kept for reference and existing deployments.
# aquaLUX Max Technical Specifications
Source: https://docs.dwe.ai/lighting/specs/aquaLUX-Max
Technical Information for the aquaLUX Max
## Water Resistance
| Property | Cobalt | SubConn MCBH3M |
| - | - | - |
| Depth Rating | 600m | 2000m |
| Mass (Air) | 192g | 236g |
| Weight (Water) | 120g | 156g |
## LED Specifications
| Property | |
| - | - |
| Peak Strobe Brightness | 13,000 Lumens |
| Continuous Brightness @ 60V | \~9,000 Lumens |
| Continuous Brightness @ 24V | \~9,500 Lumens |
| Continuous Brightness @ 16V | \~10,000 Lumens |
| Color Temperature | 5700K |
| Operating temperature | 85°C |
| Beam angle in air | 120° |
| Beam angle in water | 80° |
Brightness Values Measured At Ambient Water Temperature of 24°C
## Physical Specifications
| Property | |
| - | - |
| Material | 6061 Aluminum - Black, Hard-Anodized |
| Front Port | Scratch-Resistant Sapphire with internal AR Coating |
## Power Specifications
Please note: specifications are significantly different from the aquaLUX **Nano**.
| Property | |
| - | - |
| Voltage | 9V - 60V |
| Full Brightness Voltage | 12V - 60V |
| Nominal Current @ 16V | 4.9A |
| Nominal Current @ 24V | 3.1A |
| Nominal Current @ 60V | 1.2A |
| Max Wattage (Strobe Mode - Full Brightness) | \<1W |
| Max Wattage (Continuous Mode - Full Brightness) | \~80W |
Strobe mode consumes significantly less power because the LED pulses momentarily rather than remaining continuously on.
## Control Signal Specifications
Please note: specifications are significantly different from the aquaLUX **Nano**.
| Property | Standard |
| - | - |
| Signal | Standard Duty-Cycle PWM |
| Logic Voltage | 3V - 6V |
| Max Switching Frequency | 250Hz |
| Duty Cycle | Controls Brightness (0-100%) |
| Strobe Compatibility | Direct frame-sync compatibility with stellarHD Elite camera strobe outputs |
Not compatible with 1-2ms RC Servo PWM (PPM)
## Pinouts
| Cobalt (3 Pin) Cable | COB-1431 |
| - | - |
| 1 | Ground |
| 2 | Power: 9V - 60V |
| 3 | Signal (PWM) |
| SubConn MCBH3M Bulkhead | |
| - | - |
| 1 | Ground |
| 2 | Power : 9V - 60V |
| 3 | Signal (PWM) |
## CAD Files
aquaLUX Max (Cobalt) STEP File
aquaLUX Max (Cobalt) Technical Drawing (PDF)
aquaLUX Max (SubConn) STEP File
aquaLUX Max (SubConn) Technical Drawing (PDF)
## NDAA Section 889 Compliance
> This product is fully compliant with Section 889 of the National Defense Authorization Act (NDAA).
> We do not utilize any covered telecommunications equipment, video surveillance equipment, or services
> from prohibited entities (including Huawei, ZTE, Hytera, Hikvision, Dahua, or their affiliates).
> This product contains compliant core processing components and zero proprietary firmware, ensuring
> a secure hardware profile free of restricted data pathways.
## CE (Conformité Européenne)
> This product is CE certified, indicating conformance with relevant European Union directives
> and regulations regarding health, safety, and environmental protection. This certification
> validates that the product meets the high standards required for sale within the European Economic Area.
# aquaLUX Nano Technical Specifications
Source: https://docs.dwe.ai/lighting/specs/aquaLUX-Nano
A new, brighter light that is a drop-in replacement to the original ultraLUX
Technical Information for the aquaLUX Nano
## Water Resistance
| Property | Cobalt | WetLink | SubConn MCBH3M |
| - | - | - | - |
| Depth Rating | 600m | 1000m | 2000m |
| Mass (Air) | 172g | 162g | 207g |
| Weight (Water) | 105g | 96g | 132g |
## LED Specifications
| Property | |
| - | - |
| Maximum Brightness | 3,200 Lumens |
| Color Temperature | 5700K |
| Operating temperature | 85°C |
| Beam angle in air | 120° |
| Beam angle in water | 80° |
## Physical Specifications
| Property | |
| - | - |
| Material | 6061 Aluminum - Black, Hard-Anodized |
| Front Port | Scratch-Resistant Sapphire with internal AR Coating |
## Power Specifications
Please note: specifications are significantly different from the aquaLUX **Max**.
| Property | |
| - | - |
| Voltage | 7V - 48V |
| Full Brightness Voltage | 9V - 48V |
| Nominal Current @ 9V | 2.3A |
| Nominal Current @ 12V | 1.6A |
| Nominal Current @ 21V | 0.9A |
| Max Wattage | 21W |
| Conductor Gauge | 22 AWG |
## Control Signal Specifications
Please note: specifications are significantly different from the aquaLUX **Max**.
| Property | Standard |
| - | - |
| Signal | Standard Duty-Cycle PWM |
| Logic Voltage | 3.3V - 48V (No Level Shifters Required) |
| Frequency (recommended) | 6000Hz (6KHz) |
| Duty Cycle | Controls Brightness (0-100%) |
| Strobe Compatibility | Direct frame-sync compatibility with stellarHD Elite camera strobe outputs |
Not compatible with 1-2ms RC Servo PWM (PPM)
## Pinouts
| | |
| - | - |
| 1 | Black : Ground |
| 2 | Red : 7V - 48V |
| 3 | White/Yellow : Signal (PWM) |
| Cobalt (3 Pin) Cable | COB-1431 |
| - | - |
| 1 | Ground |
| 2 | Power: 7V - 48V |
| 3 | Signal (PWM) |
| SubConn MCBH3M Bulkhead | |
| - | - |
| 1 | Ground |
| 2 | Power: 7V - 48V |
| 3 | Signal (PWM) |
## CAD Files
aquaLUX Nano (WetLink) STEP File
aquaLUX Nano (WetLink) Technical Drawing (PDF)
aquaLUX Nano (Cobalt) STEP File
aquaLUX Nano (Cobalt) Technical Drawing (PDF)
aquaLUX Nano (SubConn) STEP File
aquaLUX Nano (SubConn) Technical Drawing (PDF)
## NDAA Section 889 Compliance
> This product is fully compliant with Section 889 of the National Defense Authorization Act (NDAA).
> We do not utilize any covered telecommunications equipment, video surveillance equipment, or services
> from prohibited entities (including Huawei, ZTE, Hytera, Hikvision, Dahua, or their affiliates).
> This product contains compliant core processing components and zero proprietary firmware, ensuring
> a secure hardware profile free of restricted data pathways.
## CE (Conformité Européenne)
> This product is CE certified, indicating conformance with relevant European Union directives
> and regulations regarding health, safety, and environmental protection. This certification
> validates that the product meets the high standards required for sale within the European Economic Area.
# ultraLUX Technical Specifications
Source: https://docs.dwe.ai/lighting/specs/ultraLUX-discontinued
Technical Information for the ultraLUX
## Water Resistance
| Property | Cobalt | WetLink | SubConn MCBH3M |
| - | - | - | - |
| **Depth Rating** | 600m | 1000m | 2000m |
## Light Specifications
| Property | |
| - | - |
| Maximum Brightness | 1720 Lumens |
| Color Temperature | 6500K |
## Physical Specifications
| Property | WetLink |
| - | - |
| **Mass (Air)** | 120 grams |
| **Weight (Water)** | 50 grams |
| **Material** | Naval-grade, Corrosion Resistant Aluminum - Dark Gray, Abrasion-Resistant, Hard-Anodized Coating |
| **Front Port** | Domed Scratch-Resistant Sapphire with internal AR Coating |
## Power Specifications
| Property | Standard |
| - | - |
| **Voltage** | 12V - 48V |
| **Current** | 1.05A (full brightness) |
| **Wattage (Nominal)** | 1W |
| **Wattage (Max)** | 12.6W |
| Conductor Gauge | 22 AWG |
## PWM Signal
| Property | Standard |
| - | - |
| **Frequency (recommended)** | 6000Hz (6KHz) |
| **PWM Voltage** | 3.3V - 48V |
| **Duty Cycle** | Controls Brightness (0-100%) |
| **Signal** | Raw PWM |
## Pinouts
| | |
| - | - |
| 1 | Black: Ground |
| 2 | Red: 12V - 48V |
| 3 | White/Yellow: PWM |
| Cobalt (3-Pin) Cable | COB-1431 |
| - | - |
| 1 | Ground |
| 2 | Power: 12V - 48V |
| 3 | Signal (PWM) |
| SubConn MCBH3M Bulkhead | |
| - | - |
| 1 | Ground |
| 2 | Power: 12V - 48V |
| 3 | Signal (PWM) |
## CAD Files
ultraLUX (WetLink) STEP File
ultraLUX (WetLink) Technical Drawing (PDF)
ultraLUX (SubConn) STEP File
ultraLUX (SubConn) Technical Drawing (PDF)
## NDAA Section 889 Compliance
> This product is fully compliant with Section 889 of the National Defense Authorization Act (NDAA).
> We do not utilize any covered telecommunications equipment, video surveillance equipment, or services
> from prohibited entities (including Huawei, ZTE, Hytera, Hikvision, Dahua, or their affiliates).
> This product contains compliant core processing components and zero proprietary firmware, ensuring
> a secure hardware profile free of restricted data pathways.
## CE (Conformité Européenne)
> This product is CE certified, indicating conformance with relevant European Union directives
> and regulations regarding health, safety, and environmental protection. This certification
> validates that the product meets the high standards required for sale within the European Economic Area.
# Product Update Log
Source: https://docs.dwe.ai/product-update-log
* **7-Port Camera Hub** - [Product Page](https://dwe.ai/products/7-port-camera-usb-hub)
* Product renamed to Camera Hub for clarity
* New Revision includes switching away from USB-C input to 4-Pin JST cable
* Drawings and CAD models updated
* [Link to old CAD model v2.5](https://cdn.shopify.com/s/files/1/0575/8785/9626/files/DWE_7Port_Multiplexer_v2.5_CAD_PUBLIC.step?v=1707949112)
* All cameras
* Updated baseline cable material for better underwater performance.
* **exploreHD 3.0** - [Product Page](https://dwe.ai/ehd)
* Updated design internally for better optical alignment
* Updated design externally to add threading mounting holes
* **exploreHD 3.0 (400m)** - [Product Page](https://dwe.ai/ehd)
* Major improvements to color accuracy, dynamic range, low light performance, less noise, better moiré pattern handling, and more.
* **stellarHD (1000m-2000m)** - [Product Page](https://dwe.ai/stellarHD)
* Firmware loader released
* **stellarHD Pro (6000m)** - [Product Page](https://dwe.ai/stellarHD-pro)
* Firmware loader released
* **exploreHD 3.0 (400m)** - [Product Page](https://dwe.ai/ehd)
* Small fix for high exposure levels at lower framerates
* **exploreHD Heavy (1000m-2000m)** - [Product Page](https://dwe.ai/explorehd-heavy)
* Firmware loader released
* **exploreHD Pro (6000m)** - [Product Page](https://dwe.ai/explorehd-pro)
* Firmware loader released
* **exploreHD 3.0 (400m)** - [Product Page](https://dwe.ai/ehd)
* Fixed issue where when H.264 is used in lower resolution, artifacts would show up on video.
* **exploreHD 2.0 (400m)** - [Product Page](https://dwe.ai/ehd)
* Thanks to dweOS (previously known as driverUI), the firmware loader no longer needs 2 separate firmware to switch between H.264 and MJPEG streaming.
* Default H.264 firmware bitrate has been decreased from 15 Mbps to 10 Mbps for improved stability.
* **exploreHD 2.0 (400m)** - [Product Page](https://dwe.ai/ehd)
* The firmware loader now has two options of firmware, MJPEG or H.264:
* MJPEG will provide the highest quality but bandwidth can go as high as 60Mb/s per camera.
* H.264 will limit to 10Mb/s and use intelligent compression to maximize quality for the given bandwidth.
* **exploreHD 1.0 (400m)** - [Product Page](https://dwe.ai/ehd)
* The loader now disables the other firmware button while loading to minimize the chance of failure
# stellarHD GStreamer Guide
Source: https://docs.dwe.ai/stellarHD/guides/gstreamer-stellarHD
A guide to using GStreamer with the stellarHD camera for high-performance video streaming and capture.
## Overview
GStreamer is a powerful multimedia framework that allows for efficient video streaming and processing. The stellarHD supports **MJPEG** and raw **YUYV** compression formats, with high framerate support up to 60 FPS.
## Requirements
You must have GStreamer installed on a Linux computer for this. You can use the following install command to get the required packages.
```bash theme={null}
sudo apt install v4l-utils libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-plugins-ugly
```
## Identifying Device Nodes
When you plug in a stellarHD camera, the Linux kernel (via V4L2) typically creates four device nodes (e.g., `/dev/video0` through `/dev/video3`).
* **MJPEG / YUYV:** Found on the first node of the group (e.g., `/dev/video0`).
You can verify your device nodes using `v4l2-ctl`:
```bash theme={null}
v4l2-ctl --list-devices
```
Look for the entry corresponding to the stellarHD. It will list the paths associated with that specific camera.
## MJPEG Mode
MJPEG mode is the primary way to achieve high framerates (up to 60 FPS) on the stellarHD.
### Local Preview
Assuming `/dev/video0` is the MJPEG node:
```bash theme={null}
gst-launch-1.0 v4l2src device=/dev/video0 ! \
image/jpeg,width=1600,height=1200,framerate=60/1 ! \
jpegdec ! autovideosink
```
### UDP Network Stream
To stream MJPEG over a network to another device (e.g., IP `192.168.1.50` on port `5600`):
```bash theme={null}
gst-launch-1.0 v4l2src device=/dev/video0 ! \
image/jpeg,width=1600,height=1200,framerate=60/1 ! \
rtpjpegpay ! udpsink host=192.168.1.50 port=5600
```
To receive the stream on a different computer you can use the following:
```bash theme={null}
gst-launch-1.0 -v udpsrc port=5600 ! \
"application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)JPEG, payload=(int)26" ! \
rtpjpegdepay ! jpegdec ! videoconvert ! autovideosink
```
## YUYV Mode
Note that YUYV is limited to lower framerates at higher resolutions due to USB bandwidth.
### Local Preview
Assuming `/dev/video0` is the node:
```bash theme={null}
gst-launch-1.0 v4l2src device=/dev/video0 ! \
video/x-raw,format=YUY2,width=640,height=480,framerate=5/1 ! \
videoconvert ! autovideosink
```
Refer to the [stellarHD Technical Specifications](/stellarHD/specs/stellarHD#supported-resolutions-and-framerates) to see which resolution and framerate combinations are supported in YUYV mode.
## Software Encoding (H.264)
Since the stellarHD does not have a built-in hardware H.264 encoder, you can use GStreamer to perform software encoding if you need to stream H.264 over a network.
```bash theme={null}
gst-launch-1.0 v4l2src device=/dev/video0 ! \
image/jpeg,width=1280,height=720,framerate=60/1 ! \
jpegdec ! queue ! x264enc tune=zerolatency bitrate=4000 speed-preset=ultrafast ! \
h264parse ! rtph264pay config-interval=10 pt=96 ! \
udpsink host=192.168.1.50 port=5600
```
# stellarHD OpenCV Guide
Source: https://docs.dwe.ai/stellarHD/guides/opencv-stellarHD
A basic guide to getting started with the stellarHD camera using Python and OpenCV.
## Prerequisites
Before running the application, ensure you have the following installed on your system:
* Python (version 3.x)
* OpenCV library (`cv2`)
## Setup
Clone the OpenCV Guides repository and open the folder for this guide:
```bash theme={null}
git clone https://github.com/DeepWaterExploration/opencv-guides.git
cd opencv-guides/1-basic-video-capture/python
```
## Example Code
You can use the following `main.py` script to connect to the camera and view the video feed. A critical step when configuring the camera is that the `MJPG` pixel format must be set *before* setting the resolution.
```python theme={null}
import cv2
import time
# -- Camera Parameters --
# Camera Index
CAM_IDX = 0
# resolution
WIDTH = 1600
HEIGHT = 1200
# Hardware supported framerate of the camera. Highest for best results.
FRAMERATE = 60
# used to set the pixel format to MJPEG/MJPG mode.
MJPG = cv2.VideoWriter_fourcc(*'MJPG')
# -- DEVICE SETUP --
stellarHD = cv2.VideoCapture(CAM_IDX)
# set to MJPEG mode, by default idx 0 is YUYV
# MJPG needs to be set, before resolution. Pixel format is always selected first
stellarHD.set(cv2.CAP_PROP_FOURCC, MJPG)
stellarHD.set(cv2.CAP_PROP_FRAME_WIDTH, WIDTH)
stellarHD.set(cv2.CAP_PROP_FRAME_HEIGHT, HEIGHT)
# Set framerate
stellarHD.set(cv2.CAP_PROP_FPS, FRAMERATE)
# (Optional) Disable auto exposure
stellarHD.set(cv2.CAP_PROP_AUTO_EXPOSURE, 1)
stellarHD.set(cv2.CAP_PROP_EXPOSURE, 90)
# Error Check
if ((stellarHD == None) or (not stellarHD.isOpened())):
print('\nError - could not open video device.\n')
exit(0)
while(True):
success, frame = stellarHD.read()
if (success):
cv2.imshow('stellarHD', frame)
# required for frames to buffer and show properly.
k = cv2.waitKey(1)
# press 'q' to quit
if k == ord('q'):
break
stellarHD.release()
cv2.destroyAllWindows()
```
## Further Information
For additional details, examples in other languages like C++, or troubleshooting, please refer to our GitHub repository.
Recording with Discovery? See how to play back and export the resulting `.dwvo` files with OpenCV.
Play back, export, and parse `.dwvo` recordings in Python.
Basic Video Capture, Software Frame Sampling, C++ Code, etc.
# stellarHD Firmware Update Guide
Source: https://docs.dwe.ai/stellarHD/guides/stellarHD-firmware
A guide on how to update your stellarHD cameras to the latest firmware and choose between **leader** or **follower** mode.
## Install the Firmware Loader
Download and run the installer, then launch the **DWE Firmware Loader**.
DWEFirmwareLoader.exe
> Linux-compatible tool coming soon!
## Firmware Update Procedure
The Firmware Loader automatically detects your connected camera. If your camera is not recognized, follow the **Recovery Mode** tab instead.
After plugging in your camera, click the **refresh icon** in the top-right corner so the loader scans for it. Once detected, it shows a green **Device Detected** card with the model, current firmware version, and role (`Leader` or `Follower`). If a newer version exists, an **Update available** badge appears.
Open the **Version** dropdown and pick the correct role for this camera:
* **Follower** — for the follower camera in the pair.
* **Leader** — for the leader camera in the pair.
Always choose the **(latest)** version unless you have a specific reason not to.
Once the correct version is selected, click **Flash Firmware**.
Do not close the application, unplug the camera, or open any application that may use the camera until the update is complete.
The progress bar shows **Uploading firmware…**, which should take around 20-30 seconds.
When you see **Firmware burning success!**, the update is complete.
Use Recovery Mode if the loader shows a yellow **Unknown Device Detected** warning instead of the green card. This can happen if a previous update was interrupted.
In Recovery Mode the loader cannot verify your camera model, so you must select the correct hardware profile yourself. **Flashing firmware for the wrong board can permanently brick your device.**
After plugging in your camera, click the **refresh icon** in the top-right corner so the loader scans for it. The loader displays **Unknown Device Detected**. The **Device Type** shows *Select hardware profile target* and no version is available yet.
Open the **Device Type** dropdown and select the profile that matches your camera — **stellarHD**, **stellarHD Elite**, or **explore3D**.
In the **Version** dropdown, choose the correct role (**Leader** or **Follower**) for this camera. Remember each pair needs exactly one of each.
Click **Force Recovery Flash**.
Do not close the application, unplug the camera, or open any application that may use the camera until the update is complete.
The progress bar shows **Uploading firmware…**, which should take around 20-30 seconds.
When you see **Firmware burning success!**, the recovery is complete.
## Test your camera
You can test the camera using our online tool below.
Convenient tool to test your USB camera feeds.
## Troubleshooting
1. Ensure the stellarHD is the **only** camera plugged in.
2. If on a laptop, temporarily disable the built-in webcam in **Device Manager**.
3. Close any application that may be using the camera, then click the refresh icon in the top-right of the loader.
4. If it still isn't recognized, follow the **Recovery Mode** steps above.
If the flash was interrupted (application closed, camera unplugged, etc.), reconnect the camera and follow the **Recovery Mode** steps above to reflash.
# stellarHD Quick Start Guide
Source: https://docs.dwe.ai/stellarHD/guides/stellarHD-quickstart
This guide will help you connect your stellarHD to your computer and receive an image! **Select your connector on the right.**
## Pass your cable through a bulkhead
For Epoxy or WetLink models, follow the cable pinout guide located on the specification page for your stellarHD model.
Below is an example of passing the exposed wiring through an M10 WetLink bulkhead to be installed onto your vehicle endcap.
## Connect your Camera to a Bulkhead
For Cobalt, follow the pinout guide located on the specification page for your stellarHD model.
Below is an example of a [pre-made cobalt bulkhead](https://dwe.ai/collections/our-parts-and-accessories/products/cobalt-to-jst-connector).
## Connect your Camera to a Bulkhead
For SubConn, follow the pinout guide located on the specification page for your stellarHD model.
Below is an example of a [pre-made SubConn MCBH8M bulkhead](https://dwe.ai/collections/our-parts-and-accessories).
## Preparing the JST Cable Connection
| Color | Function | Wire Gauge (AWG) |
| - | - | - |
| Red | 5V | 24 |
| White | D- (Data Negative) | 28 |
| Green | D+ (Data Positive) | 28 |
| Black | Ground | 24 |
| Blue | FSIN (Frame-Sync) | 28 |
Ensure you **do not mix up the +5V Power and Ground**. Doing so can permanently damage your device and void warranty.
## Test Your Camera Online
Connect the USB cable to a computer to confirm the camera is working and in the correct orientation.
You can test the camera using our tool below.
Convenient tool to test your USB camera feeds.
If the camera is showing up on your computer, you are done! You can now move onto using more advanced features of the stellarHD.
If you are having issues, please check our [troubleshooting](#troubleshooting) below.
## Advanced Features
Click here for a guide on how to synchronize multiple stellarHD cameras that feature a frame-sync cable.
Click here to see our resources for using the stellarHD with OpenCV.
## Troubleshooting
### Double-Check Your Wiring Setup
[Ensure that the wire colors match](#preparing-the-jst-cable-connection) their respective functions when connected to the JST connector. Even a single crossed wire will prevent the camera from being recognized.
### Ensure the Data Wires are Twisted (Crucial)
The **White (D-)** and **Yellow/Green (D+)** wires must be twisted/intertwined together.
Because this is a USB 2.0 High-Speed connection, twisting these pairs is required
in order to prevent interference and ensure the data signal is strong enough for your
computer to recognize the camera.
### Check Connections and Power
Make sure the wires are seated securely in the JST connector.
Make sure the JST is pushed all the way into the USB adapter, and the adapter is securely plugged into your USB port.
The camera can draw up to 260mA of power (at 5V). Try plugging the adapter directly into your computer, rather than a low-power USB hub, to ensure it is getting sufficient current.
### OS Hardware Detection
Check if your computer's operating system is detecting the camera at a hardware level, even if it's not showing an image yet. Since it connects via USB, we are looking for a USB device connection.
1. Right-click the **Start button** (or press `Win` + `X`) and select **Device Manager**.
2. Expand the following categories to look for the camera, `stellarHD`:
* **Cameras**
* **Imaging devices**
* **Sound, video and game controllers**
3. If the wiring is slightly off or the data lines aren't twisted properly, Windows might detect *something* but not know what it is. Expand **Universal Serial Bus controllers** and look for anything labeled **Unknown USB Device (Device Descriptor Request Failed)**.
Keep the Device Manager open and unplug/replug the USB adapter. The list will refresh; watch to see if any new devices appear or disappear.
1. Hold down the **Option** key on your keyboard, then click the **Apple logo** () in the top left corner of your screen.
2. Select **System Information** (this is usually "About This Mac" if you don't hold the Option key).
Unplugging and replugging the camera while on this screen (and pressing `Cmd` + `R` to refresh) will help you spot if the system is registering a hardware connection.
3. In the left-hand sidebar under the "Hardware" section, click on **USB**.
4. Check the **USB Device Tree** on the right. Look for the stellarHD camera or an unrecognized USB device.
1. Open your terminal.
2. Type `lsusb` and press `Enter`. This lists all connected USB buses and the devices attached to them. Look for a device name that mentions the camera or an unnamed device that appears when plugged in.
* You can also use this one-line command to detect a valid stellarHD camera:
```
lsusb | grep -qiE "stellarhd|microdia|0c45" && echo "stellarHD connected!"
```
3. To see if Linux recognizes it specifically as a video device (since it is V4L2 compatible), run:
```bash theme={null}
ls -l /dev/video*
```
4. For real-time connection logs, run the following command. When you plug the camera in, you should see a flurry of text appear, indicating whether the USB connection was successful or if there were enumeration errors (like `device descriptor read/64, error`).
```bash theme={null}
sudo dmesg -w | grep usb
```
# stellarHD YUYV Video Guide
Source: https://docs.dwe.ai/stellarHD/guides/stellarHD-yuyv-video
Capture, save, and convert uncompressed YUYV frames from the stellarHD, including monochrome models.
## Overview
The stellarHD exposes two video formats over its standard UVC (USB Video Class) interface:
* **MJPEG** — JPEG-compressed frames. Best for high framerates (up to 60 FPS) and live viewing.
* **YUYV** — uncompressed 4:2:2 raw video. Best when you need the original, unprocessed pixel data (machine vision, photogrammetry, scientific imaging).
This guide focuses on **YUYV (RAW)** capture: how to grab true raw frames, save them to disk, and convert them for inspection. It also covers a detail specific to **monochrome stellarHD models**, where only the luminance (`Y`) channel contains real image data.
YUYV is uncompressed, so it consumes far more USB bandwidth than MJPEG. As a result, raw mode is limited to lower framerates at higher resolutions. Refer to the [stellarHD Technical Specifications](/stellarHD/specs/stellarHD#supported-resolutions-and-framerates) for the supported resolution/framerate combinations.
## Requirements
These commands require a Linux computer with `v4l-utils`, GStreamer, and FFmpeg installed:
```bash theme={null}
sudo apt install v4l-utils ffmpeg \
libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-tools \
gstreamer1.0-x gstreamer1.0-plugins-base gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-plugins-ugly
```
## Understanding YUYV vs MJPEG
| | YUYV (uncompressed) | MJPEG |
| - | - | - |
| Compression | None (4:2:2 uncompressed) | JPEG compressed |
| Use case | Raw pixel data, analysis | High framerate, live preview |
| Framerate | Lower at high resolution | Up to 60 FPS |
| File size | `width × height × 2` bytes per frame | Variable (small) |
| Directly viewable | No (raw bytes) | Yes (each frame is a JPEG) |
In GStreamer caps, the V4L2 format `YUYV` is written as `YUY2`.
**"YUYV" is uncompressed, but it is not sensor-raw.** In camera terms, *raw* means the
unprocessed **Bayer mosaic** straight off the sensor — one color sample per pixel, before
demosaicing, white balance, or color conversion. YUYV 4:2:2 (`YUY2`) is something different:
it is the camera's **already-processed output** — the Bayer data has been demosaiced on the
camera, converted to the YUV color space, and chroma-subsampled (4:2:2 stores two chroma
samples for every two luma samples). This is true of both the color and monochrome models:
the output is uncompressed, but it is still processed and sub-sampled.
The stellarHD does **not** expose the underlying Bayer/sensor-raw data over UVC, so you
**cannot** retrieve a raw mosaic or run your own demosaicing pipeline. The "raw" in this guide
means *uncompressed pixel data*, not *sensor-raw*.
## Step 1 — Identify the Device Node
When you plug in a stellarHD, the kernel creates several V4L2 device nodes. Both YUYV and MJPEG are exposed on the **first** node of the group.
```bash theme={null}
v4l2-ctl --list-devices
```
Example output:
```text theme={null}
stellarHD Leader: stellarHD Lea (usb-0000:00:14.0-6):
/dev/video4 # <-- this node outputs both YUYV and MJPEG
/dev/video5
/dev/media2
```
In this example, `/dev/video4` is the node to use. Substitute your own node in the commands below.
Confirm the formats, resolutions, and framerates your camera advertises before capturing:
```bash theme={null}
v4l2-ctl -d /dev/video4 --list-formats-ext
```
You should see both `YUYV` (uncompressed 4:2:2) and `MJPG` (MJPEG compressed) entries.
## Step 2 — Capture a Single RAW Frame
Use `v4l2-ctl` to capture one uncompressed YUYV frame at full resolution:
```bash theme={null}
v4l2-ctl -d /dev/video4 \
--set-fmt-video=width=1600,height=1200,pixelformat=YUYV \
--stream-mmap \
--stream-count=1 \
--stream-to=frame_1600x1200.yuyv
```
This writes the raw YUYV bytes directly to `frame_1600x1200.yuyv`.
### Verify the frame size
A complete raw frame should be exactly `width × height × 2` bytes:
```text theme={null}
1600 × 1200 × 2 = 3,840,000 bytes (~3.8 MB)
```
If the file size matches, you have captured a complete raw frame.
## Step 3 — Convert the RAW Frame to PNG
Raw YUYV bytes are not directly viewable. Use FFmpeg to convert the frame into a PNG for inspection:
```bash theme={null}
ffmpeg \
-f rawvideo \
-pixel_format yuyv422 \
-video_size 1600x1200 \
-i frame_1600x1200.yuyv \
frame.png
```
You must tell FFmpeg the exact pixel format (`yuyv422`) and resolution (`-video_size`) of the raw file. Raw video has no header, so if these values don't match the capture, the image will appear skewed or corrupted.
## Monochrome stellarHD Models
Because of a UVC quirk, the monochrome stellarHD advertises its output as `YUYV 4:2:2` even though the sensor has no color information.
* Only the **`Y` (luminance)** channel contains the real image.
* The **`U` and `V` (chroma)** channels are dummy/fixed values and can be ignored.
If you convert a monochrome frame as full color, you may see bogus tinting from the meaningless chroma data. Extract grayscale only:
```bash theme={null}
ffmpeg \
-f rawvideo \
-pixel_format yuyv422 \
-video_size 1600x1200 \
-i frame_1600x1200.yuyv \
-vf format=gray \
mono.png
```
This uses only the luminance channel and avoids bogus chroma interpretation.
### Verify the camera is genuinely monochrome
Play the raw file back directly with `ffplay`. If the image appears grayscale naturally, the chroma channels are constant:
```bash theme={null}
ffplay \
-f rawvideo \
-pixel_format yuyv422 \
-video_size 1600x1200 \
frame_1600x1200.yuyv
```
## GStreamer Pipelines
### View the live raw stream
```bash theme={null}
gst-launch-1.0 \
v4l2src device=/dev/video4 ! \
video/x-raw,format=YUY2,width=1600,height=1200,framerate=5/1 ! \
videoconvert ! \
autovideosink
```
### Save one raw frame to disk
```bash theme={null}
gst-launch-1.0 -e \
v4l2src device=/dev/video4 num-buffers=1 ! \
video/x-raw,format=YUY2,width=1600,height=1200,framerate=5/1 ! \
filesink location=frame.yuyv
```
### Faster preview with MJPEG
Because YUYV is limited to low framerates at high resolution, use MJPEG when you only need a smooth realtime preview:
```bash theme={null}
gst-launch-1.0 \
v4l2src device=/dev/video4 ! \
image/jpeg,width=1600,height=1200,framerate=30/1 ! \
jpegdec ! \
videoconvert ! \
autovideosink
```
## Extracting Luminance in OpenCV / Python
If you process raw frames downstream and your sensor is monochrome, extract the luminance channel rather than treating the frame as color.
```python theme={null}
# YUYV frame loaded as a 3-channel array — the Y channel is the real image
gray = frame[:, :, 0]
```
Or convert explicitly from YUY2:
```python theme={null}
import cv2
gray = cv2.cvtColor(frame, cv2.COLOR_YUV2GRAY_YUY2)
```
See our full guide on using the stellarHD with OpenCV.
## Troubleshooting
### The output file is the wrong size
A complete raw frame is exactly `width × height × 2` bytes. A smaller file usually means the capture was interrupted or the requested resolution isn't supported in YUYV mode — check `v4l2-ctl -d /dev/video4 --list-formats-ext`.
### The converted image is skewed or garbled
The `-pixel_format` and `-video_size` passed to FFmpeg must exactly match the capture. Raw video has no header, so any mismatch corrupts the layout.
### The image looks tinted on a monochrome camera
The chroma channels carry no real data on a monochrome sensor. Re-convert with `-vf format=gray` (FFmpeg) or extract the `Y` channel (OpenCV) as shown above.
### YUYV framerate is too low
This is expected — uncompressed video is bandwidth-heavy. Drop the resolution, lower the framerate, or switch to MJPEG for live viewing.
# Frame-Synchronizing Multiple Cameras
Source: https://docs.dwe.ai/stellarHD/guides/syncing-multiple-cameras
A guide on how to synchronize stellarHD cameras.
***This documentation is still being improved and under construction!***
Both **electrical** and **software** synchronization are required. See below for detailed instructions.
# Electrical Wiring Guide
## Overview
This mode is designed for configurations **not using an External Clock Signal**.
You will utilize one camera in `leader` mode (outputting a synchronization signal) and all remaining cameras in `follower` mode.
Click here to see our guide on updating your camera between Leader and Follower modes.
***
## Wiring
### Example
## Overview
This mode is designed for configurations **using an External Clock Signal** to output the synchronization signal for all cameras.
In this mode, all cameras must be set to `follower` mode.
Click here to see our guide on updating your camera between Leader and Follower modes.
***
## Wiring
Check your specific device's product page for external frame-syncing specifications.
***
## External Clock Signal Generation
### Arduino Integration
The **Arduino Uno (ATmega328P)** is currently the only *confirmed* working board for this configuration.
Download the source code for the PWM library here: [ArduinoPWM v1.0.0](https://github.com/DeepWaterExploration/ArduinoPWM/archive/refs/tags/v1.0.0.zip)
Import the downloaded `.ZIP` library into your Arduino IDE.
Upload one of the two sketches below to your Arduino.
* **Simple Control:** The quickest way to get started, but requires reflashing the firmware to adjust your FPS.
* **Serial Control:** Allows you to adjust frequency and duty cycle in real-time without reflashing (settings will reset if the device loses power).
```cpp theme={null}
#include
// Pin configuration
int pin = 9; // Pin
int value = 127; // Initial value for the PWM duty cycle
// SET FREQUENCY HERE
float frequency = 60; // Initial frequency in Hz
void setup()
{
// Initialize all timers except for timer0 to save timekeeping tasks
InitTimersSafe();
// Set the initial PWM frequency and duty cycle
if (SetPinFrequencySafe(pin, frequency))
{
pwmWrite(pin, value);
Serial.println("PWM frequency and initial duty cycle set.");
}
else
{
Serial.println("Failed to set frequency.");
}
}
```
```cpp theme={null}
#include
// Pin configuration
int pin = 9; // Pin
int value = 127; // Initial value for the PWM duty cycle
float frequency = 60; // Initial frequency in Hz
void setup()
{
Serial.begin(9600);
// Initialize all timers except for timer0 to save timekeeping tasks
InitTimersSafe();
// Set the initial PWM frequency and duty cycle
if (SetPinFrequencySafe(pin, frequency))
{
pwmWrite(pin, value);
Serial.println("PWM frequency and initial duty cycle set.");
}
else
{
Serial.println("Failed to set frequency.");
}
}
void loop()
{
if (Serial.available())
{
// Read frequency and duty cycle values over Serial
String inputString = Serial.readStringUntil('\n');
inputString.trim();
int freqDutySplitIndex = inputString.indexOf(',');
if (freqDutySplitIndex != -1)
{
String freqStr = inputString.substring(0, freqDutySplitIndex);
String dutyStr = inputString.substring(freqDutySplitIndex + 1);
// Parse floats
float newFrequency = freqStr.toFloat();
int newDutyCycle = dutyStr.toInt();
// Validate frequency range
if (newFrequency >= 1 && newFrequency <= 2000000)
{
// Set the PWM frequency and apply duty cycle
if (SetPinFrequencySafe(pin, newFrequency))
{
value = map(constrain(newDutyCycle, 0, 100), 0, 100, 0, 255);
pwmWrite(pin, value);
Serial.print("Set frequency to: ");
Serial.print(newFrequency);
Serial.print(" Hz, duty cycle to: ");
Serial.print(newDutyCycle);
Serial.println("%");
}
else
{
Serial.println("Failed to set new frequency.");
}
}
else
{
Serial.println("Invalid frequency value.");
}
}
else
{
Serial.println("Invalid input format. Use frequency,dutycycle (e.g., 60,50).");
}
}
}
```
This code allows you to modify the PWM signal on the fly. Open your serial monitor at `9600` baud and send commands using the format `{FREQUENCY},{DUTY_CYCLE}` (e.g., `60,50` for 60Hz at a 50% duty cycle).
***
## Software
Follow our GitHub guide to install and use our custom Linux, python library. *This may be phased out in favor of the fully featured SDK in the future.*
Stream two synchronized stellarHD cameras over the network with dweOS.
# stellarHD Series
Source: https://docs.dwe.ai/stellarHD/overview
Overview, technical specifications, and guides for the stellarHD global-shutter camera series.
Welcome to the stellarHD series documentation. This section contains comprehensive technical specifications, lens options (including our Aquagon lenses), CAD files, and firmware guides for our high-speed, global-shutter subsea cameras.
Select a model below to view its complete datasheet, or check out our dedicated setup guides.
## Specifications
Technical specifications for the base stellarHD, featuring a 1000m depth rating and global shutter sensor.
Datasheets and advanced specifications for the stellarHD Pro variant.
## Guides & Resources
Keep your stellarHD running smoothly with the latest utilities and guides.
Learn how to synchronize multiple stellarHD cameras.
Quickly learn how to use the stellarHD with OpenCV.
Step-by-step instructions, utility downloads, and video guides for updating your stellarHD firmware.
# stellarHD Technical Specifications
Source: https://docs.dwe.ai/stellarHD/specs/stellarHD
Technical Information for the stellarHD.
## Physical Specifications
| Property | Value |
| - | - |
| Depth Rating | 1000 meters |
| Safety Margin | 50% |
| Ingress Protection Rating | IP69K+ equivalent |
| Mass in Air | 120 grams |
| Mass in Water | 50 grams |
| Material | Naval-grade, Corrosion Resistant Aluminum - Black, Abrasion-Resistant, Hard-Anodized Coating |
| Front Port | Scratch-Resistant Sapphire with internal AR Coating |
| Operating Temperature | -20°C to 85°C |
| Max Cable Length\* | 5m (USB 2.0) |
*\*Cameras ship with a \~1m cable by default. For longer cables, contact [sales@dwe.ai](mailto:sales@dwe.ai).*
## Lens Specifications
| Specification | Fisheye | Aquagon |
| - | - | - |
| Type | Fisheye | Low-Distortion |
| Focus Type | Fixed Focus | Fixed Focus |
| Focal Length | 2.65mm | 3.0mm |
| Lens Aperture | f/1.9 | f/1.6 |
| Minimum Focus Distance | 20-30cm | 25cm |
| Lens Element Count | - | 7 with 2 aspherical, 2 extra-low dispersion |
| Lens Coatings | - | DGS™ MULTI-COATING |
| Distortion | - | \<-1.5% |
| Back Focal Length | - | 2.05mm |
| IR Filter | 650nm | 650nm |
| Horizontal FOV (In Air) | 138° | - |
| Vertical FOV (In Air) | 70° | - |
| Diagonal FOV (In Air) | 168° | - |
| Horizontal FOV (In Water) | \~82° | 78° |
| Vertical FOV (In Water) | - | 67° |
| Diagonal FOV (In Water) | - | 93° |
## Image Sensor Specifications
| Property | Color | Monochrome |
| - | - | - |
| Image Sensor | 1/2.9” Omnivision OmniPixel 3-GS™ CMOS | -- |
| Sensor Color | RGB | Monochrome |
| Sensor Type | Front-Side Illuminated | -- |
| Pixel Size | 3 µm (H) × 3 µm (V) | -- |
| Electronic Shutter Type | Global Shutter | -- |
| Max Resolution | 1600x1200 | -- |
| Max Framerate | 60fps with MJPEG | -- |
| Color Channels | 3 | 2 |
| Bits Per Channel | 8 bits | -- |
| Compression Formats | YUY2, MJPEG | -- |
| Connection | USB 2.0 High Speed / UVC Compliant / V4L2 Compatible | -- |
## Image Compression Specifications
| | MJPEG | YUY2 |
| - | - | - |
| Chroma Subsampling | 4:2:2 | 4:2:2 |
## Supported Resolutions and Framerates
| Resolution | MJPEG | YUY2 |
| - | - | - |
| **1600x1200** | 15, 30, 40, 50, 60 fps | 5 fps |
| **1280x720** | 15, 30, 40, 50, 60 fps | 5 fps |
| **800x600** | 15, 30, 40, 50, 60 fps | - |
| **640x480** | 15, 30, 40, 50, 60 fps | 5 fps |
| **320x240** | - | 15, 30 fps |
## Frame-Sync Specifications
### Leader-Follower Notes
Connect two cameras and configure your camera at any resolution, **but only at 60 FPS framerate.**
### Follower-Only Signal Specification
| FPS | Frequency Range | Duty Cycle | Rising Edge | Logic Level |
| :- | :- | :- | :- | :- |
| **60FPS / 59.94 NTSC** | 60Hz ± 0.1 | 30% | 50ns or less | 3.3V |
| **50FPS** | 50Hz ± 0.1 | 30% | 50ns or less | 3.3V |
| **40FPS** | 40Hz ± 0.1 | 30% | 50ns or less | 3.3V |
| **30FPS** | 30Hz ± 0.1 | 30% | 50ns or less | 3.3V |
| **15FPS** | 15Hz ± 0.1 | 30% | 50ns or less | 3.3V |
Guide to synchronizing multiple stellarHD cameras.
## Software Requirements
| Property | Value |
| - | - |
| **External Software** | None Required (Plug-and-Play) |
| **Protocol** | UVC (USB Video Class) Compliant |
| **Windows Support** | Native Support - No drivers needed |
| **macOS Support** | Native Support - No drivers needed |
| **Linux Support** | Native Support - V4L2 compatible |
**Zero Software Required**
Because it is fully UVC compliant, it requires absolutely **no proprietary drivers, external software, or libraries** for retrieving images.
While we provide helpful optional utilities like our Camera Tester and dweOS, **these are strictly optional**. You can plug the camera into your system and immediately view the feed using standard built-in camera applications (like Windows Camera, OBS, etc).
## Electrical Specifications
| Property | MJPEG / YUY2 Mode |
| - | - |
| Voltage | 5V |
| Current | 190mA |
| Current (Max) | 200mA |
| Operating Wattage | 0.95W |
| Wattage (Min) | 0.0033W |
| Wattage (Max) | 1W |
## Connector Pinout
| Color | Function | Wire Gauge (AWG) |
| - | - | - |
| Red | 5V | 24 |
| White | D- (Data Negative) | 28 |
| Green | D+ (Data Positive) | 28 |
| Black | Ground | 24 |
| Blue | FSIN (Frame-Sync) | 28 |
| Cobalt (6 Pin) USB Cable | COB-1461 |
| - | - |
| 1 | **Black : Ground** |
| 2 | **Red : +5V** |
| 3 | **White : DATA -** |
| 4 | **Green : DATA +** |
| 5 | **Blue : FSIN (Frame-Sync)** |
| 6 | Brown : NC |
| SubConn MCBH8M (USB) Bulkhead | |
| - | - |
| 1 | **Black : Ground** |
| 2 | **White : FSIN (Frame-Sync)** |
| 3 | **Red : +5V** |
| 4 | Green : NC |
| 5 | Orange : NC |
| 6 | Blue : NC |
| 7 | **White/black : DATA -** |
| 8 | **Red/black : DATA +** |
## CAD Files
### Standard Lens
stellarHD (WetLink) STEP File
stellarHD (WetLink) Technical Drawing (PDF)
### Aquagon Lens
stellarHD with Aquagon Lens (WetLink) STEP File
stellarHD with Aquagon Lens (WetLink) Technical Drawing (PDF)
### Standard Lens
stellarHD (Cobalt) STEP File
stellarHD (Cobalt) Technical Drawing (PDF)
### Aquagon Lens
stellarHD with Aquagon Lens (Cobalt) STEP File
stellarHD with Aquagon Lens (Cobalt) Technical Drawing (PDF)
### Standard Lens
stellarHD (SubConn) STEP File
stellarHD (SubConn) Technical Drawing (PDF)
### Aquagon Lens
stellarHD with Aquagon Lens (SubConn) STEP File
stellarHD with Aquagon Lens (SubConn) Technical Drawing (PDF)
stellarHD Mounting Bracket STEP File
stellarHD Mounting Bracket Technical Drawing (PDF)
## Updating Firmware
Follow this simple guide to updating firmware.
## NDAA Section 889 Compliance
> This product is fully compliant with Section 889 of the National Defense Authorization Act (NDAA).
> We do not utilize any covered telecommunications equipment, video surveillance equipment, or services
> from prohibited entities (including Huawei, ZTE, Hytera, Hikvision, Dahua, or their affiliates).
> This product contains compliant core processing components and zero proprietary firmware, ensuring
> a secure hardware profile free of restricted data pathways.
## CE (Conformité Européenne)
> This product is CE certified, indicating conformance with relevant European Union directives
> and regulations regarding health, safety, and environmental protection. This certification
> validates that the product meets the high standards required for sale within the European Economic Area.
# stellarHD Elite Technical Specifications
Source: https://docs.dwe.ai/stellarHD/specs/stellarHD-elite
Technical Information for the stellarHD Elite.
## Physical Specifications
| Property | Value |
| - | - |
| Depth Rating | 1000 meters |
| Safety Margin | 50% |
| Ingress Protection Rating | IP69K+ equivalent |
| Mass in Air | 120 grams |
| Mass in Water | 50 grams |
| Material | Naval-grade, Corrosion Resistant Aluminum - Black, Abrasion-Resistant, Hard-Anodized Coating |
| Front Port | Scratch-Resistant Sapphire with internal AR Coating |
| Operating Temperature | -20°C to 85°C |
| Max Cable Length\* | 5m (USB 2.0) |
*\*Cameras ship with a \~1m cable by default. For longer cables, contact [sales@dwe.ai](mailto:sales@dwe.ai).*
## Lens Specifications
| Specification | Fisheye | Aquagon |
| - | - | - |
| Type | Fisheye | Low-Distortion |
| Focus Type | Fixed Focus | Fixed Focus |
| Focal Length | 2.65mm | 3.0mm |
| Lens Aperture | f/1.9 | f/1.6 |
| Minimum Focus Distance | 20-30cm | 25cm |
| Lens Element Count | - | 7 with 2 aspherical, 2 extra-low dispersion |
| Lens Coatings | - | DGS™ MULTI-COATING |
| Distortion | - | \<-1.5% |
| Back Focal Length | - | 2.05mm |
| IR Filter | 650nm | 650nm |
| Horizontal FOV (In Air) | 138° | - |
| Vertical FOV (In Air) | 70° | - |
| Diagonal FOV (In Air) | 168° | - |
| Horizontal FOV (In Water) | \~82° | 78° |
| Vertical FOV (In Water) | - | 67° |
| Diagonal FOV (In Water) | - | 93° |
## Image Sensor Specifications
| Property | Color | Monochrome |
| - | - | - |
| Image Sensor | 1/2.9” Omnivision OmniPixel 3-GS™ CMOS | -- |
| Sensor Color | RGB | Monochrome |
| Sensor Type | Front-Side Illuminated | -- |
| Pixel Size | 3 µm (H) × 3 µm (V) | -- |
| Electronic Shutter Type | Global Shutter | -- |
| Max Resolution | 1600x1200 | -- |
| Max Framerate | 60fps with MJPEG | -- |
| Color Channels | 3 | 2 |
| Bits Per Channel | 8 bits | -- |
| Compression Formats | YUY2, MJPEG | -- |
| Connection | USB 2.0 High Speed / UVC Compliant / V4L2 Compatible | -- |
## Image Compression Specifications
| | MJPEG | YUY2 |
| - | - | - |
| Chroma Subsampling | 4:2:2 | 4:2:2 |
## Supported Resolutions and Framerates
| Resolution | MJPEG | YUY2 |
| - | - | - |
| **1600x1200** | 15, 30, 40, 50, 60 fps | 5 fps |
| **1280x720** | 15, 30, 40, 50, 60 fps | 5 fps |
| **800x600** | 15, 30, 40, 50, 60 fps | - |
| **640x480** | 15, 30, 40, 50, 60 fps | 5 fps |
| **320x240** | - | 15, 30 fps |
## Frame-Sync Specifications
### Leader-Follower Notes
Connect two cameras and configure your camera at any resolution, **but only at 60 FPS framerate.**
### Follower-Only Signal Specification
| FPS | Frequency Range | Duty Cycle | Rising Edge | Logic Level |
| :- | :- | :- | :- | :- |
| **60FPS / 59.94 NTSC** | 60Hz ± 0.1 | 30% | 50ns or less | 3.3V |
| **50FPS** | 50Hz ± 0.1 | 30% | 50ns or less | 3.3V |
| **40FPS** | 40Hz ± 0.1 | 30% | 50ns or less | 3.3V |
| **30FPS** | 30Hz ± 0.1 | 30% | 50ns or less | 3.3V |
| **15FPS** | 15Hz ± 0.1 | 30% | 50ns or less | 3.3V |
Guide to synchronizing multiple stellarHD cameras.
## Software Requirements
| Property | Value |
| - | - |
| **External Software** | None Required (Plug-and-Play) |
| **Protocol** | UVC (USB Video Class) Compliant |
| **Windows Support** | Native Support - No drivers needed |
| **macOS Support** | Native Support - No drivers needed |
| **Linux Support** | Native Support - V4L2 compatible |
**Zero Software Required**
Because it is fully UVC compliant, it requires absolutely **no proprietary drivers, external software, or libraries** for retrieving images.
While we provide helpful optional utilities like our Camera Tester and dweOS, **these are strictly optional**. You can plug the camera into your system and immediately view the feed using standard built-in camera applications (like Windows Camera, OBS, etc).
## Electrical Specifications
| Property | MJPEG / YUY2 Mode |
| - | - |
| Voltage | 5V |
| Current | 190mA |
| Current (Max) | 200mA |
| Operating Wattage | 0.95W |
| Wattage (Min) | 0.0033W |
| Wattage (Max) | 1W |
## Strobe Specifications
Can be used with our aquaLUX series lights directly
| Property | |
| - | - |
| Logic Voltage | 3.3V |
| Frequency | Dependent on FPS (60 FPS = 60Hz, etc.) |
## Connector Pinout
| Color | Function | Wire Gauge (AWG) |
| - | - | - |
| Red | 5V | 24 |
| White | D- (Data Negative) | 28 |
| Green | D+ (Data Positive) | 28 |
| Black | Ground | 24 |
| Blue | FSIN (Frame-Sync) | 28 |
| Brown/Yellow | Strobe | 28 |
| Cobalt (6 Pin) USB Cable | COB-1461 |
| - | - |
| 1 | Black : Ground |
| 2 | Red : +5V |
| 3 | White : DATA - |
| 4 | Green : DATA + |
| 5 | Blue : FSIN (Frame-Sync) |
| 6 | Brown : Strobe |
| SubConn MCBH8M (USB) Bulkhead | |
| - | - |
| 1 | **Black : Ground** |
| 2 | **White : FSIN (Frame-Sync)** |
| 3 | **Red : +5V** |
| 4 | **Green : Strobe** |
| 5 | Orange : NC |
| 6 | Blue : NC |
| 7 | **White/black : DATA -** |
| 8 | **Red/black : DATA +** |
## CAD Files
The stellarHD Elite shares the same external housing as the regular stellarHD.
### Standard Lens
stellarHD (WetLink) STEP File
stellarHD (WetLink) Technical Drawing (PDF)
### Aquagon Lens
stellarHD with Aquagon Lens (WetLink) STEP File
stellarHD with Aquagon Lens (WetLink) Technical Drawing (PDF)
### Standard Lens
stellarHD (Cobalt) STEP File
stellarHD (Cobalt) Technical Drawing (PDF)
### Aquagon Lens
stellarHD with Aquagon Lens (Cobalt) STEP File
stellarHD with Aquagon Lens (Cobalt) Technical Drawing (PDF)
### Standard Lens
stellarHD (SubConn) STEP File
stellarHD (SubConn) Technical Drawing (PDF)
### Aquagon Lens
stellarHD with Aquagon Lens (SubConn) STEP File
stellarHD with Aquagon Lens (SubConn) Technical Drawing (PDF)
stellarHD Mounting Bracket STEP File
stellarHD Mounting Bracket Technical Drawing (PDF)
## Updating Firmware
Firmware Updater for the stellarHD Elite coming soon!
## NDAA Section 889 Compliance
> This product is fully compliant with Section 889 of the National Defense Authorization Act (NDAA).
> We do not utilize any covered telecommunications equipment, video surveillance equipment, or services
> from prohibited entities (including Huawei, ZTE, Hytera, Hikvision, Dahua, or their affiliates).
> This product contains compliant core processing components and zero proprietary firmware, ensuring
> a secure hardware profile free of restricted data pathways.
## CE (Conformité Européenne)
> This product is CE certified, indicating conformance with relevant European Union directives
> and regulations regarding health, safety, and environmental protection. This certification
> validates that the product meets the high standards required for sale within the European Economic Area.
# stellarHD Elite Pro Technical Specifications
Source: https://docs.dwe.ai/stellarHD/specs/stellarHD-elite-pro
Technical Information for the stellarHD Elite Pro.
## Physical Specifications
| Property | Value |
| - | - |
| Depth Rating | 6000 meters |
| Safety Margin | 40% |
| Ingress Protection Rating | IP69K+ equivalent |
| Mass in Air | 246 grams |
| Mass in Water | 146 grams |
| Material | Naval-grade, Corrosion Resistant Aluminum - Black, Abrasion-Resistant, Hard-Anodized Coating |
| Front Port | Scratch-Resistant Sapphire with internal AR Coating |
| Operating Temperature | -20°C to 85°C |
| Max Cable Length\* | 5m (USB 2.0) |
*\*To request a cable with your camera, contact [sales@dwe.ai](mailto:sales@dwe.ai).*
## Lens Specifications
| Specification | Aquagon |
| - | - |
| Type | Low-Distortion |
| Focus Type | Fixed Focus |
| Focal Length | 3.0mm |
| Lens Aperture | f/1.6 |
| Minimum Focus Distance | 25cm |
| Lens Element Count | 7 with 2 aspherical, 2 extra-low dispersion |
| Lens Coatings | DGS™ MULTI-COATING |
| Distortion | \<-1.5% |
| Back Focal Length | 2.05mm |
| IR Filter | 650nm |
| Horizontal FOV (In Water) | 78° |
| Vertical FOV (In Water) | 67° |
| Diagonal FOV (In Water) | 93° |
## Image Sensor Specifications
| Property | Color | Monochrome |
| - | - | - |
| Image Sensor | 1/2.9” Omnivision OmniPixel 3-GS™ CMOS | -- |
| Sensor Color | RGB | Monochrome |
| Sensor Type | Front-Side Illuminated | -- |
| Pixel Size | 3 µm (H) × 3 µm (V) | -- |
| Electronic Shutter Type | Global Shutter | -- |
| Max Resolution | 1600x1200 | -- |
| Max Framerate | 60fps with MJPEG | -- |
| Color Channels | 3 | 2 |
| Bits Per Channel | 8 bits | -- |
| Compression Formats | YUY2, MJPEG | -- |
| Connection | USB 2.0 High Speed / UVC Compliant / V4L2 Compatible | -- |
## Image Compression Specifications
| | MJPEG | YUY2 |
| - | - | - |
| Chroma Subsampling | 4:2:2 | 4:2:2 |
## Supported Resolutions and Framerates
| Resolution | MJPEG | YUY2 |
| - | - | - |
| **1600x1200** | 15, 30, 40, 50, 60 fps | 5 fps |
| **1280x720** | 15, 30, 40, 50, 60 fps | 5 fps |
| **800x600** | 15, 30, 40, 50, 60 fps | - |
| **640x480** | 15, 30, 40, 50, 60 fps | 5 fps |
| **320x240** | - | 15, 30 fps |
## Frame-Sync Specifications
### Leader-Follower Notes
Connect two cameras and configure your camera at any resolution, **but only at 60 FPS framerate.**
### Follower-Only Signal Specification
| FPS | Frequency Range | Duty Cycle | Rising Edge | Logic Level |
| :- | :- | :- | :- | :- |
| **60FPS / 59.94 NTSC** | 60Hz ± 0.1 | 30% | 50ns or less | 3.3V |
| **50FPS** | 50Hz ± 0.1 | 30% | 50ns or less | 3.3V |
| **40FPS** | 40Hz ± 0.1 | 30% | 50ns or less | 3.3V |
| **30FPS** | 30Hz ± 0.1 | 30% | 50ns or less | 3.3V |
| **15FPS** | 15Hz ± 0.1 | 30% | 50ns or less | 3.3V |
Guide to synchronizing multiple stellarHD cameras.
## Software Requirements
| Property | Value |
| - | - |
| **External Software** | None Required (Plug-and-Play) |
| **Protocol** | UVC (USB Video Class) Compliant |
| **Windows Support** | Native Support - No drivers needed |
| **macOS Support** | Native Support - No drivers needed |
| **Linux Support** | Native Support - V4L2 compatible |
**Zero Software Required**
Because it is fully UVC compliant, it requires absolutely **no proprietary drivers, external software, or libraries** for retrieving images.
While we provide helpful optional utilities like our Camera Tester and dweOS, **these are strictly optional**. You can plug the camera into your system and immediately view the feed using standard built-in camera applications (like Windows Camera, OBS, etc).
## Electrical Specifications
| Property | MJPEG / YUY2 Mode |
| - | - |
| Voltage | 5V |
| Current | 190mA |
| Current (Max) | 200mA |
| Operating Wattage | 0.95W |
| Wattage (Min) | 0.0033W |
| Wattage (Max) | 1W |
## Strobe Specifications
Can be used with our aquaLUX series lights directly
| Property | |
| - | - |
| Logic Voltage | 3.3V |
| Frequency | Dependent on FPS (60 FPS = 60Hz, etc.) |
## Connector Pinout
| SubConn MCBH8M (USB) Bulkhead | |
| - | - |
| 1 | **Black : Ground** |
| 2 | **White : FSIN (Frame-Sync)** |
| 3 | **Red : +5V** |
| 4 | **Green : Strobe** |
| 5 | Orange : NC |
| 6 | Blue : NC |
| 7 | **White/black : DATA -** |
| 8 | **Red/black : DATA +** |
## CAD Files
The stellarHD Elite Pro shares the same external housing as the regular stellarHD Pro.
stellarHD Pro STEP File
stellarHD Pro Technical Drawing (PDF)
## Updating Firmware
Firmware Updater for the stellarHD Elite coming soon!
## NDAA Section 889 Compliance
> This product is fully compliant with Section 889 of the National Defense Authorization Act (NDAA).
> We do not utilize any covered telecommunications equipment, video surveillance equipment, or services
> from prohibited entities (including Huawei, ZTE, Hytera, Hikvision, Dahua, or their affiliates).
> This product contains compliant core processing components and zero proprietary firmware, ensuring
> a secure hardware profile free of restricted data pathways.
## CE (Conformité Européenne)
> This product is CE certified, indicating conformance with relevant European Union directives
> and regulations regarding health, safety, and environmental protection. This certification
> validates that the product meets the high standards required for sale within the European Economic Area.
# stellarHD Pro Technical Specifications
Source: https://docs.dwe.ai/stellarHD/specs/stellarHD-pro
Technical Information for the stellarHD Pro.
## Physical Specifications
| Property | Value |
| - | - |
| Depth Rating | 6000 meters |
| Safety Margin | 40% |
| Ingress Protection Rating | IP69K+ equivalent |
| Mass in Air | 246 grams |
| Mass in Water | 146 grams |
| Material | Naval-grade, Corrosion Resistant Aluminum - Black, Abrasion-Resistant, Hard-Anodized Coating |
| Front Port | Scratch-Resistant Sapphire with internal AR Coating |
| Operating Temperature | -20°C to 85°C |
| Max Cable Length\* | 5m (USB 2.0) |
*\*To request a cable with your camera, contact [sales@dwe.ai](mailto:sales@dwe.ai).*
## Lens Specifications
| Specification | Aquagon |
| - | - |
| Type | Low-Distortion |
| Focus Type | Fixed Focus |
| Focal Length | 3.0mm |
| Lens Aperture | f/1.6 |
| Minimum Focus Distance | 25cm |
| Lens Element Count | 7 with 2 aspherical, 2 extra-low dispersion |
| Lens Coatings | DGS™ MULTI-COATING |
| Distortion | \<-1.5% |
| Back Focal Length | 2.05mm |
| IR Filter | 650nm |
| Horizontal FOV (In Water) | 78° |
| Vertical FOV (In Water) | 67° |
| Diagonal FOV (In Water) | 93° |
## Image Sensor Specifications
| Property | Color | Monochrome |
| - | - | - |
| Image Sensor | 1/2.9” Omnivision OmniPixel 3-GS™ CMOS | -- |
| Sensor Color | RGB | Monochrome |
| Sensor Type | Front-Side Illuminated | -- |
| Pixel Size | 3 µm (H) × 3 µm (V) | -- |
| Electronic Shutter Type | Global Shutter | -- |
| Max Resolution | 1600x1200 | -- |
| Max Framerate | 60fps with MJPEG | -- |
| Color Channels | 3 | 2 |
| Bits Per Channel | 8 bits | -- |
| Compression Formats | YUY2, MJPEG | -- |
| Connection | USB 2.0 High Speed / UVC Compliant / V4L2 Compatible | -- |
## Image Compression Specifications
| | MJPEG | YUY2 |
| - | - | - |
| Chroma Subsampling | 4:2:2 | 4:2:2 |
## Supported Resolutions and Framerates
| Resolution | MJPEG | YUY2 |
| - | - | - |
| **1600x1200** | 15, 30, 40, 50, 60 fps | 5 fps |
| **1280x720** | 15, 30, 40, 50, 60 fps | 5 fps |
| **800x600** | 15, 30, 40, 50, 60 fps | - |
| **640x480** | 15, 30, 40, 50, 60 fps | 5 fps |
| **320x240** | - | 15, 30 fps |
## Frame-Sync Specifications
### Leader-Follower Notes
Connect two cameras and configure your camera at any resolution, **but only at 60 FPS framerate.**
### Follower-Only Signal Specification
| FPS | Frequency Range | Duty Cycle | Rising Edge | Logic Level |
| :- | :- | :- | :- | :- |
| **60FPS / 59.94 NTSC** | 60Hz ± 0.1 | 30% | 50ns or less | 3.3V |
| **50FPS** | 50Hz ± 0.1 | 30% | 50ns or less | 3.3V |
| **40FPS** | 40Hz ± 0.1 | 30% | 50ns or less | 3.3V |
| **30FPS** | 30Hz ± 0.1 | 30% | 50ns or less | 3.3V |
| **15FPS** | 15Hz ± 0.1 | 30% | 50ns or less | 3.3V |
Guide to synchronizing multiple stellarHD cameras.
## Software Requirements
| Property | Value |
| - | - |
| **External Software** | None Required (Plug-and-Play) |
| **Protocol** | UVC (USB Video Class) Compliant |
| **Windows Support** | Native Support - No drivers needed |
| **macOS Support** | Native Support - No drivers needed |
| **Linux Support** | Native Support - V4L2 compatible |
**Zero Software Required**
Because it is fully UVC compliant, it requires absolutely **no proprietary drivers, external software, or libraries** for retrieving images.
While we provide helpful optional utilities like our Camera Tester and dweOS, **these are strictly optional**. You can plug the camera into your system and immediately view the feed using standard built-in camera applications (like Windows Camera, OBS, etc).
## Electrical Specifications
| Property | MJPEG / YUY2 Mode |
| - | - |
| Voltage | 5V |
| Current | 190mA |
| Current (Max) | 200mA |
| Operating Wattage | 0.95W |
| Wattage (Min) | 0.0033W |
| Wattage (Max) | 1W |
## Connector Pinout
| SubConn MCBH8M (USB) Bulkhead | |
| - | - |
| 1 | **Black : Ground** |
| 2 | **White : FSIN (Frame-Sync)** |
| 3 | **Red : +5V** |
| 4 | Green : NC |
| 5 | Orange : NC |
| 6 | Blue : NC |
| 7 | **White/black : DATA -** |
| 8 | **Red/black : DATA +** |
## CAD Files
stellarHD Pro STEP File
stellarHD Pro Technical Drawing (PDF)
## Updating Firmware
Follow this simple guide to updating firmware.
## NDAA Section 889 Compliance
> This product is fully compliant with Section 889 of the National Defense Authorization Act (NDAA).
> We do not utilize any covered telecommunications equipment, video surveillance equipment, or services
> from prohibited entities (including Huawei, ZTE, Hytera, Hikvision, Dahua, or their affiliates).
> This product contains compliant core processing components and zero proprietary firmware, ensuring
> a secure hardware profile free of restricted data pathways.
## CE (Conformité Européenne)
> This product is CE certified, indicating conformance with relevant European Union directives
> and regulations regarding health, safety, and environmental protection. This certification
> validates that the product meets the high standards required for sale within the European Economic Area.
# microSVC and SVC Quick Start Guide
Source: https://docs.dwe.ai/svc/guides/svc/quickstart
## Overview
Our SVC and microSVC both include our **dweOS** software, a web interface for controlling the module and attached hardware.
The SVC and microSVC are designed to integrate with our exploreHD cameras to provide a modern, ethernet-based video stream.
There will be one connector present on one side of the device:
* Power over Ethernet (PoE) connection.
Provide PoE to this connecter, indicated in the image above.
Connect the other side of the cable to a personal computer with a PoE injector or a switch with PoE support.
See the [PoE note](#poe-note) for more information.
In order to connect to the SVC or microSVC, you will need to set up your desktop computer to allow network communication with the device.
Please use the following guide to set up your computer.
Click here for a quickstart guide on how to configure your desktop networking setup.
Upon successfully configuring your desktop networking setup, you should now be able to connect to dweOS in your web browser at `http://192.168.2.2` or `http://dweos.local`.
If you have configured your SVC or microSVC to use **Dynamic IP (DHCP)**, use the address found in your router's device list.
Reaching the dweOS web interface indicates a **successful connection** to your SVC or microSVC.
Move on to our guides for **streaming video** and **Discovery for desktop**, the companion desktop app for the SVC and microSVC.
Get started with streaming video.
Get started with Discovery.
### PoE note
**Note about PoE:** This device is powered via ethernet and strictly requires **active PoE (802.3af compliant)**. Standard PC ports and regular switches do not provide power. You must use an 802.3af-compliant PoE switch or a PoE injector. Examples from US brands include:
* PoE Injector: [Ubiquiti U-POE-AF](https://store.ui.com/us/en/products/u-poe-af)
* PoE Switch: [Netgear GS305P](https://www.netgear.com/business/wired/switches/unmanaged/gs305p/)
# Subsea Vision Computer (SVC)
Source: https://docs.dwe.ai/svc/overview
Overview and technical specifications for the Subsea Vision Computer lineup.
Welcome to the Subsea Vision Computer (SVC) series documentation. This section contains technical specifications, datasheets, and CAD files for our lineup of subsea computing solutions designed to process vision and data at the edge.
Choose an SVC model below to view its complete technical datasheet and resources.
## Specifications
Compact and efficient. View the specifications and CAD files for the micro SVC.
The standard Subsea Vision Computer. View full specifications and datasheets.
High-performance edge computing. Explore the specifications for the SVC Pro.
## Additional Resources
Looking for more information on our subsea systems?
Reach out to our team if you have questions about integrating an SVC into your vehicle.
Check out our open-source software, scripts, and examples for our vision computers.
# micro SVC (Subsea Vision Computer)
Source: https://docs.dwe.ai/svc/specs/micro-svc
Technical Information for the micro SVC.
## Physical Specifications
| Property | Value |
| - | - |
| Depth Rating | 600 |
| Ingress Protection Rating | IP69K+ equivalent |
| Mass in Air | 1.350 kilograms |
| Mass in Water | 450 grams |
| Material | Aerospace-grade 6061-T6 alloy aluminum |
## Computing Specifications
| Raspberry Pi Zero 2W | |
| - | - |
| SDRAM | 512MB |
| On Board Storage | 64 GB |
| CPU | 64-bit ARM SoC Quad-Core |
| Wireless | 2.4GHz 802.11 b/g/n wireless LAN |
| Operating Temperature | 0-60 C |
| Ethernet Speeds | 100 BaseT Ethernet |
| Bootup Time | 30 Seconds |
## PoE Specifications
| Waveshare PoE/ETH/USB HAT | |
| - | - |
| Input Voltage | 40-57 V DC |
| Standard | IEEE 802.3af-compliant PoE |
| Ethernet Speeds | 10M / 100M auto-negotiation Ethernet |
| Max Cable Length | 100m (Cat5e) |
## Power Specifications
| Property | Value |
| - | - |
| Input Voltage | 40-57 V DC |
| Operating Current | -42mA @ 48V (no cameras) |
| Minimum Wattage | -2.1W |
| Operating Wattage | Depends on cameras connected |
| Maximum Wattage | Depends on cameras connected |
## Input Connectors: USB Cameras
| Cobalt (6 Pin) USB Bulkhead | COB-1160 |
| - | - |
| 1 | **Black : Ground** |
| 2 | **Red : +5V** |
| 3 | **White : DATA -** |
| 4 | **Green : DATA +** |
| 5 | Blue : NC |
| 6 | Brown : NC |
| SubConn MCBH8F (USB) Bulkhead | |
| - | - |
| 1 | **Black : Ground** |
| 2 | **Red/Black : DATA +** |
| 3 | **White/Black : DATA -** |
| 4 | Blue : NC |
| 5 | Orange : NC |
| 6 | Green : NC |
| 7 | **Red : +5V** |
| 8 | White : NC |
## Output Connector: PoE/Ethernet
| Cobalt 8-Pin Ethernet Bulkhead | |
| - | - |
| 1 | Green/White |
| 2 | Green |
| 3 | Orange/White |
| 4 | Blue |
| 5 | Blue/White |
| 6 | Orange |
| 7 | Brown/White |
| 8 | Brown |
| SubConn MCBH8M (Ethernet) | |
| - | - |
| 1 | Brown |
| 2 | Green/White |
| 3 | Green |
| 4 | Orange/White |
| 5 | Orange |
| 6 | Blue/White |
| 7 | Blue |
| 8 | Brown/White |
## CAD Files
microSVC (Cobalt) STEP File
microSVC (Cobalt) Drawing (PDF)
microSVC (SubConn) STEP File
microSVC (SubConn) Drawing (PDF)
## Troubleshooting
This fix only applies to orders placed prior to June 2026.
**What's wrong?** Your microSVC works for a while, then suddenly drops the connection. This one-time fix is know to solve it. It takes about 5 minutes.
Just follow each step in order. Copy each command exactly as shown.
Connect to the microSVC over SSH. When asked, enter:
* **Username:** `dwe`
* **Password:** `deepwater`
Not sure how? Follow [this guide](/dwe-os/pages/terminal) first, then come back here.
This applies the fix. Nothing will look like it happened — that's normal.
```bash theme={null}
cmdline_path=""
for candidate in /boot/firmware/cmdline.txt /boot/cmdline.txt; do
if [ -f "$candidate" ]; then
cmdline_path="$candidate"
break
fi
done
if [ -z "$cmdline_path" ]; then
echo "Warning: cmdline.txt not found in /boot/firmware or /boot, skipping USB quirks configuration."
else
# Idempotent: only append if the quirk isn't already there
if ! grep -q 'usbcore.quirks=0bda:8152:k' "$cmdline_path"; then
sudo sed -i -e 's/$/ usbcore.autosuspend=-1 usbcore.quirks=0bda:8152:k/' "$cmdline_path"
echo "USB quirks added to $cmdline_path"
else
echo "USB quirks already present in $cmdline_path, skipping."
fi
fi
```
What does this command do?
If you see `Warning: ... not found`, stop here and contact support — the fix was not applied.
Type this command and press Enter. The device will reboot, which takes a minute or two.
```bash theme={null}
sudo reboot
```
Once the device has restarted, open the terminal again (Step 1) and paste this command:
```bash theme={null}
for d in /sys/bus/usb/devices/*/; do
vid=$(cat "$d/idVendor" 2>/dev/null)
pid=$(cat "$d/idProduct" 2>/dev/null)
[ "$vid:$pid" = "0bda:8152" ] && echo "$d" && cat "$d/quirks"
done
```
What does this command do?
If you see `0x400` in the output, the fix worked. You're done! If you don't see it, repeat the steps or contact support.
## CE (Conformité Européenne)
> This product is CE certified, indicating conformance with relevant European Union directives
> and regulations regarding health, safety, and environmental protection. This certification
> validates that the product meets the high standards required for sale within the European Economic Area.
# Subsea Vision Computer
Source: https://docs.dwe.ai/svc/specs/svc
Technical Information for the Subsea Vision Computer.
## Physical Specifications
| Property | Value |
| - | - |
| Depth Rating | 600, 1000, 6000 meter options |
| Ingress Protection Rating | IP69K+ equivalent |
| Mass in Air | 1.350 kilograms |
| Mass in Water | 450 grams |
| Material | Aerospace-grade 6061-T6 alloy aluminum |
## Computing Specifications
| Raspberry Pi 4B | |
| - | - |
| CPU | Broadcom BCM2711, Quad core Cortex-A72 (ARM v8) 64-bit SoC @ 1.8GHz |
| DDR4 RAM | 2 GB |
| On Board Storage | 64 GB microSD Card |
| Wireless | 2.4 GHz and 5.0 GHz IEEE 802.11b/g/n/ac wireless |
| Ambient Operating Temperature | 0°C - 50°C |
| Software | Raspberry Pi OS + dweOS |
| Bootup Time | 30 Seconds |
## PoE Specifications
| Raspberry Pi PoE+ HAT | Value |
| - | - |
| Standard | IEEE 802.3at-2009 PoE |
| Input Voltage | 40-57 V DC, Class 4 device |
| Ethernet Speeds | 1,000 BaseT Ethernet |
| Max Cable Length | 100m (Cat5e) |
## Power Specifications
| Property | Value |
| - | - |
| Operating Voltage | 44V-57V |
| Operating Current | -91mA @ 48V (no cameras) |
| Operating Wattage | Depends on cameras connected |
| Minimum Wattage | -4.2W |
| Maximum Wattage | Depends on cameras connected |
## Input Connectors: USB Cameras
| Cobalt (6 Pin) USB Bulkhead | COB-1160 |
| - | - |
| 1 | **Black : Ground** |
| 2 | **Red : +5V** |
| 3 | **White : DATA -** |
| 4 | **Green : DATA +** |
| 5 | Blue : NC |
| 6 | Brown : NC |
| SubConn MCBH8F (USB) Bulkhead | |
| - | - |
| 1 | **Black : Ground** |
| 2 | **Red/Black : DATA +** |
| 3 | **White/Black : DATA -** |
| 4 | Blue : NC |
| 5 | Orange : NC |
| 6 | Green : NC |
| 7 | **Red : +5V** |
| 8 | White : NC |
## Output Connector: PoE/Ethernet
| Cobalt 8-Pin Ethernet Bulkhead | |
| - | - |
| 1 | Green/White |
| 2 | Green |
| 3 | Orange/White |
| 4 | Blue |
| 5 | Blue/White |
| 6 | Orange |
| 7 | Brown/White |
| 8 | Brown |
| SubConn MCBH8M (Ethernet) | |
| - | - |
| 1 | Brown |
| 2 | Green/White |
| 3 | Green |
| 4 | Orange/White |
| 5 | Orange |
| 6 | Blue/White |
| 7 | Blue |
| 8 | Brown/White |
## CAD Files
Subsea Vision Computer (Cobalt) STEP File
Subsea Vision Computer (Cobalt) Drawing (PDF)
Subsea Vision Computer (SubConn) STEP File
Subsea Vision Computer (SubConn) Drawing (PDF)
## NDAA Section 889 Compliance
> This product is fully compliant with Section 889 of the National Defense Authorization Act (NDAA).
> We do not utilize any covered telecommunications equipment, video surveillance equipment, or services
> from prohibited entities (including Huawei, ZTE, Hytera, Hikvision, Dahua, or their affiliates).
> This product contains compliant core processing components and zero proprietary firmware, ensuring
> a secure hardware profile free of restricted data pathways.
## CE (Conformité Européenne)
> This product is CE certified, indicating conformance with relevant European Union directives
> and regulations regarding health, safety, and environmental protection. This certification
> validates that the product meets the high standards required for sale within the European Economic Area.
# SVC Pro
Source: https://docs.dwe.ai/svc/specs/svc-pro
# Config Box
Source: https://docs.dwe.ai/discovery/controller-functions/config-box
Global configuration box controls for the Stream Viewer Controller.
## Hide All Config Boxes
Hides the configuration box for all cards.
## Show All Config Boxes
Reveals the configuration box for all cards.
# Delete All Cards
Source: https://docs.dwe.ai/discovery/controller-functions/delete-all-cards
How to clear all cards using the Stream Viewer Controller.
## Delete All Cards
Click and hold the button to remove all video cards from the Stream Viewer page.
# Organize
Source: https://docs.dwe.ai/discovery/controller-functions/organize
Global control to organize Stream Viewer Layout.
## Organize All Cards
The organize function spreads all cards out evenly. If they get too crowded to see clearly, it stacks them into tabs.
# Controller Overview
Source: https://docs.dwe.ai/discovery/controller-functions/overview
This overview will cover how to use the Controller widget.
This is the **Controller** dock, which is responsible for executing functions on all panels in the Stream Viewer.
You can drag or click on the **Grip** on the far left of the dock.
The dock will automatically hide itself when you are not using it. Hover over the dock to reveal.
You can click on the **Grip** to
collapse the dock.
## Quick Functions
These show up when you have a global command available to you. Select a section below to learn more:
Start or stop streaming on all cards at once.
Start or stop recording on all active streams.
Show or hide the config box on every card.
Snapshot all currently streaming cards.
Evenly distribute all cards across the Stream Viewer.
Remove all video cards from the Stream Viewer.
# Recording
Source: https://docs.dwe.ai/discovery/controller-functions/recording
Global recording controls for the Stream Viewer Controller.
## Record All Active Streams
Initiates a recording for all active streams.
## Stop Recording All Active Streams
Halts the recording process for all active streams.
> The saved recording file path is specified within the Setting's tab, under [Capture Path Settings](/discovery/global-settings/capture-paths)
# Snapshot
Source: https://docs.dwe.ai/discovery/controller-functions/snapshot
**[MJPEG]** Global snapshot controls for the Stream Viewer Controller.
## Snapshot All Currently Streaming Cards
Activates the snapshot tool on each card with an active **MJPEG** stream.
If you have cards set to interval snapshotting, it will begin the interval
snapshotting (as indicated by the flashing
dot on the Video
Card Tab).
## Stop Snapshot All Currently Streaming Cards
Ends all active snapshot intervals (indicated by flashing dot on the tab).
> Snapshots will be saved according to the path specified within Settings, under [Capture Path Settings](/discovery/global-settings/capture-paths)
# Streaming
Source: https://docs.dwe.ai/discovery/controller-functions/streaming
Global streaming controls for the Stream Viewer Controller.
## Stream All
Starts the stream for all available cards.
## Stop All Active Streams
Stops streaming on all cards currently streaming.
# Capture Paths
Source: https://docs.dwe.ai/discovery/global-settings/capture-paths
Configure where your recordings and snapshots are saved.
Here, you can specify the output folders that all videos or snapshots will save to. By default, the directory will be set to your system's **Videos** folder for recordings, and **Documents** for snapshots. Within both will be a new Discovery folder.
* **Open:** Opens a file explorer to select a
folder.
* **View:** Opens the file explorer to view the files within
the folder.
# Default Card Options
Source: https://docs.dwe.ai/discovery/global-settings/default-card-settings
Set the default parameters for new video cards.
This setting is used to set the default **IP Address Selection**, **Port Number**, **FPS**, and **Snapshot Mode**. Each **new** card will automatically inherit from this default.
## Network and Recording
To control the network defaults of newly added cards, select from the detected IP addresses dropdown when you press the **IP Address** box.
The set port value will automatically increment to an unused port (counting up).
The ports are constrained between **1025-65535**
The recording FPS is recommended to be set to what the camera is set to, whether on dweOS or as default.
## Snapshotting
Here, you can set the snapshot mode for each newly added card. The icons differ by mode, as shown in the Video Card Function's [Snapshot](/discovery/video-card-buttons/snapshotting#snapshot-modes) segment.
**Single** Snapshots take one photo at the moment the button is pressed.
**Interval** Snapshots take photos at the set interval specified within the number input.
# Filename Scheme
Source: https://docs.dwe.ai/discovery/global-settings/filename-scheme
Customize the naming conventions for your saved recordings.
The following are parameters you can use in your filenames:
The IP address of the video card during recording.
*example: `192.168.2.1`*
The port number of the camera you are using during recording.
*example: `5600`*
The current system date, formatted as `MM-DD-YYYY`.
*example: `09-07-2023`*
The current system time in 24-hour format, formatted as `HHhMMmSSs`.
*example: `14h13m25s`*
The UNIX epoch timestamp.
*example: `1695341103`*
The name of the video card, shown on the tab.
*example: `Camera1`*
# Global Settings
Source: https://docs.dwe.ai/discovery/global-settings/global
Application-wide settings and advanced networking.
These settings apply across the application. Standard options include application zoom and muting the notifications that appear at the bottom right of the application.
You can opt into or out of sending us analytics data here as well. Analytics data both helps us improve Discovery and speeds up bug fixes.
Factory Resetting will refresh all settings **as well as Stream Viewer windows**
. Please ensure you have nothing of importance set up before hitting **Factory Reset**.
# Networking Settings
Source: https://docs.dwe.ai/discovery/global-settings/networking
Network details and advanced networking configuration.
The network settings show scanned network IPs you can copy if you need them.
## Advanced Networking
For strict firewalls, the option to restrict the WebRTC UDP traffic to a specific port range is available.
To reset the WebRTC UDP traffic restrictions, turn off **Expert Mode**.
# Settings Overview
Source: https://docs.dwe.ai/discovery/global-settings/overview
An introduction to configuring Discovery.
Open the settings page by clicking the "Settings" tab in the top menu bar.
Each card holds settings for a different part of the software. Select a section below to learn more:
Application-wide settings like zoom, notifications, and analytics.
Choose where your recordings and snapshots are saved.
Customize how saved files are named.
Set the default parameters for new video cards.
View scanned network IPs and configure advanced networking.
Scan for and install Discovery updates.
# Updates
Source: https://docs.dwe.ai/discovery/global-settings/updates
Automatic Updates and Versioning.
The updates box lets you manually scan for new Discovery releases.
Normally, Discovery checks for updates on its own and downloads them in the background.
Once a download finishes, you'll see the **Release Notes**, which cover the changes since the last release.
## Scan Updates
If automatic updates aren't quick enough, you can scan for updates manually.
If updates are available, Discovery downloads them and shows you the changes.
Select the restart option to install the new version and reopen it (this may take a moment). Otherwise,
it installs on the next restart.
If none of these work, you can also install it from our [Downloads Page](https://dwe.ai/pages/downloads).
# Activation
Source: https://docs.dwe.ai/discovery/license/activation
How to activate your Discovery license.
To activate your license for Discovery, click "Activate New License" within **Settings**.
Enter your license key in the field labeled *License Key*.
Please ensure you have an active internet connection during activation.
After a successful activation, you will see a success screen.
If you ever plan on resetting your operating system or if you will no longer
have your device in possession, **please unlink your license from the
machine** to avoid any future complications. [Click here for more
information](/discovery/license/deactivation).
# Deactivation
Source: https://docs.dwe.ai/discovery/license/deactivation
How to unlink and deactivate your machine license.
To deactivate your license, click "Unlink Machine License" within **Settings**.
Each license is bound to a specific machine. To use your license after a computer reset or on another machine, you must first unlink it from the current machine.
If you own a multi-machine license, you don't need to unlink your license for each machine you add.
> For example, if you own a 3-Machine License, you can use your license key for up to 3 machines without needing to use the unlinking process.
> If you already have 3 machines linked, you must unlink one before you can use Discovery on a fourth machine.
# License Overview
Source: https://docs.dwe.ai/discovery/license/overview
Manage your Discovery software license.
To use Discovery, you need to link a valid license key to your machine.
Discovery supports both single-machine and multi-machine licenses. Because licenses are bound to specific hardware, you should know how to activate your software—and how to deactivate it before you reset your PC or move your license to a new computer.
Select a section below to learn more:
Activate your license on this machine.
Important: unlink your license before resetting or switching machines.
# Reading DWVO Recordings
Source: https://docs.dwe.ai/discovery/misc/dwvo-reading
Play back, export, and parse .dwvo recordings with Python and OpenCV.
`.dwvo` is our multi-camera recording container, produced when you record in Discovery. The payload is MJPEG, so every frame in the file is already a complete JPEG — playback is a single `cv2.imdecode`, and export is a byte copy with no re-encoding or quality loss.
New to DWVO? Start here to stream and record `.dwvo` files.
```
DWE.ai | header: nCameras, width, height, pixelFormat, fps | ext data
block: uint32 timestamp | per camera: busID\0, uint32 length, JPEG bytes
block: ...
```
## Prerequisites
* Python (version 3.x)
* `opencv-python`, `numpy`, and `pillow`
* A `.dwvo` recording — the examples below use `test.dwvo`
## Setup
Clone the OpenCV Guides repository and open the folder for this guide, then create a virtual environment and install the dependencies:
```bash macOS / Linux theme={null}
git clone https://github.com/DeepWaterExploration/opencv-guides.git
cd opencv-guides/4-dwvo-read/python
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
```
```bash Windows theme={null}
git clone https://github.com/DeepWaterExploration/opencv-guides.git
cd opencv-guides\4-dwvo-read\python
python3 -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
```
## Playback
`main.py` decodes every camera and shows them side by side in one OpenCV window.
```bash theme={null}
python main.py test.dwvo
python main.py test.dwvo --fps 60 --loop
```
| Argument / key | |
| - | - |
| `--fps N` | Playback rate. Defaults to the header's fps. |
| `--loop` | Restart at the end of the file. |
| `space` | Pause / resume. |
| `q` / `esc` | Quit. |
Playback is anchored to a fixed schedule: if decoding falls a full frame behind, that frame is dropped rather than shown late, so the video stays at wall-clock speed.
## Export to JPEGs
Because DWVO already stores MJPEG, `export.py` copies each frame straight to disk — no decode, no quality loss.
```bash theme={null}
python export.py file.dwvo output-folder
# keep every fifth frame
python export.py file.dwvo output-folder --step 5
```
| Argument | |
| - | - |
| `--step N` | Keep every Nth frame. |
| `--start-frame N` | First output index, to continue numbering from an earlier sequence. |
Output is one directory per camera, numbered KITTI-style:
```
out/
image_0/000000.jpg, 000001.jpg, ...
image_1/000000.jpg, 000001.jpg, ...
times.txt
```
## Lossless PNG (KITTI dataset)
`dwvo_to_kitti.py` produces the same layout but decodes through Pillow so it can emit lossless PNG. Use it when a downstream tool won't accept JPEG; otherwise `export.py` is faster.
```bash theme={null}
python dwvo_to_kitti.py test.dwvo out # PNG
python dwvo_to_kitti.py test.dwvo out --jpeg # same zero-copy JPEG as export.py
```
## Reading DWVO programmatically
In `dwvo.py`, `DWVOReader` iterates timestamp blocks, `DWVOWriter` writes them, and `combine_dwvos()` concatenates recordings that share a header.
```python theme={null}
from pathlib import Path
from dwvo import DWVOReader
with DWVOReader(Path("test.dwvo")) as reader:
print(reader.header.n_cameras, reader.header.width, reader.header.height)
for block in reader.iter_blocks():
for frame in block.video_frames: # one per camera
frame.bus_id, frame.data # "0" / "1", raw JPEG bytes
```
## FAQ
In Discovery, some cameras require setting the FPS manually. If it was set to 30 FPS while the video was streamed at 60 FPS, the `.dwvo` file records 30 FPS in its metadata and tells applications to read at 30 FPS. Override it at playback with `--fps`.
## Further information
For additional details, examples in other languages, and the full source of the scripts above, see the OpenCV Guides repository.
DWVO reader, playback, export, and KITTI conversion source.
# DWVO Streaming/Recording
Source: https://docs.dwe.ai/discovery/misc/dwvo-support
How to set up DWVO streaming and recording within Discovery.
Currently, Discovery only supports **stereo** systems, so DWVO setups involving more than two cameras won't work.
To view DWVO streams, you first need to set up dweOS, which Discovery relies on to communicate.
Click here for more details on dweOS.
First, you will need a stereo camera setup, with a **leader** and a **follower**. Whatever streaming endpoint the leader
streams to will be the one we listen for. In the example below, we use `localhost (127.0.0.1)` but your setup will likely be different.
Take note of your **streaming endpoint**, as you'll need it for the **IP** and **Port** fields in Discovery.
Ensure the **follower** assigned to the **leader** matches up with the **follower's** card, and that the **follower's** card indicates it's stream is *Managed*.
Within Discovery, match your **streaming endpoint** and hit the **Stream Button**
Success! You should now be able to **stream**, **record**, and **snapshot** DWVO streams!
DWVO recordings get saved as `.dwvo`, and DWVO snapshots are exactly what you see on screen, one image of the left and right views.
## Reading your recordings
Once you've recorded a `.dwvo` file, you can play it back, export its frames, or parse it in Python with OpenCV.
Play back, export to JPEG/PNG, and parse `.dwvo` files with Python and OpenCV.
# Tab Tearing
Source: https://docs.dwe.ai/discovery/misc/tab-tearing
Moving video cards out of the main window.
To tear a **tab** off the main Discovery window, drag the video card header or tab out of the window.
Drag the header if you want the entire group, drag the tab if you want just that card.
Closing a tab from the window button will move the tab back to the main window.
Closing a tab from the tab button will delete the video card.
All **action buttons** on the controller dock apply to video cards in pop-out
windows as well. The only feature that will only apply to the main window is
the **organize** button.
Pop-outs currently don't support splitting the window, and can only hold one
**stack** of tabs.
# Bitrate
Source: https://docs.dwe.ai/discovery/video-card-buttons/bitrate
View the stream's bitrate and measure bitrate change over time.
## Showing the widget
Click this icon to expand the widget.
Click on the number (around the **Mb/s**) to hide the widget completely.
## Graph view
Click the **Arrow** to the left of the widget to open and close the **Graph View**, which shows the trend across the last 30 seconds.
# Config Button
Source: https://docs.dwe.ai/discovery/video-card-buttons/config-button
Toggle the configuration fields visibility.
The arrow on the video card collapses and expands the bottom configuration dock. Click **Hide Configs** to collapse the fields, and **Show Configs** to bring them back.
# Snapshot
Source: https://docs.dwe.ai/discovery/video-card-buttons/snapshotting
Take snapshots of the current stream.
Snapshotting is currently only supported for MJPEG streams.
While a card has an **MJPEG** stream running, **Snapshot** appears on the card. It has 2 modes — the icon tells you which one is active.
## Snapshot modes
Each click captures what is currently being streamed **once**.
Clicking starts capturing frames at the interval you set. Click it again to stop.
## Changing the mode
The default mode for every card is set in the [Default Card Options settings](/discovery/global-settings/default-card-settings#snapshotting).
To set a different mode for a single card, **long press** the **Snapshot** button to open that card's snapshot config, then select **Single**, or select **Interval** and set the number of seconds between snapshots.
## While an interval is running
Turns **blue** and flashes on every snapshot.
**Flashing** on the card tab.
The resulting snapshot(s) can be found through the snapshot file path under "Save Paths" within the [Capture Path Settings](/discovery/global-settings/capture-paths).
# Fit View
Source: https://docs.dwe.ai/discovery/video-card-buttons/view-button
Adjust how the video feed fits within the card.
## Fit views
The button in the top right swaps between the two fit options.
Click to zoom in and remove all blank space.
Click to fit the feed's native aspect ratio.
## Zoom and pan
You can also adjust the video feed directly:
* **Zoom:** scroll wheel
* **Pan:** left/right mouse buttons, or click-drag the scroll wheel
# Downloading Recordings
Source: https://docs.dwe.ai/dw-desktop/guides/download-recordings
After recording a video on the SVC Pro, you can download the video file directly from the device through DeepWater Desktop.
Please see the [DWVO Reading](/discovery/misc/dwvo-reading) documentation for how to programmatically load a DWVO file into your code or export it to another dataset format.
We provide additional tooling for DWVO conversion upon user request. Please [contact us](https://dwe.ai/pages/contact) for more information.
You can select multiple recordings at once by dragging your cursor.
# Image Controls
Source: https://docs.dwe.ai/dw-desktop/guides/image-controls
Guide on how to improve explore3D image quality with DeepWater Desktop
This feature was added in **v1.2.0**. If your version of DeepWater Desktop does not have an integrated image controls section, please update your software.
# Image Controls In DeepWater Desktop
Strobe width is the same as the strobe brightness parameter mentioned in other parts of the docs.
Please read the [aquaLUX MAX Operations Guide](/lighting/guides/aquaLUX-max-operations) for important safety information before adjusting the strobe width parameter.
## Bitrate
## Manual Exposure & Strobe
In order to use strobe, manual exposure, and sensor gain, auto exposure must be disabled.
For the cleanest, sharpest 3D models, keep your sensor gain as low as possible to reduce noise, and keep your exposure time low to prevent motion blur. Strobe lights are highly recommended to help you achieve this in deep water.
In pitch-black water, your exposure time is essentially dictated by your strobe. Lock your exposure time to a fixed, low value, and simply adjust the strobe brightness to get the lighting you need.
# Live Measurements
Source: https://docs.dwe.ai/dw-desktop/guides/live-measurements
If using *depth only* mode, hit Space to pause the stream.
Press R or select the Ruler icon in the bottom-right corner to activate the Ruler tool. Select two points to see the distance between them.
# Recording
Source: https://docs.dwe.ai/dw-desktop/guides/recording
## Overview
When connected to an SVC Pro, DeepWater Desktop can instruct the device to record footage while streaming video.
This process is useful to enable post-processing of your **DWVO\*** files later.
The files can be [downloaded](/dw-desktop/guides/download-recordings) directly from your SVC Pro.
## Requirements
* SVC Pro Module
* Topside Computer/Laptop - Running DeepWater Desktop
## How to record on DeepWater Desktop
Make sure you have a stream started before attempting to record. Check out [our quickstart guide](/dw-desktop/quickstart), if you haven't done so already.
To start a recording, click the recording icon on the top, where the add stream button appeared.
After you have recorded a sufficient amount of footage, you can click the square stop button to finalize the recording.
After ending the recording, you will be prompted to name your file. This file will be saved to your SVC Pro.
# Coverage Mapping (VSLAM)
Source: https://docs.dwe.ai/dw-desktop/guides/vslam
## Overview
**VSLAM is a beta product.** While we are actively refining and testing, you
may encounter occasional bugs, performance dips, or unexpected behavior.
Please submit bug reports and feature requests to our team at [support@dwe.ai](mailto:support@dwe.ai).
DeepWater Desktop can automatically create a dense reconstruction of your environment, useful for live coverage mapping and measurements.
### Recommended Pipeline
```mermaid theme={null}
flowchart LR
A["Capture footage with SLAM to get full coverage"] --> B["Download footage off SVC Pro"] --> C["Post-process footage to create reconstruction"]
```
## Requirements
* [x] SVC Pro Module - Updated to the latest version (v1.2.0)
* [x] Topside Computer/Laptop - Running DeepWater Desktop
* [x] Completed [our quickstart guide](/dw-desktop/quickstart)
## Launch Parameters
*Skip to step 4 if you already have a VSLAM stream running from the quickstart guide.*
Open the **Add Stream** dialog, select your cameras, and switch the Network Protocol to Coverage Mapping.
Check out [our quickstart guide](/dw-desktop/quickstart) for info on how to do this.
Stick to the default parameters for the best out-of-the-box experience. Manual
tuning is entirely optional and reserved for advanced performance
optimization.
VSLAM tracking performance can be optimized for your environment by adjusting the tracking and voxel filter parameters.
Reference for tuning VSLAM tracking and voxel filter parameters.
Hit the **Start Stream** button -- refer to [quickstart guide](/dw-desktop/quickstart) if you can't find it.
When doing live slam (as opposed to DWVO playback), you must **start recording** to initiate the SLAM computation.
Click to turn on **Follow Camera** mode. The view then follows the camera as it moves, which gives you the best live mapping experience.
Then zoom out a little (with the scroll wheel) so you can see more of the map as it builds around the camera.
For more controls, see [Tools and Controls](#tools-and-controls).
DeepWater Desktop will now begin processing your data.
You should now see a 3D point cloud being generated as your camera moves around.
You can save the current point cloud to disk by clicking on the (save) icon:
The saved VSLAM results are only sufficient for coverage. It is strongly recommended to [post-process](/post-processing/overview) the footage after recording.
## Loop closures
If you see overlap, don't panic!
All SLAM systems accumulate error over time. To correct for this, we use the concept of loop closures: viewing the same location from the same pose at different points in time.
DeepWater Desktop automatically recognizes loop closures and adjusts previously measured poses and point clouds accordingly.
To initiate a loop closure, simply travel back to a previous pose and face in the same direction. You will see a glowing outline around "Loop Closures" while the number increases and your map re-aligns itself.
You may need multiple loop closures to completely resolve overlap.
## Tools and Controls
### Navigation
When the Scene view is focused, use the following controls to move the virtual camera:
| Control | Action |
| - | - |
| W / S | Move forward / backward |
| A / D | Move left / right |
| E / Q | Move up / down |
| Right-click + drag | Pan the view |
| Control | Action |
| - | - |
| Scroll (up / down) | Zoom in / out |
| Right-click + drag | Rotate the view |
| Icon | Action |
| - | - |
|
| Measure Mode |
|
| Color Mode / Coverage Mode |
|
| Keyframe Visibility |
|
| Feature Visibility |
|
| Enable Follow Camera |
|
| Reset Camera (disabled for follow camera mode) |
### Color Mode
Press C or select the color palette icon in the bottom-right corner to toggle between Texture and Coverage viewing modes.
Coverage mode makes it easier to spot which sections are lacking detail.
| Color | Observed distance | Detail |
| - | - | - |
| Orange Red | Close Up | Good detail |
| Green Blue | Far Away | Lower detail —> go closer for more detail |
## Troubleshooting
### Configuring UDP Receive Buffers
RTP packets can be discarded due to insufficient UDP receive buffer size. We recommend manually increasing it as the default is often insufficient for properly capturing
full frames.
We recommend setting the maximum OS *receive buffer* size to 8MB:
```bash terminal theme={null}
sudo sysctl -w net.core.rmem_max=8338608
sudo sysctl -w net.core.rmem_default=8338608
```
Open **Device Manager** and right-click on the network adapter that your SVC is
connected to. Open the **Properties** page.
Go to the **Advanced** tab and then select **Receive Buffers.** Set it to
either 1024 or the highest acceptable value.
# Tracking & Filter Parameters
Source: https://docs.dwe.ai/dw-desktop/guides/vslam-parameters
Stick to the default parameters for the best out-of-the-box experience. Manual
tuning is entirely optional and reserved for advanced performance
optimization.
## Filter Parameters
A filter is used to ensure uniform point distribution in the resulting point cloud. The following filter settings can be configured.
| Parameter | What it does |
| - | - |
| Min Depth (m) | Points closer than this threshold will be ignored. |
| Max Depth (m) | Points further than this threshold will be ignored. Increase this if the object you are mapping is far away. Decrease if you are seeing inaccuracies / a blue tint on the reconstructed model. |
| Min Points per Voxel | Minimum number of points required within a single voxel to produce a visible point in the output cloud |
| Leaf Size (cm) | Size in centimeters of a voxel. Lowering this value will increase detail at the cost of memory consumption. Sizes less than 2cm should only be used on small maps. |
| Loop Closure Throttle Speed (ms) | Minimum allowed time between loop closures. Lower is more accurate, but slower. |
| Key frame throttle distance (m) | Minimum distance between consecutive keyframes' centroids. |
# DeepWater Desktop Quickstart
Source: https://docs.dwe.ai/dw-desktop/quickstart
**DeepWater Desktop is a beta product.** While we are actively refining and testing, you
may encounter occasional bugs, performance dips, or unexpected behavior.
Please submit bug reports and feature requests to our team at [support@dwe.ai](mailto:support@dwe.ai).
## Overview
DeepWater Desktop is the companion software for the [SVC Pro](/svc/specs/svc-pro).
It receives data from the SVC Pro and attached hardware to produce 3D visuals such as: rectified images, disparity maps, and point clouds.
It comes with two primary modes:
1. **Depth Only**: Generates a depth map and point cloud from the current frame only.
2. **Coverage Mapping (VSLAM)**: Tracks camera movement while building a dense point cloud of the scene. This allows you to get a preview of a full reconstruction before processing the data.
## Getting Started with DeepWater Desktop
Download and run the `DeepWaterDesktop-{version}-{platform}` installer. If you haven't received one, contact our team at [support@dwe.ai](mailto:support@dwe.ai).
The installer can be run by double-clicking on it (Administrator) or by launching it through PowerShell (Administrator):
```bash theme={null}
.\DeepWaterDesktop-{version}-win64.exe
```
It can be run by searching for it in the Start menu.
This version is intended for use with Ubuntu 22.04 and its derivatives. If you require support for a specific distribution, please [contact us](https://dwe.ai/pages/contact).
```bash theme={null}
sudo apt install ./DeepWaterDesktop-{version}-Linux.deb
DeepWaterDesktop # Can also be run through the Application menu
```
Click on the (connect) icon.
`192.168.2.4` is the default IP Address.
If you changed it, make sure you input the correct address of your SVC Pro.
Select the (plus) icon next server address to add a stream.
Compare the available depth modes, input types, and network protocols.
For USB Mode, change your **Input Type** to `USB Stream`.
Please select the left camera, followed by the right camera. For modularity, the cameras do not store their positional data, so you will need to configure the sides manually.
**Complete Kit**: Set *Capture FPS* to `15`. This is the recommended framerate for image quality and bandwidth, and allows aquaLUX MAX strobes to reach full brightness.
We are rolling out new firmware that allows autodetection of cameras. If applicable, the correct L/R cameras will be pre-selected on start. The left camera will be named `explore3D Left`, while the right will be named `explore3D Right`.
Check the **ID** column. The number after `usb-` must be different for the two cameras
(e.g. `usb-1.2` and `usb-2.2`). If they match, both cameras share a USB bus and
each gets half the bandwidth.
To fix: shut down the SVC Pro, move the **left** camera to either unused camera port, then power back on.
For DWVO Mode, change your **Input Type** to `DeepWater Video Object (.dwvo)`.
Loading DWVO files in DeepWater Desktop is not a typical use-case. Instead, we recommend **post-processing** to get highly detailed models.
If your recording has reversed camera inputs, check the **Swap left and right inputs** box to correct them.
Select your DWVO file from the recordings list:
Each network protocol is designed for different use cases.
**Coverage Mapping is recommended** for most scenarios and is used for real-time mapping and reconstruction. **Depth Only** is typically only used for live measurements and testing.
Next, you can select the calibration file. By default (on systems with only one calibration file), it will have the correct calibration selected. If you have any custom calibration files, they will also appear here.
Click **Start Stream** in the bottom right corner.
You are all set! Once the stream initiates, DeepWater Desktop will begin processing your data.
If your depth map looks incorrect, stop the stream and
double-check that your left and right camera inputs were assigned in the
correct order.
**VSLAM**: Please follow the [VSLAM guide](/dw-desktop/guides/vslam) for more information on how to begin mapping.
**Complete Kit**: set up your strobe lights in [Image Controls](/dw-desktop/guides/image-controls).
# Stream Configuration Reference
Source: https://docs.dwe.ai/dw-desktop/stream-configuration
Reference for the depth modes, input types, and network protocols available when configuring a stream in DeepWater Desktop.
When adding a stream in the [DeepWater Desktop Quickstart](/dw-desktop/quickstart), you choose a depth mode, an input type, and a network protocol. Use the tables below to pick the combination that suits your requirements.
## Depth Modes
| Depth Mode | Resolution | Description |
| - | - | - |
| SGM | 800 x 600 or 400 x 300 | Optimized model for accurate and fast live measurements, with filters for reducing noise and artifacts. |
## Input Types
| Input Type | Description |
| - | - |
| USB | Select your attached explore3D or other compatible hardware for live processing. |
| DWVO File | 1:1 Recordings of the original hardware feed. Playback simply reruns the image sequences through the processing algorithm to allow playback. |
## Network Protocols
| Network Protocol | Description |
| - | - |
| Depth Only | Generate a depth map and point cloud from the current frame. |
| Coverage Mapping (VSLAM) | Track camera movement and build a dense point cloud from the image stream. Go to [Coverage Mapping](/dw-desktop/guides/vslam) for an in-depth usage guide. |
# explore3D Demonstration Videos
Source: https://docs.dwe.ai/explore3D/example-footage/videos
## Detailed 3D model of a plane crash captured with explore3D
## Gresham Scan
## Detailed 3D model of the seafloor captured with explore3D
## vSLAM of Nautical Archaeology Society
## DWE VSLAM Demo Full
## DWE - VSLAM and Strobe Demonstration
# SVC Pro Quickstart Guide
Source: https://docs.dwe.ai/explore3D/guides/quickstart
Go from an unboxed explore3D to a live depth map and point cloud. This guide sequences the setup across the explore3D, the SVC Pro, and DeepWater Desktop.
Guide for setting up your SVC Pro with the explore3D.
# explore3D Overview
Source: https://docs.dwe.ai/explore3D/overview
## Overview
The [explore3D](https://dwe.ai/products/explore3d-stereo-vision-camera-system-1000m-12000m) is a factory-aligned stereo camera pair on a 100mm baseline, using global shutter sensors that are frame-synchronized to each other.
The camera captures the imagery, but it does not compute depth on its own. Depth maps and point clouds are produced by the **SVC Pro**, and viewed on your desktop in **DeepWater Desktop**. Setting up an explore3D therefore means setting up all three, in order.
## The explore3D System
Select the kit you received below. Both share the same setup path — the Complete Kit simply adds strobe lighting.
```mermaid theme={null}
flowchart LR
A["explore3D
Stereo Camera Pair"] -->|"2x USB (Cobalt / SubConn)"| B["SVC Pro
Onboard Compute"]
B -->|"Ethernet"| C["DeepWater Desktop
Visualization"]
```
```mermaid theme={null}
flowchart LR
A["explore3D
Stereo Camera Pair"] -->|"2x USB (Cobalt / SubConn)"| B["SVC Pro
Onboard Compute"]
L2["aquaLUX MAX
Light 2"] -->|"Daisy chain"| L1["aquaLUX MAX
Light 1"]
L1 -->|"1x Light Cable"| B
B -->|"Ethernet"| C["DeepWater Desktop
Visualization"]
```
The two aquaLUX MAX lights daisy chain to each other, so only a single cable runs from the light pair back to the SVC Pro.
The SVC Pro manages strobe timing and power for the lights, synchronizing each pulse to the camera's exposure window. For brightness and exposure tuning, see the [aquaLUX MAX Operations Guide](/lighting/guides/aquaLUX-max-operations).
Captures synchronized stereo imagery.
Runs the stereo algorithm and generates depth.
Displays rectified images, disparity maps, and point clouds.
Click here to get started with your SVC Pro.
## Using the explore3D Without an SVC Pro
The explore3D's stereo pair is just two factory-calibrated stellarHD cameras, so you can run it without an SVC Pro.
This gets you two synchronized video streams with no depth maps, point clouds, or VSLAM coverage mapping. Since each stellarHD is UVC-compliant, you can capture them with dweOS, or with any other UVC-compatible software or pipeline like OpenCV or GStreamer.
Camera setup, controls, and general configuration.
Pair the two explore3D cameras into a single, frame-synchronized stream.
### Running on Your Own Hardware
If you would like to run the software on your own hardware, instead of the SVC Pro, [contact us](https://dwe.ai/pages/contact) for integration details.
**Coming soon**: We're building a standalone explore3D SDK so you can integrate explore3D depth processing directly into your own software.
# explore3D Technical Specifications
Source: https://docs.dwe.ai/explore3D/specs/explore3D
(Coming Soon) Technical Information for the explore3D.
## Water-Resistance Specifications
| Feature | Cobalt | SubConn MCBH8M |
| - | - | - |
| Depth Rating | 1,000 meters | 6,000 meters |
| Ingress Protection Rating | IP69K+ equivalent | IP69K+ equivalent |
| Safety Margin | 50% | 50% |
## Physical Specifications
| Property | Value |
| :- | :- |
| Mass in Air | 550 grams |
| Weight in Water | 100 grams |
| Material Composition | Naval-grade, Corrosion Resistant Aluminum - Dark Grey, Abrasion-Resistant, Hard-Anodized Coating |
| Front Port | Domed Scratch-Resistant Sapphire with Internal AR Coating |
| Bracket Material | Aluminum 6061 |
| Baseline | 100mm |
| Operating Temperature | -20°C to 85°C |
## Power Specifications
| Property | Value |
| :- | :- |
| Operating Current | 380mA |
| Operating Wattage | 1.90W |
| Maximum Current | 400mA |
| Maximum Wattage | 2W |
## Lens Specifications
| Specification | Aquagon |
| - | - |
| Type | Low-Distortion |
| Focus Type | Fixed Focus |
| Focal Length | 3.0mm |
| Lens Aperture | f/1.6 |
| Minimum Focus Distance | 25cm |
| Lens Element Count | 7 with 2 aspherical, 2 extra-low dispersion |
| Lens Coatings | DGS™ MULTI-COATING |
| Distortion | \<-1.5% |
| Back Focal Length | 2.05mm |
| IR Filter | 650nm |
| Horizontal FOV (In Water) | 78° |
| Vertical FOV (In Water) | 67° |
| Diagonal FOV (In Water) | 93° |
## Image Sensor Specifications
| Property | Value |
| - | - |
| Image Sensor | 1/2.9” Omnivision OmniPixel 3-GS™ CMOS |
| Sensor Color | RGB |
| Sensor Type | Front-Side Illuminated |
| Pixel Size | 3 µm (H) × 3 µm (V) |
| Electronic Shutter Type | Global Shutter |
| Max Resolution | 3200x1200 |
| Max Framerate | 60fps with MJPEG |
| Color Channels | 3 |
| Bits Per Channel | 8 bits |
| Compression Formats | YUY2, MJPEG |
| Connection | USB 2.0 High Speed / UVC Compliant / V4L2 Compatible |
## Image Compression Specifications
| | MJPEG | YUY2 |
| - | - | - |
| Chroma Subsampling | 4:2:2 | 4:2:2 |
## Supported Resolutions and Framerates
| Resolution | MJPEG | YUY2 |
| - | - | - |
| 3200x1200 | 15, 30, 40, 50, 60 fps | 5 fps |
| 2560x720 | 15, 30, 40, 50, 60 fps | 5 fps |
| 1600x600 | 15, 30, 40, 50, 60 fps | - |
| 1280x480 | 15, 30, 40, 50, 60 fps | 5 fps |
| 640x240 | - | 15, 30 fps |
## Software Requirements (Image Retrieval)
| Property | Value |
| - | - |
| External Software | None Required (Plug-and-Play) |
| Protocol | UVC (USB Video Class) Compliant |
| Windows Support | Native Support - No drivers needed |
| macOS Support | Native Support - No drivers needed |
| Linux Support | Native Support - V4L2 compatible |
## Frame-Sync Specifications
### Leader-Follower Notes
Connect two cameras and configure your camera at any resolution and any framerate.
### Follower-Only Signal Specification
| FPS | Frequency Range | Duty Cycle | Rising Edge | Logic Level |
| :- | :- | :- | :- | :- |
| 60FPS / 59.94 NTSC | 60Hz ± 0.1 | 30% | 50ns or less | 3.3V |
| 50FPS | 50Hz ± 0.1 | 30% | 50ns or less | 3.3V |
| 40FPS | 40Hz ± 0.1 | 30% | 50ns or less | 3.3V |
| 30FPS | 30Hz ± 0.1 | 30% | 50ns or less | 3.3V |
| 15FPS | 15Hz ± 0.1 | 30% | 50ns or less | 3.3V |
## Pinout Specifications
Cabling used for Data Pairs must be USB or Ethernet Grade Cables.
| Cobalt (6 Pin) USB Cable | COB-1461 |
| - | - |
| 1 | Black : Ground |
| 2 | Red : +5V |
| 3 | White : DATA - |
| 4 | Green : DATA + |
| 5 | Blue : FSIN (Frame-Sync) |
| 6 | Brown : Strobe |
| SubConn MCBH8M (USB) Bulkhead | |
| - | - |
| 1 | **Black : Ground** |
| 2 | **White : FSIN (Frame-Sync)** |
| 3 | **Red : +5V** |
| 4 | **Green : Strobe** |
| 5 | Orange : NC |
| 6 | Blue : NC |
| 7 | **White/black : DATA -** |
| 8 | **Red/black : DATA +** |
## CAD Files
explore3D (Cobalt) STEP File
explore3D (Cobalt) Drawing (PDF)
### 6,000 m
explore3D (SubConn 6K) STEP File
explore3D (SubConn 6K) Drawing (PDF)
### 1,000 m
explore3D (SubConn 1K) STEP File
explore3D (SubConn 1K) Drawing (PDF)
## NDAA Section 889 Compliance
> This product is fully compliant with Section 889 of the National Defense Authorization Act (NDAA).
> We do not utilize any covered telecommunications equipment, video surveillance equipment, or services
> from prohibited entities (including Huawei, ZTE, Hytera, Hikvision, Dahua, or their affiliates).
> This product contains compliant core processing components and zero proprietary firmware, ensuring
> a secure hardware profile free of restricted data pathways.
## CE (Conformité Européenne)
> This product is CE certified, indicating conformance with relevant European Union directives
> and regulations regarding health, safety, and environmental protection. This certification
> validates that the product meets the high standards required for sale within the European Economic Area.
# Post-Processing Overview
Source: https://docs.dwe.ai/post-processing/overview
The explore3D camera system, regardless of the configuration, can generate calibrated stereo pair recordings.
This is extremely useful for generating **highly accurate 3D models of scenes** via a post-processing step which typically can take between a few hours to a few days depending on the footage.
There are 2 primary ways the explore3D can generate such data:
The **recommended and plug-and-play** approach to generate these recordings is with the SVC Pro. With onboard processing capabilities, it ensures you cover all points of interest without needing to re-collect the data after post-processing.
A less common approach is to connect an explore3D to a system without compute functionality (like an SVC or BlueROV). See the [dweOS synchronized streaming guide](/dwe-os/pages/synchronized-streaming) for more information. This does **NOT** get you coverage information like the SVC Pro.
# SVC Pro Updates
Source: https://docs.dwe.ai/svc-pro/changelog
# Product updates
> Stay up to date with the latest SVC Pro / DeepWater Desktop product updates, new features, improvements, and bug fixes.
* Rewrote SLAM algorithm to massively improve performance and accuracy.
* Moved dweOS sensor controls to DeepWater Desktop.
* Added support for mDNS device discovery (DeepWater Desktop can now automatically find compatible SVC Pro devices)
# Maximizing Image Quality
Source: https://docs.dwe.ai/svc-pro/guides/maximizing-quality
How to maximize the image quality of your explore3D with the SVC Pro
## USB Bandwidth
### USB Bandwidth vs Network Bandwidth
DeepWater Desktop's network bandwidth usage will **not decrease** if the camera bandwidth decreases. This is because the camera streams are decoded on-device and then transmitted.
This is not the case when streaming MJPEG through dweOS. In dweOS, the frames from the cameras are sent directly as captured off the camera.
### Splitting Buses
The SVC Pro module features 4 connectors, powered by 2 separate USB buses (each bus drives 2 ports). Both dweOS and DeepWater Desktop display a **USB Port ID** for each camera, indicating exactly which bus and port you are using.
To maximize bandwidth and achieve the highest quality video from two cameras, **connect each camera to its own bus**. If you connect two cameras to the same bus, their bandwidth is automatically halved, even if you set the bitrate to the maximum.
The USB Port ID is formatted with the bus number first, followed by the port number.
**Optimal Setup Example (Separate Buses):**
* Camera 1: `usb-3610000.usb-1.2` (Bus 1, Port 2)
* Camera 2: `usb-3610000.usb-2.2` (Bus 2, Port 2)
**Sub-optimal Setup Example (Same Bus):**
* Camera 1: `usb-3610000.usb-1.2` (Bus 1, Port 2)
* Camera 2: `usb-3610000.usb-1.1` (Bus 1, Port 1)
See [DWD Bitrate Controls](/dw-desktop/guides/image-controls#bitrate) for more information on how to improve the camera JPEG quality.
## Framerate (FPS)
We recommend streaming at **15 FPS**. This is the sweet spot for keeping file sizes manageable and bandwidth stable, while still providing a smooth piloting experience.
## Image Controls (DWD)
Guide on how to optimize image quality via the DeepWater Desktop image controls.
# SVC Pro Quickstart Guide
Source: https://docs.dwe.ai/svc-pro/guides/quickstart
## Overview
The SVC Pro (containing an NVIDIA Jetson) includes our **dweOS** software alongside **RTPSender** which handles the internalized compute. The SVC Pro is designed as an integral part of our explore3D hardware ecosystem to provide high resolution stereo depth maps and real-time mapping, which are configured and viewed in **DeepWater Desktop**.
dweOS on the SVC Pro is intended only to bridge the gap for missing features in DeepWater Desktop. Camera, sensor, and depth-streaming configuration all happen in DeepWater Desktop.
On versions prior to **1.2.0**, dweOS is used for sensor controls.
## Before You Begin
Have the following on hand:
* Your explore3D and its two camera cables
* An SVC Pro, with a 9-50V power source and an Ethernet connection to your desktop computer
* A Windows or Linux desktop computer to run DeepWater Desktop
* **Complete Kit only:** your two aquaLUX MAX lights and their daisy chain cable
**If using an aquaLUX MAX**: Ensure you read the [aquaLUX MAX Operations Guide](/lighting/guides/aquaLUX-max-operations) before continuing.
Each camera in the pair has its own cable. Connect each one to a **separate camera port** on the SVC Pro.
Select your connector variant to find the camera ports.
For the full connector reference, see the [SVC Pro I/O connectors](/svc-pro/specs/svc-pro#i%2Fo-connectors).
**Complete Kit:** daisy chain your two aquaLUX MAX lights together, then run the single remaining light cable to a **light port** on Side 1. Ensure your right explore3D camera is plugged into the connector marked with **black ink**.
You'll confirm the cameras are on separate USB buses in DeepWater Desktop. See [Maximizing Image Quality](/svc-pro/guides/maximizing-quality#splitting-buses) for why this matters.
This process will be streamlined in future versions of the SVC Pro.
There are two connectors present on one side of the device:
* Power Input (9-50V)
* Ethernet Output
Provide 9-50V on the side indicated in the image above.
Connect ethernet on the side indicated in the image above, following the pinout of your connector.
Connect the other side of the ethernet to a personal computer.
Unlike the microSVC and SVC, the SVC Pro **does not** use PoE. Please do not attempt to connect a PoE connection to the SVC Pro module.
In order to connect to the SVC Pro, you will need to set up your desktop computer to allow network communication with the device.
Please use the following guide to set up your computer. Return back here to continue with setup.
Click here for a quickstart guide on how to configure your desktop networking setup.
Move on to our guide for **DeepWater Desktop**, the companion desktop app for the SVC Pro.
Get started with stereo vision using DeepWater Desktop!
# Troubleshooting
Source: https://docs.dwe.ai/svc-pro/guides/troubleshooting
Common issues with SVC Pro configuration
# Visual Artifacting
Are you noticing odd frames, overexposure in bright environments, or an auto-exposure that feels sluggish? This is usually caused by an incorrect frequency offset.
To fix this, head over to **Preferences** in dweOS and fine-tune your frequency offset until the image stabilizes. Start with a low change value like `-0.004` and adjust the number until the issue is resolved.
You should not need to exceed ±0.1 Hz.
dweOS can be found at the IP address of your SVC Pro in the browser.
# SVC Pro
Source: https://docs.dwe.ai/svc-pro/specs/svc-pro
Technical Information for the SVC Pro.
The **Subsea Vision Computer Pro (SVC Pro)** is an intelligent hub for subsea stereo vision. Powered by the **NVIDIA Jetson Orin NX (16GB)**, it provides edge AI performance for complex machine vision models, real-time 3D reconstruction, and autonomous navigation tasks.
## Key Features
* Edge AI Performance: Integrated NVIDIA Jetson Orin NX (16GB RAM) for high-performance computing and machine learning. Live Stereo Compute and VSLAM capable\*.
* Large Internal Storage: Includes 1TB SSD for extensive data recording and OS management.
* Plug-and-Play Management: Automatically configures cameras to "Follower" mode and manages all clock signals to ensure precise frame synchronization without external hardware.
* Multi-Camera Support: Capable of streaming up to 4x stellarHD cameras or 2x explore3D stereo pairs simultaneously.
* Intelligent Strobe Lighting Integration: Synchronizes strobe pulses directly with the camera's exposure window for motion-blur-free imagery.
## Software Setup
**Get Started with the SVC Pro**: 5-minute setup guide to get your SVC Pro configured.
## Power Specifications
| Property | Value |
| - | - |
| Operating Voltage | 9-50V |
| Operating Current | Depends on voltage |
| Operating Wattage | 20W (Under Heavy Load) |
| Minimum Wattage | 10W (Idle) |
| Maximum Wattage | 25W (With MAXN mode) |
## I/O Connectors
Download detailed I/O information for your Cobalt variant SVC Pro.
Download detailed I/O information for your SubConn variant SVC Pro.
## Physical & Environmental
| Property | Value |
| - | - |
| **Weight in Air** | 1.3 Kg |
| **Weight in Water** | 450 g |
| **Depth Rating** | 600M / 2000M / 6000M |
| **Data Outputs** | Raw Images, JPEGs, Depth Map, Point Cloud |
## Camera Input Pinout
| Cobalt (6 Pin) USB Bulkhead | COB-1160 |
| - | - |
| 1 | Black : Ground |
| 2 | Red : +5V |
| 3 | White : DATA - |
| 4 | Green : DATA + |
| 5 | Blue : FSIN (Frame-Sync) |
| 6 | Brown : Strobe |
| SubConn MCBH8M (USB) Bulkhead | |
| - | - |
| 1 | **Black : Ground** |
| 2 | **White : FSIN (Frame-Sync)** |
| 3 | **Red : +5V** |
| 4 | **Green : Strobe** |
| 5 | Orange : NC |
| 6 | Blue : NC |
| 7 | **White/black : DATA -** |
| 8 | **Red/black : DATA +** |
## Light Input Pinout
| Cobalt (3 Pin) Bulkhead | |
| - | - |
| 1 | Black : Ground |
| 2 | Red : 12V - 48V |
| 3 | Yellow : Signal (PWM) |
| SubConn MCBH3F Bulkhead | |
| - | - |
| 1 | Black : Ground |
| 2 | White : 12V - 48V |
| 3 | Red : Signal (PWM) |
## Ethernet Output Pinout
| Cobalt 8-Pin Ethernet Bulkhead | |
| - | - |
| 1 | Green/White |
| 2 | Green |
| 3 | Orange/White |
| 4 | Blue |
| 5 | Blue/White |
| 6 | Orange |
| 7 | Brown/White |
| 8 | Brown |
| SubConn MCBH8M (Ethernet) | |
| - | - |
| 1 | Brown |
| 2 | Green/White |
| 3 | Green |
| 4 | Orange/White |
| 5 | Orange |
| 6 | Blue/White |
| 7 | Blue |
| 8 | Brown/White |
## Power Input Pinout
| Cobalt (3 Pin) Bulkhead | |
| - | - |
| 1 | **Black : Ground** |
| 2 | **Red : 12V - 48V** |
| 3 | Yellow : NC |
| SubConn MCBH2M Bulkhead | |
| - | - |
| 1 | Black : Ground |
| 2 | White : 9V - 50V |
## CAD Files
SVC Pro (Cobalt) STEP File
SVC Pro (Cobalt) Drawing (PDF)
SVC Pro (SubConn) STEP File
SVC Pro (SubConn) Drawing (PDF)
## NDAA Section 889 Compliance
> This product is fully compliant with Section 889 of the National Defense Authorization Act (NDAA).
> We do not utilize any covered telecommunications equipment, video surveillance equipment, or services
> from prohibited entities (including Huawei, ZTE, Hytera, Hikvision, Dahua, or their affiliates).
> This product contains compliant core processing components and zero proprietary firmware, ensuring
> a secure hardware profile free of restricted data pathways.
## CE (Conformité Européenne)
> This product is CE certified, indicating conformance with relevant European Union directives
> and regulations regarding health, safety, and environmental protection. This certification
> validates that the product meets the high standards required for sale within the European Economic Area.
# Add a device as a follower to another device
Source: https://docs.dwe.ai/api-reference/cameras/add-a-device-as-a-follower-to-another-device
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/add_follower
# Add a device as a follower to another device
Source: https://docs.dwe.ai/api-reference/cameras/add-a-device-as-a-follower-to-another-device-1
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/remove_follower
# Add a follower. This endpoint is identical to the standard add_follower but it bypasses some restrictions
Source: https://docs.dwe.ai/api-reference/cameras/add-a-follower-this-endpoint-is-identical-to-the-standard-add_follower-but-it-bypasses-some-restrictions
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/external/add_follower
# Configure a stream
Source: https://docs.dwe.ai/api-reference/cameras/configure-a-stream
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/configure_stream
# Get all devices
Source: https://docs.dwe.ai/api-reference/cameras/get-all-devices
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/devices
# Get all devices as a map from bus info to device
Source: https://docs.dwe.ai/api-reference/cameras/get-all-devices-as-a-map-from-bus-info-to-device
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/devices/map
# Notify dweOS that a camera has been configured externally
Source: https://docs.dwe.ai/api-reference/cameras/notify-dweos-that-a-camera-has-been-configured-externally
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/external/notify_camera
# Restart a stream
Source: https://docs.dwe.ai/api-reference/cameras/restart-a-stream
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/restart_stream
# Set a device nickname
Source: https://docs.dwe.ai/api-reference/cameras/set-a-device-nickname
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/set_nickname
# Set a UVC control
Source: https://docs.dwe.ai/api-reference/cameras/set-a-uvc-control
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/set_uvc_control
# Get supported features
Source: https://docs.dwe.ai/api-reference/features/get-supported-features
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/features
# Get Logs
Source: https://docs.dwe.ai/api-reference/logs/get-logs
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/logs
# Activate a given profile for a device
Source: https://docs.dwe.ai/api-reference/network/activate-a-given-profile-for-a-device
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/network/wired/activate_profile
# Get the connection profiles
Source: https://docs.dwe.ai/api-reference/network/get-the-connection-profiles
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/network/connection_profiles
# Get the wired devices
Source: https://docs.dwe.ai/api-reference/network/get-the-wired-devices
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/network/wired/devices
# Update the profile of a given nmconnection
Source: https://docs.dwe.ai/api-reference/network/update-the-profile-of-a-given-nmconnection
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/network/update_connection_profile
# Get Preferences
Source: https://docs.dwe.ai/api-reference/preferences/get-preferences
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/preferences
# Get Recommended Host
Source: https://docs.dwe.ai/api-reference/preferences/get-recommended-host
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/preferences/get_recommended_host
# Set Preferences
Source: https://docs.dwe.ai/api-reference/preferences/set-preferences
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/preferences/save_preferences
# Apply From Fps
Source: https://docs.dwe.ai/api-reference/pwm/apply-from-fps
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/pwm/apply_from_fps
# Get Frequency
Source: https://docs.dwe.ai/api-reference/pwm/get-frequency
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/pwm/frequency
# Set Frequency
Source: https://docs.dwe.ai/api-reference/pwm/set-frequency
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/pwm/frequency
# Cancel a zip job
Source: https://docs.dwe.ai/api-reference/recordings/cancel-a-zip-job
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/recordings/zip/cancel/{job_id}
# Check zip job status
Source: https://docs.dwe.ai/api-reference/recordings/check-zip-job-status
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings/zip/status/{job_id}
# Delete a recording
Source: https://docs.dwe.ai/api-reference/recordings/delete-a-recording
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json delete /api/recordings/{recording_path}
# Delete multiple recordings
Source: https://docs.dwe.ai/api-reference/recordings/delete-multiple-recordings
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/recordings/bulk-delete
# Download ZIP using token
Source: https://docs.dwe.ai/api-reference/recordings/download-zip-using-token
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings/zip/download
# Get a specific recording
Source: https://docs.dwe.ai/api-reference/recordings/get-a-specific-recording
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings/{recording_path}
# Get all recordings
Source: https://docs.dwe.ai/api-reference/recordings/get-all-recordings
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings
# Get physical disk usage
Source: https://docs.dwe.ai/api-reference/recordings/get-physical-disk-usage
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings/disk
# Rename a recording
Source: https://docs.dwe.ai/api-reference/recordings/rename-a-recording
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json patch /api/recordings/{old_name}/{new_name}
# Start background zip job
Source: https://docs.dwe.ai/api-reference/recordings/start-background-zip-job
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/recordings/zip/prepare
# Restart the system
Source: https://docs.dwe.ai/api-reference/system/restart-the-system
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/system/restart
# Shutdown the system
Source: https://docs.dwe.ai/api-reference/system/shutdown-the-system
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/system/shutdown
# Add a device as a follower to another device
Source: https://docs.dwe.ai/api-reference/cameras/add-a-device-as-a-follower-to-another-device
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/add_follower
# Add a device as a follower to another device
Source: https://docs.dwe.ai/api-reference/cameras/add-a-device-as-a-follower-to-another-device-1
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/remove_follower
# Add a follower. This endpoint is identical to the standard add_follower but it bypasses some restrictions
Source: https://docs.dwe.ai/api-reference/cameras/add-a-follower-this-endpoint-is-identical-to-the-standard-add_follower-but-it-bypasses-some-restrictions
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/external/add_follower
# Configure a stream
Source: https://docs.dwe.ai/api-reference/cameras/configure-a-stream
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/configure_stream
# Get all devices
Source: https://docs.dwe.ai/api-reference/cameras/get-all-devices
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/devices
# Get all devices as a map from bus info to device
Source: https://docs.dwe.ai/api-reference/cameras/get-all-devices-as-a-map-from-bus-info-to-device
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/devices/map
# Notify dweOS that a camera has been configured externally
Source: https://docs.dwe.ai/api-reference/cameras/notify-dweos-that-a-camera-has-been-configured-externally
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/external/notify_camera
# Restart a stream
Source: https://docs.dwe.ai/api-reference/cameras/restart-a-stream
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/restart_stream
# Set a device nickname
Source: https://docs.dwe.ai/api-reference/cameras/set-a-device-nickname
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/set_nickname
# Set a UVC control
Source: https://docs.dwe.ai/api-reference/cameras/set-a-uvc-control
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/set_uvc_control
# Get supported features
Source: https://docs.dwe.ai/api-reference/features/get-supported-features
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/features
# Get Logs
Source: https://docs.dwe.ai/api-reference/logs/get-logs
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/logs
# Activate a given profile for a device
Source: https://docs.dwe.ai/api-reference/network/activate-a-given-profile-for-a-device
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/network/wired/activate_profile
# Get the connection profiles
Source: https://docs.dwe.ai/api-reference/network/get-the-connection-profiles
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/network/connection_profiles
# Get the wired devices
Source: https://docs.dwe.ai/api-reference/network/get-the-wired-devices
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/network/wired/devices
# Update the profile of a given nmconnection
Source: https://docs.dwe.ai/api-reference/network/update-the-profile-of-a-given-nmconnection
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/network/update_connection_profile
# Get Preferences
Source: https://docs.dwe.ai/api-reference/preferences/get-preferences
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/preferences
# Get Recommended Host
Source: https://docs.dwe.ai/api-reference/preferences/get-recommended-host
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/preferences/get_recommended_host
# Set Preferences
Source: https://docs.dwe.ai/api-reference/preferences/set-preferences
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/preferences/save_preferences
# Apply From Fps
Source: https://docs.dwe.ai/api-reference/pwm/apply-from-fps
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/pwm/apply_from_fps
# Get Frequency
Source: https://docs.dwe.ai/api-reference/pwm/get-frequency
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/pwm/frequency
# Set Frequency
Source: https://docs.dwe.ai/api-reference/pwm/set-frequency
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/pwm/frequency
# Cancel a zip job
Source: https://docs.dwe.ai/api-reference/recordings/cancel-a-zip-job
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/recordings/zip/cancel/{job_id}
# Check zip job status
Source: https://docs.dwe.ai/api-reference/recordings/check-zip-job-status
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings/zip/status/{job_id}
# Delete a recording
Source: https://docs.dwe.ai/api-reference/recordings/delete-a-recording
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json delete /api/recordings/{recording_path}
# Delete multiple recordings
Source: https://docs.dwe.ai/api-reference/recordings/delete-multiple-recordings
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/recordings/bulk-delete
# Download ZIP using token
Source: https://docs.dwe.ai/api-reference/recordings/download-zip-using-token
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings/zip/download
# Get a specific recording
Source: https://docs.dwe.ai/api-reference/recordings/get-a-specific-recording
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings/{recording_path}
# Get all recordings
Source: https://docs.dwe.ai/api-reference/recordings/get-all-recordings
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings
# Get physical disk usage
Source: https://docs.dwe.ai/api-reference/recordings/get-physical-disk-usage
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings/disk
# Rename a recording
Source: https://docs.dwe.ai/api-reference/recordings/rename-a-recording
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json patch /api/recordings/{old_name}/{new_name}
# Start background zip job
Source: https://docs.dwe.ai/api-reference/recordings/start-background-zip-job
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/recordings/zip/prepare
# Restart the system
Source: https://docs.dwe.ai/api-reference/system/restart-the-system
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/system/restart
# Shutdown the system
Source: https://docs.dwe.ai/api-reference/system/shutdown-the-system
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/system/shutdown
# Controller Overview
Source: https://docs.dwe.ai/discovery/controller-functions/overview
This overview will cover how to use the Controller widget.
This is the **Controller** dock, which is responsible for executing functions on all panels in the Stream Viewer.
You can drag or click on the **Grip** on the far left of the dock.
The dock will automatically hide itself when you are not using it. Hover over the dock to reveal.
You can click on the **Grip** to
collapse the dock.
## Quick Functions
These show up when you have a global command available to you. Select a section below to learn more:
Start or stop streaming on all cards at once.
Start or stop recording on all active streams.
Show or hide the config box on every card.
Snapshot all currently streaming cards.
Evenly distribute all cards across the Stream Viewer.
Remove all video cards from the Stream Viewer.
# Settings Overview
Source: https://docs.dwe.ai/discovery/global-settings/overview
An introduction to configuring Discovery.
Open the settings page by clicking the "Settings" tab in the top menu bar.
Each card holds settings for a different part of the software. Select a section below to learn more:
Application-wide settings like zoom, notifications, and analytics.
Choose where your recordings and snapshots are saved.
Customize how saved files are named.
Set the default parameters for new video cards.
View scanned network IPs and configure advanced networking.
Scan for and install Discovery updates.
# Tab Tearing
Source: https://docs.dwe.ai/discovery/misc/tab-tearing
Moving video cards out of the main window.
To tear a **tab** off the main Discovery window, drag the video card header or tab out of the window.
Drag the header if you want the entire group, drag the tab if you want just that card.
Closing a tab from the window button will move the tab back to the main window.
Closing a tab from the tab button will delete the video card.
All **action buttons** on the controller dock apply to video cards in pop-out
windows as well. The only feature that will only apply to the main window is
the **organize** button.
Pop-outs currently don't support splitting the window, and can only hold one
**stack** of tabs.
# Video Card Overview
Source: https://docs.dwe.ai/discovery/video-card-buttons/overview
An overview of the controls available on each video card.
Each video card features several controls to manage your streams, recording states, and views.
Select a section below to learn more about specific card buttons:
Configure the streaming endpoints for your video card.
Control streaming and recording states.
Take snapshots of the current stream.
Toggle the configuration fields.
Adjust how the video feed fits within the card.
View the stream's bitrate and track it over time.
# aquaLUX Max Technical Specifications
Source: https://docs.dwe.ai/lighting/specs/aquaLUX-Max
Technical Information for the aquaLUX Max
## Water Resistance
| Property | Cobalt | SubConn MCBH3M |
| - | - | - |
| Depth Rating | 600m | 2000m |
| Mass (Air) | 192g | 236g |
| Weight (Water) | 120g | 156g |
## LED Specifications
| Property | |
| - | - |
| Peak Strobe Brightness | 13,000 Lumens |
| Continuous Brightness @ 60V | \~9,000 Lumens |
| Continuous Brightness @ 24V | \~9,500 Lumens |
| Continuous Brightness @ 16V | \~10,000 Lumens |
| Color Temperature | 5700K |
| Operating temperature | 85°C |
| Beam angle in air | 120° |
| Beam angle in water | 80° |
Brightness Values Measured At Ambient Water Temperature of 24°C
## Physical Specifications
| Property | |
| - | - |
| Material | 6061 Aluminum - Black, Hard-Anodized |
| Front Port | Scratch-Resistant Sapphire with internal AR Coating |
## Power Specifications
Please note: specifications are significantly different from the aquaLUX **Nano**.
| Property | |
| - | - |
| Voltage | 9V - 60V |
| Full Brightness Voltage | 12V - 60V |
| Nominal Current @ 16V | 4.9A |
| Nominal Current @ 24V | 3.1A |
| Nominal Current @ 60V | 1.2A |
| Max Wattage (Strobe Mode - Full Brightness) | \<1W |
| Max Wattage (Continuous Mode - Full Brightness) | \~80W |
Strobe mode consumes significantly less power because the LED pulses momentarily rather than remaining continuously on.
## Control Signal Specifications
Please note: specifications are significantly different from the aquaLUX **Nano**.
| Property | Standard |
| - | - |
| Signal | Standard Duty-Cycle PWM |
| Logic Voltage | 3V - 6V |
| Max Switching Frequency | 250Hz |
| Duty Cycle | Controls Brightness (0-100%) |
| Strobe Compatibility | Direct frame-sync compatibility with stellarHD Elite camera strobe outputs |
Not compatible with 1-2ms RC Servo PWM (PPM)
## Pinouts
| Cobalt (3 Pin) Cable | COB-1431 |
| - | - |
| 1 | Ground |
| 2 | Power: 9V - 60V |
| 3 | Signal (PWM) |
| SubConn MCBH3M Bulkhead | |
| - | - |
| 1 | Ground |
| 2 | Power : 9V - 60V |
| 3 | Signal (PWM) |
## CAD Files
aquaLUX Max (Cobalt) STEP File
aquaLUX Max (Cobalt) Technical Drawing (PDF)
aquaLUX Max (SubConn) STEP File
aquaLUX Max (SubConn) Technical Drawing (PDF)
## NDAA Section 889 Compliance
> This product is fully compliant with Section 889 of the National Defense Authorization Act (NDAA).
> We do not utilize any covered telecommunications equipment, video surveillance equipment, or services
> from prohibited entities (including Huawei, ZTE, Hytera, Hikvision, Dahua, or their affiliates).
> This product contains compliant core processing components and zero proprietary firmware, ensuring
> a secure hardware profile free of restricted data pathways.
## CE (Conformité Européenne)
> This product is CE certified, indicating conformance with relevant European Union directives
> and regulations regarding health, safety, and environmental protection. This certification
> validates that the product meets the high standards required for sale within the European Economic Area.
# Add a device as a follower to another device
Source: https://docs.dwe.ai/api-reference/cameras/add-a-device-as-a-follower-to-another-device
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/add_follower
# Add a device as a follower to another device
Source: https://docs.dwe.ai/api-reference/cameras/add-a-device-as-a-follower-to-another-device-1
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/remove_follower
# Add a follower. This endpoint is identical to the standard add_follower but it bypasses some restrictions
Source: https://docs.dwe.ai/api-reference/cameras/add-a-follower-this-endpoint-is-identical-to-the-standard-add_follower-but-it-bypasses-some-restrictions
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/external/add_follower
# Configure a stream
Source: https://docs.dwe.ai/api-reference/cameras/configure-a-stream
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/configure_stream
# Get all devices
Source: https://docs.dwe.ai/api-reference/cameras/get-all-devices
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/devices
# Get all devices as a map from bus info to device
Source: https://docs.dwe.ai/api-reference/cameras/get-all-devices-as-a-map-from-bus-info-to-device
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/devices/map
# Notify dweOS that a camera has been configured externally
Source: https://docs.dwe.ai/api-reference/cameras/notify-dweos-that-a-camera-has-been-configured-externally
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/external/notify_camera
# Restart a stream
Source: https://docs.dwe.ai/api-reference/cameras/restart-a-stream
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/restart_stream
# Set a device nickname
Source: https://docs.dwe.ai/api-reference/cameras/set-a-device-nickname
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/set_nickname
# Set a UVC control
Source: https://docs.dwe.ai/api-reference/cameras/set-a-uvc-control
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/set_uvc_control
# Get Preferences
Source: https://docs.dwe.ai/api-reference/preferences/get-preferences
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/preferences
# Get Recommended Host
Source: https://docs.dwe.ai/api-reference/preferences/get-recommended-host
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/preferences/get_recommended_host
# Set Preferences
Source: https://docs.dwe.ai/api-reference/preferences/set-preferences
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/preferences/save_preferences
# Restart the system
Source: https://docs.dwe.ai/api-reference/system/restart-the-system
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/system/restart
# License Overview
Source: https://docs.dwe.ai/discovery/license/overview
Manage your Discovery software license.
To use Discovery, you need to link a valid license key to your machine.
Discovery supports both single-machine and multi-machine licenses. Because licenses are bound to specific hardware, you should know how to activate your software—and how to deactivate it before you reset your PC or move your license to a new computer.
Select a section below to learn more:
Activate your license on this machine.
Important: unlink your license before resetting or switching machines.
# aquaLUX Max Technical Specifications
Source: https://docs.dwe.ai/lighting/specs/aquaLUX-Max
Technical Information for the aquaLUX Max
## Water Resistance
| Property | Cobalt | SubConn MCBH3M |
| - | - | - |
| Depth Rating | 600m | 2000m |
| Mass (Air) | 192g | 236g |
| Weight (Water) | 120g | 156g |
## LED Specifications
| Property | |
| - | - |
| Peak Strobe Brightness | 13,000 Lumens |
| Continuous Brightness @ 60V | \~9,000 Lumens |
| Continuous Brightness @ 24V | \~9,500 Lumens |
| Continuous Brightness @ 16V | \~10,000 Lumens |
| Color Temperature | 5700K |
| Operating temperature | 85°C |
| Beam angle in air | 120° |
| Beam angle in water | 80° |
Brightness Values Measured At Ambient Water Temperature of 24°C
## Physical Specifications
| Property | |
| - | - |
| Material | 6061 Aluminum - Black, Hard-Anodized |
| Front Port | Scratch-Resistant Sapphire with internal AR Coating |
## Power Specifications
Please note: specifications are significantly different from the aquaLUX **Nano**.
| Property | |
| - | - |
| Voltage | 9V - 60V |
| Full Brightness Voltage | 12V - 60V |
| Nominal Current @ 16V | 4.9A |
| Nominal Current @ 24V | 3.1A |
| Nominal Current @ 60V | 1.2A |
| Max Wattage (Strobe Mode - Full Brightness) | \<1W |
| Max Wattage (Continuous Mode - Full Brightness) | \~80W |
Strobe mode consumes significantly less power because the LED pulses momentarily rather than remaining continuously on.
## Control Signal Specifications
Please note: specifications are significantly different from the aquaLUX **Nano**.
| Property | Standard |
| - | - |
| Signal | Standard Duty-Cycle PWM |
| Logic Voltage | 3V - 6V |
| Max Switching Frequency | 250Hz |
| Duty Cycle | Controls Brightness (0-100%) |
| Strobe Compatibility | Direct frame-sync compatibility with stellarHD Elite camera strobe outputs |
Not compatible with 1-2ms RC Servo PWM (PPM)
## Pinouts
| Cobalt (3 Pin) Cable | COB-1431 |
| - | - |
| 1 | Ground |
| 2 | Power: 9V - 60V |
| 3 | Signal (PWM) |
| SubConn MCBH3M Bulkhead | |
| - | - |
| 1 | Ground |
| 2 | Power : 9V - 60V |
| 3 | Signal (PWM) |
## CAD Files
aquaLUX Max (Cobalt) STEP File
aquaLUX Max (Cobalt) Technical Drawing (PDF)
aquaLUX Max (SubConn) STEP File
aquaLUX Max (SubConn) Technical Drawing (PDF)
## NDAA Section 889 Compliance
> This product is fully compliant with Section 889 of the National Defense Authorization Act (NDAA).
> We do not utilize any covered telecommunications equipment, video surveillance equipment, or services
> from prohibited entities (including Huawei, ZTE, Hytera, Hikvision, Dahua, or their affiliates).
> This product contains compliant core processing components and zero proprietary firmware, ensuring
> a secure hardware profile free of restricted data pathways.
## CE (Conformité Européenne)
> This product is CE certified, indicating conformance with relevant European Union directives
> and regulations regarding health, safety, and environmental protection. This certification
> validates that the product meets the high standards required for sale within the European Economic Area.
# Get supported features
Source: https://docs.dwe.ai/api-reference/features/get-supported-features
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/features
# Get Logs
Source: https://docs.dwe.ai/api-reference/logs/get-logs
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/logs
# Activate a given profile for a device
Source: https://docs.dwe.ai/api-reference/network/activate-a-given-profile-for-a-device
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/network/wired/activate_profile
# Get the connection profiles
Source: https://docs.dwe.ai/api-reference/network/get-the-connection-profiles
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/network/connection_profiles
# Get the wired devices
Source: https://docs.dwe.ai/api-reference/network/get-the-wired-devices
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/network/wired/devices
# Update the profile of a given nmconnection
Source: https://docs.dwe.ai/api-reference/network/update-the-profile-of-a-given-nmconnection
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/network/update_connection_profile
# Apply From Fps
Source: https://docs.dwe.ai/api-reference/pwm/apply-from-fps
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/pwm/apply_from_fps
# Get Frequency
Source: https://docs.dwe.ai/api-reference/pwm/get-frequency
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/pwm/frequency
# Set Frequency
Source: https://docs.dwe.ai/api-reference/pwm/set-frequency
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/pwm/frequency
# Cancel a zip job
Source: https://docs.dwe.ai/api-reference/recordings/cancel-a-zip-job
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/recordings/zip/cancel/{job_id}
# Check zip job status
Source: https://docs.dwe.ai/api-reference/recordings/check-zip-job-status
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings/zip/status/{job_id}
# Delete a recording
Source: https://docs.dwe.ai/api-reference/recordings/delete-a-recording
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json delete /api/recordings/{recording_path}
# Delete multiple recordings
Source: https://docs.dwe.ai/api-reference/recordings/delete-multiple-recordings
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/recordings/bulk-delete
# Download ZIP using token
Source: https://docs.dwe.ai/api-reference/recordings/download-zip-using-token
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings/zip/download
# Get a specific recording
Source: https://docs.dwe.ai/api-reference/recordings/get-a-specific-recording
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings/{recording_path}
# Get all recordings
Source: https://docs.dwe.ai/api-reference/recordings/get-all-recordings
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings
# Get physical disk usage
Source: https://docs.dwe.ai/api-reference/recordings/get-physical-disk-usage
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings/disk
# Rename a recording
Source: https://docs.dwe.ai/api-reference/recordings/rename-a-recording
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json patch /api/recordings/{old_name}/{new_name}
# Start background zip job
Source: https://docs.dwe.ai/api-reference/recordings/start-background-zip-job
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/recordings/zip/prepare
# Shutdown the system
Source: https://docs.dwe.ai/api-reference/system/shutdown-the-system
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/system/shutdown
# Controller Overview
Source: https://docs.dwe.ai/discovery/controller-functions/overview
This overview will cover how to use the Controller widget.
This is the **Controller** dock, which is responsible for executing functions on all panels in the Stream Viewer.
You can drag or click on the **Grip** on the far left of the dock.
The dock will automatically hide itself when you are not using it. Hover over the dock to reveal.
You can click on the **Grip** to
collapse the dock.
## Quick Functions
These show up when you have a global command available to you. Select a section below to learn more:
Start or stop streaming on all cards at once.
Start or stop recording on all active streams.
Show or hide the config box on every card.
Snapshot all currently streaming cards.
Evenly distribute all cards across the Stream Viewer.
Remove all video cards from the Stream Viewer.
# Settings Overview
Source: https://docs.dwe.ai/discovery/global-settings/overview
An introduction to configuring Discovery.
Open the settings page by clicking the "Settings" tab in the top menu bar.
Each card holds settings for a different part of the software. Select a section below to learn more:
Application-wide settings like zoom, notifications, and analytics.
Choose where your recordings and snapshots are saved.
Customize how saved files are named.
Set the default parameters for new video cards.
View scanned network IPs and configure advanced networking.
Scan for and install Discovery updates.
# License Overview
Source: https://docs.dwe.ai/discovery/license/overview
Manage your Discovery software license.
To use Discovery, you need to link a valid license key to your machine.
Discovery supports both single-machine and multi-machine licenses. Because licenses are bound to specific hardware, you should know how to activate your software—and how to deactivate it before you reset your PC or move your license to a new computer.
Select a section below to learn more:
Activate your license on this machine.
Important: unlink your license before resetting or switching machines.
# Tab Tearing
Source: https://docs.dwe.ai/discovery/misc/tab-tearing
Moving video cards out of the main window.
To tear a **tab** off the main Discovery window, drag the video card header or tab out of the window.
Drag the header if you want the entire group, drag the tab if you want just that card.
Closing a tab from the window button will move the tab back to the main window.
Closing a tab from the tab button will delete the video card.
All **action buttons** on the controller dock apply to video cards in pop-out
windows as well. The only feature that will only apply to the main window is
the **organize** button.
Pop-outs currently don't support splitting the window, and can only hold one
**stack** of tabs.
# Video Card Overview
Source: https://docs.dwe.ai/discovery/video-card-buttons/overview
An overview of the controls available on each video card.
Each video card features several controls to manage your streams, recording states, and views.
Select a section below to learn more about specific card buttons:
Configure the streaming endpoints for your video card.
Control streaming and recording states.
Take snapshots of the current stream.
Toggle the configuration fields.
Adjust how the video feed fits within the card.
View the stream's bitrate and track it over time.
# Add a device as a follower to another device
Source: https://docs.dwe.ai/api-reference/cameras/add-a-device-as-a-follower-to-another-device
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/add_follower
# Add a device as a follower to another device
Source: https://docs.dwe.ai/api-reference/cameras/add-a-device-as-a-follower-to-another-device-1
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/remove_follower
# Add a follower. This endpoint is identical to the standard add_follower but it bypasses some restrictions
Source: https://docs.dwe.ai/api-reference/cameras/add-a-follower-this-endpoint-is-identical-to-the-standard-add_follower-but-it-bypasses-some-restrictions
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/external/add_follower
# Configure a stream
Source: https://docs.dwe.ai/api-reference/cameras/configure-a-stream
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/configure_stream
# Get all devices
Source: https://docs.dwe.ai/api-reference/cameras/get-all-devices
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/devices
# Get all devices as a map from bus info to device
Source: https://docs.dwe.ai/api-reference/cameras/get-all-devices-as-a-map-from-bus-info-to-device
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/devices/map
# Notify dweOS that a camera has been configured externally
Source: https://docs.dwe.ai/api-reference/cameras/notify-dweos-that-a-camera-has-been-configured-externally
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/external/notify_camera
# Restart a stream
Source: https://docs.dwe.ai/api-reference/cameras/restart-a-stream
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/restart_stream
# Set a device nickname
Source: https://docs.dwe.ai/api-reference/cameras/set-a-device-nickname
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/set_nickname
# Set a UVC control
Source: https://docs.dwe.ai/api-reference/cameras/set-a-uvc-control
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/set_uvc_control
# Get supported features
Source: https://docs.dwe.ai/api-reference/features/get-supported-features
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/features
# Get Logs
Source: https://docs.dwe.ai/api-reference/logs/get-logs
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/logs
# Activate a given profile for a device
Source: https://docs.dwe.ai/api-reference/network/activate-a-given-profile-for-a-device
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/network/wired/activate_profile
# Get the connection profiles
Source: https://docs.dwe.ai/api-reference/network/get-the-connection-profiles
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/network/connection_profiles
# Get the wired devices
Source: https://docs.dwe.ai/api-reference/network/get-the-wired-devices
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/network/wired/devices
# Update the profile of a given nmconnection
Source: https://docs.dwe.ai/api-reference/network/update-the-profile-of-a-given-nmconnection
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/network/update_connection_profile
# Get Preferences
Source: https://docs.dwe.ai/api-reference/preferences/get-preferences
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/preferences
# Get Recommended Host
Source: https://docs.dwe.ai/api-reference/preferences/get-recommended-host
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/preferences/get_recommended_host
# Set Preferences
Source: https://docs.dwe.ai/api-reference/preferences/set-preferences
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/preferences/save_preferences
# Apply From Fps
Source: https://docs.dwe.ai/api-reference/pwm/apply-from-fps
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/pwm/apply_from_fps
# Get Frequency
Source: https://docs.dwe.ai/api-reference/pwm/get-frequency
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/pwm/frequency
# Set Frequency
Source: https://docs.dwe.ai/api-reference/pwm/set-frequency
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/pwm/frequency
# Cancel a zip job
Source: https://docs.dwe.ai/api-reference/recordings/cancel-a-zip-job
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/recordings/zip/cancel/{job_id}
# Check zip job status
Source: https://docs.dwe.ai/api-reference/recordings/check-zip-job-status
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings/zip/status/{job_id}
# Delete a recording
Source: https://docs.dwe.ai/api-reference/recordings/delete-a-recording
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json delete /api/recordings/{recording_path}
# Delete multiple recordings
Source: https://docs.dwe.ai/api-reference/recordings/delete-multiple-recordings
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/recordings/bulk-delete
# Download ZIP using token
Source: https://docs.dwe.ai/api-reference/recordings/download-zip-using-token
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings/zip/download
# Get a specific recording
Source: https://docs.dwe.ai/api-reference/recordings/get-a-specific-recording
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings/{recording_path}
# Get all recordings
Source: https://docs.dwe.ai/api-reference/recordings/get-all-recordings
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings
# Get physical disk usage
Source: https://docs.dwe.ai/api-reference/recordings/get-physical-disk-usage
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings/disk
# Rename a recording
Source: https://docs.dwe.ai/api-reference/recordings/rename-a-recording
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json patch /api/recordings/{old_name}/{new_name}
# Start background zip job
Source: https://docs.dwe.ai/api-reference/recordings/start-background-zip-job
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/recordings/zip/prepare
# Restart the system
Source: https://docs.dwe.ai/api-reference/system/restart-the-system
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/system/restart
# Shutdown the system
Source: https://docs.dwe.ai/api-reference/system/shutdown-the-system
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/system/shutdown
# Controller Overview
Source: https://docs.dwe.ai/discovery/controller-functions/overview
This overview will cover how to use the Controller widget.
This is the **Controller** dock, which is responsible for executing functions on all panels in the Stream Viewer.
You can drag or click on the **Grip** on the far left of the dock.
The dock will automatically hide itself when you are not using it. Hover over the dock to reveal.
You can click on the **Grip** to
collapse the dock.
## Quick Functions
These show up when you have a global command available to you. Select a section below to learn more:
Start or stop streaming on all cards at once.
Start or stop recording on all active streams.
Show or hide the config box on every card.
Snapshot all currently streaming cards.
Evenly distribute all cards across the Stream Viewer.
Remove all video cards from the Stream Viewer.
# Settings Overview
Source: https://docs.dwe.ai/discovery/global-settings/overview
An introduction to configuring Discovery.
Open the settings page by clicking the "Settings" tab in the top menu bar.
Each card holds settings for a different part of the software. Select a section below to learn more:
Application-wide settings like zoom, notifications, and analytics.
Choose where your recordings and snapshots are saved.
Customize how saved files are named.
Set the default parameters for new video cards.
View scanned network IPs and configure advanced networking.
Scan for and install Discovery updates.
# License Overview
Source: https://docs.dwe.ai/discovery/license/overview
Manage your Discovery software license.
To use Discovery, you need to link a valid license key to your machine.
Discovery supports both single-machine and multi-machine licenses. Because licenses are bound to specific hardware, you should know how to activate your software—and how to deactivate it before you reset your PC or move your license to a new computer.
Select a section below to learn more:
Activate your license on this machine.
Important: unlink your license before resetting or switching machines.
# Tab Tearing
Source: https://docs.dwe.ai/discovery/misc/tab-tearing
Moving video cards out of the main window.
To tear a **tab** off the main Discovery window, drag the video card header or tab out of the window.
Drag the header if you want the entire group, drag the tab if you want just that card.
Closing a tab from the window button will move the tab back to the main window.
Closing a tab from the tab button will delete the video card.
All **action buttons** on the controller dock apply to video cards in pop-out
windows as well. The only feature that will only apply to the main window is
the **organize** button.
Pop-outs currently don't support splitting the window, and can only hold one
**stack** of tabs.
# Video Card Overview
Source: https://docs.dwe.ai/discovery/video-card-buttons/overview
An overview of the controls available on each video card.
Each video card features several controls to manage your streams, recording states, and views.
Select a section below to learn more about specific card buttons:
Configure the streaming endpoints for your video card.
Control streaming and recording states.
Take snapshots of the current stream.
Toggle the configuration fields.
Adjust how the video feed fits within the card.
View the stream's bitrate and track it over time.
# aquaLUX Max Technical Specifications
Source: https://docs.dwe.ai/lighting/specs/aquaLUX-Max
Technical Information for the aquaLUX Max
## Water Resistance
| Property | Cobalt | SubConn MCBH3M |
| - | - | - |
| Depth Rating | 600m | 2000m |
| Mass (Air) | 192g | 236g |
| Weight (Water) | 120g | 156g |
## LED Specifications
| Property | |
| - | - |
| Peak Strobe Brightness | 13,000 Lumens |
| Continuous Brightness @ 60V | \~9,000 Lumens |
| Continuous Brightness @ 24V | \~9,500 Lumens |
| Continuous Brightness @ 16V | \~10,000 Lumens |
| Color Temperature | 5700K |
| Operating temperature | 85°C |
| Beam angle in air | 120° |
| Beam angle in water | 80° |
Brightness Values Measured At Ambient Water Temperature of 24°C
## Physical Specifications
| Property | |
| - | - |
| Material | 6061 Aluminum - Black, Hard-Anodized |
| Front Port | Scratch-Resistant Sapphire with internal AR Coating |
## Power Specifications
Please note: specifications are significantly different from the aquaLUX **Nano**.
| Property | |
| - | - |
| Voltage | 9V - 60V |
| Full Brightness Voltage | 12V - 60V |
| Nominal Current @ 16V | 4.9A |
| Nominal Current @ 24V | 3.1A |
| Nominal Current @ 60V | 1.2A |
| Max Wattage (Strobe Mode - Full Brightness) | \<1W |
| Max Wattage (Continuous Mode - Full Brightness) | \~80W |
Strobe mode consumes significantly less power because the LED pulses momentarily rather than remaining continuously on.
## Control Signal Specifications
Please note: specifications are significantly different from the aquaLUX **Nano**.
| Property | Standard |
| - | - |
| Signal | Standard Duty-Cycle PWM |
| Logic Voltage | 3V - 6V |
| Max Switching Frequency | 250Hz |
| Duty Cycle | Controls Brightness (0-100%) |
| Strobe Compatibility | Direct frame-sync compatibility with stellarHD Elite camera strobe outputs |
Not compatible with 1-2ms RC Servo PWM (PPM)
## Pinouts
| Cobalt (3 Pin) Cable | COB-1431 |
| - | - |
| 1 | Ground |
| 2 | Power: 9V - 60V |
| 3 | Signal (PWM) |
| SubConn MCBH3M Bulkhead | |
| - | - |
| 1 | Ground |
| 2 | Power : 9V - 60V |
| 3 | Signal (PWM) |
## CAD Files
aquaLUX Max (Cobalt) STEP File
aquaLUX Max (Cobalt) Technical Drawing (PDF)
aquaLUX Max (SubConn) STEP File
aquaLUX Max (SubConn) Technical Drawing (PDF)
## NDAA Section 889 Compliance
> This product is fully compliant with Section 889 of the National Defense Authorization Act (NDAA).
> We do not utilize any covered telecommunications equipment, video surveillance equipment, or services
> from prohibited entities (including Huawei, ZTE, Hytera, Hikvision, Dahua, or their affiliates).
> This product contains compliant core processing components and zero proprietary firmware, ensuring
> a secure hardware profile free of restricted data pathways.
## CE (Conformité Européenne)
> This product is CE certified, indicating conformance with relevant European Union directives
> and regulations regarding health, safety, and environmental protection. This certification
> validates that the product meets the high standards required for sale within the European Economic Area.
# Add a device as a follower to another device
Source: https://docs.dwe.ai/api-reference/cameras/add-a-device-as-a-follower-to-another-device
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/add_follower
# Add a device as a follower to another device
Source: https://docs.dwe.ai/api-reference/cameras/add-a-device-as-a-follower-to-another-device-1
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/remove_follower
# Add a follower. This endpoint is identical to the standard add_follower but it bypasses some restrictions
Source: https://docs.dwe.ai/api-reference/cameras/add-a-follower-this-endpoint-is-identical-to-the-standard-add_follower-but-it-bypasses-some-restrictions
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/external/add_follower
# Configure a stream
Source: https://docs.dwe.ai/api-reference/cameras/configure-a-stream
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/configure_stream
# Get all devices
Source: https://docs.dwe.ai/api-reference/cameras/get-all-devices
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/devices
# Get all devices as a map from bus info to device
Source: https://docs.dwe.ai/api-reference/cameras/get-all-devices-as-a-map-from-bus-info-to-device
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/devices/map
# Notify dweOS that a camera has been configured externally
Source: https://docs.dwe.ai/api-reference/cameras/notify-dweos-that-a-camera-has-been-configured-externally
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/external/notify_camera
# Restart a stream
Source: https://docs.dwe.ai/api-reference/cameras/restart-a-stream
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/restart_stream
# Set a device nickname
Source: https://docs.dwe.ai/api-reference/cameras/set-a-device-nickname
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/set_nickname
# Set a UVC control
Source: https://docs.dwe.ai/api-reference/cameras/set-a-uvc-control
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/set_uvc_control
# Get Logs
Source: https://docs.dwe.ai/api-reference/logs/get-logs
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/logs
# Activate a given profile for a device
Source: https://docs.dwe.ai/api-reference/network/activate-a-given-profile-for-a-device
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/network/wired/activate_profile
# Get the connection profiles
Source: https://docs.dwe.ai/api-reference/network/get-the-connection-profiles
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/network/connection_profiles
# Get the wired devices
Source: https://docs.dwe.ai/api-reference/network/get-the-wired-devices
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/network/wired/devices
# Update the profile of a given nmconnection
Source: https://docs.dwe.ai/api-reference/network/update-the-profile-of-a-given-nmconnection
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/network/update_connection_profile
# Get Preferences
Source: https://docs.dwe.ai/api-reference/preferences/get-preferences
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/preferences
# Get Recommended Host
Source: https://docs.dwe.ai/api-reference/preferences/get-recommended-host
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/preferences/get_recommended_host
# Set Preferences
Source: https://docs.dwe.ai/api-reference/preferences/set-preferences
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/preferences/save_preferences
# Cancel a zip job
Source: https://docs.dwe.ai/api-reference/recordings/cancel-a-zip-job
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/recordings/zip/cancel/{job_id}
# Check zip job status
Source: https://docs.dwe.ai/api-reference/recordings/check-zip-job-status
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings/zip/status/{job_id}
# Delete a recording
Source: https://docs.dwe.ai/api-reference/recordings/delete-a-recording
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json delete /api/recordings/{recording_path}
# Delete multiple recordings
Source: https://docs.dwe.ai/api-reference/recordings/delete-multiple-recordings
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/recordings/bulk-delete
# Download ZIP using token
Source: https://docs.dwe.ai/api-reference/recordings/download-zip-using-token
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings/zip/download
# Get a specific recording
Source: https://docs.dwe.ai/api-reference/recordings/get-a-specific-recording
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings/{recording_path}
# Get all recordings
Source: https://docs.dwe.ai/api-reference/recordings/get-all-recordings
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings
# Get physical disk usage
Source: https://docs.dwe.ai/api-reference/recordings/get-physical-disk-usage
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings/disk
# Rename a recording
Source: https://docs.dwe.ai/api-reference/recordings/rename-a-recording
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json patch /api/recordings/{old_name}/{new_name}
# Start background zip job
Source: https://docs.dwe.ai/api-reference/recordings/start-background-zip-job
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/recordings/zip/prepare
# Restart the system
Source: https://docs.dwe.ai/api-reference/system/restart-the-system
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/system/restart
# Shutdown the system
Source: https://docs.dwe.ai/api-reference/system/shutdown-the-system
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/system/shutdown
# aquaLUX Max Technical Specifications
Source: https://docs.dwe.ai/lighting/specs/aquaLUX-Max
Technical Information for the aquaLUX Max
## Water Resistance
| Property | Cobalt | SubConn MCBH3M |
| - | - | - |
| Depth Rating | 600m | 2000m |
| Mass (Air) | 192g | 236g |
| Weight (Water) | 120g | 156g |
## LED Specifications
| Property | |
| - | - |
| Peak Strobe Brightness | 13,000 Lumens |
| Continuous Brightness @ 60V | \~9,000 Lumens |
| Continuous Brightness @ 24V | \~9,500 Lumens |
| Continuous Brightness @ 16V | \~10,000 Lumens |
| Color Temperature | 5700K |
| Operating temperature | 85°C |
| Beam angle in air | 120° |
| Beam angle in water | 80° |
Brightness Values Measured At Ambient Water Temperature of 24°C
## Physical Specifications
| Property | |
| - | - |
| Material | 6061 Aluminum - Black, Hard-Anodized |
| Front Port | Scratch-Resistant Sapphire with internal AR Coating |
## Power Specifications
Please note: specifications are significantly different from the aquaLUX **Nano**.
| Property | |
| - | - |
| Voltage | 9V - 60V |
| Full Brightness Voltage | 12V - 60V |
| Nominal Current @ 16V | 4.9A |
| Nominal Current @ 24V | 3.1A |
| Nominal Current @ 60V | 1.2A |
| Max Wattage (Strobe Mode - Full Brightness) | \<1W |
| Max Wattage (Continuous Mode - Full Brightness) | \~80W |
Strobe mode consumes significantly less power because the LED pulses momentarily rather than remaining continuously on.
## Control Signal Specifications
Please note: specifications are significantly different from the aquaLUX **Nano**.
| Property | Standard |
| - | - |
| Signal | Standard Duty-Cycle PWM |
| Logic Voltage | 3V - 6V |
| Max Switching Frequency | 250Hz |
| Duty Cycle | Controls Brightness (0-100%) |
| Strobe Compatibility | Direct frame-sync compatibility with stellarHD Elite camera strobe outputs |
Not compatible with 1-2ms RC Servo PWM (PPM)
## Pinouts
| Cobalt (3 Pin) Cable | COB-1431 |
| - | - |
| 1 | Ground |
| 2 | Power: 9V - 60V |
| 3 | Signal (PWM) |
| SubConn MCBH3M Bulkhead | |
| - | - |
| 1 | Ground |
| 2 | Power : 9V - 60V |
| 3 | Signal (PWM) |
## CAD Files
aquaLUX Max (Cobalt) STEP File
aquaLUX Max (Cobalt) Technical Drawing (PDF)
aquaLUX Max (SubConn) STEP File
aquaLUX Max (SubConn) Technical Drawing (PDF)
## NDAA Section 889 Compliance
> This product is fully compliant with Section 889 of the National Defense Authorization Act (NDAA).
> We do not utilize any covered telecommunications equipment, video surveillance equipment, or services
> from prohibited entities (including Huawei, ZTE, Hytera, Hikvision, Dahua, or their affiliates).
> This product contains compliant core processing components and zero proprietary firmware, ensuring
> a secure hardware profile free of restricted data pathways.
## CE (Conformité Européenne)
> This product is CE certified, indicating conformance with relevant European Union directives
> and regulations regarding health, safety, and environmental protection. This certification
> validates that the product meets the high standards required for sale within the European Economic Area.
# Get supported features
Source: https://docs.dwe.ai/api-reference/features/get-supported-features
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/features
# Apply From Fps
Source: https://docs.dwe.ai/api-reference/pwm/apply-from-fps
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/pwm/apply_from_fps
# Get Frequency
Source: https://docs.dwe.ai/api-reference/pwm/get-frequency
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/pwm/frequency
# Set Frequency
Source: https://docs.dwe.ai/api-reference/pwm/set-frequency
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/pwm/frequency
# Controller Overview
Source: https://docs.dwe.ai/discovery/controller-functions/overview
This overview will cover how to use the Controller widget.
This is the **Controller** dock, which is responsible for executing functions on all panels in the Stream Viewer.
You can drag or click on the **Grip** on the far left of the dock.
The dock will automatically hide itself when you are not using it. Hover over the dock to reveal.
You can click on the **Grip** to
collapse the dock.
## Quick Functions
These show up when you have a global command available to you. Select a section below to learn more:
Start or stop streaming on all cards at once.
Start or stop recording on all active streams.
Show or hide the config box on every card.
Snapshot all currently streaming cards.
Evenly distribute all cards across the Stream Viewer.
Remove all video cards from the Stream Viewer.
# Settings Overview
Source: https://docs.dwe.ai/discovery/global-settings/overview
An introduction to configuring Discovery.
Open the settings page by clicking the "Settings" tab in the top menu bar.
Each card holds settings for a different part of the software. Select a section below to learn more:
Application-wide settings like zoom, notifications, and analytics.
Choose where your recordings and snapshots are saved.
Customize how saved files are named.
Set the default parameters for new video cards.
View scanned network IPs and configure advanced networking.
Scan for and install Discovery updates.
# License Overview
Source: https://docs.dwe.ai/discovery/license/overview
Manage your Discovery software license.
To use Discovery, you need to link a valid license key to your machine.
Discovery supports both single-machine and multi-machine licenses. Because licenses are bound to specific hardware, you should know how to activate your software—and how to deactivate it before you reset your PC or move your license to a new computer.
Select a section below to learn more:
Activate your license on this machine.
Important: unlink your license before resetting or switching machines.
# Tab Tearing
Source: https://docs.dwe.ai/discovery/misc/tab-tearing
Moving video cards out of the main window.
To tear a **tab** off the main Discovery window, drag the video card header or tab out of the window.
Drag the header if you want the entire group, drag the tab if you want just that card.
Closing a tab from the window button will move the tab back to the main window.
Closing a tab from the tab button will delete the video card.
All **action buttons** on the controller dock apply to video cards in pop-out
windows as well. The only feature that will only apply to the main window is
the **organize** button.
Pop-outs currently don't support splitting the window, and can only hold one
**stack** of tabs.
# Video Card Overview
Source: https://docs.dwe.ai/discovery/video-card-buttons/overview
An overview of the controls available on each video card.
Each video card features several controls to manage your streams, recording states, and views.
Select a section below to learn more about specific card buttons:
Configure the streaming endpoints for your video card.
Control streaming and recording states.
Take snapshots of the current stream.
Toggle the configuration fields.
Adjust how the video feed fits within the card.
View the stream's bitrate and track it over time.
# aquaLUX Max Technical Specifications
Source: https://docs.dwe.ai/lighting/specs/aquaLUX-Max
Technical Information for the aquaLUX Max
## Water Resistance
| Property | Cobalt | SubConn MCBH3M |
| - | - | - |
| Depth Rating | 600m | 2000m |
| Mass (Air) | 192g | 236g |
| Weight (Water) | 120g | 156g |
## LED Specifications
| Property | |
| - | - |
| Peak Strobe Brightness | 13,000 Lumens |
| Continuous Brightness @ 60V | \~9,000 Lumens |
| Continuous Brightness @ 24V | \~9,500 Lumens |
| Continuous Brightness @ 16V | \~10,000 Lumens |
| Color Temperature | 5700K |
| Operating temperature | 85°C |
| Beam angle in air | 120° |
| Beam angle in water | 80° |
Brightness Values Measured At Ambient Water Temperature of 24°C
## Physical Specifications
| Property | |
| - | - |
| Material | 6061 Aluminum - Black, Hard-Anodized |
| Front Port | Scratch-Resistant Sapphire with internal AR Coating |
## Power Specifications
Please note: specifications are significantly different from the aquaLUX **Nano**.
| Property | |
| - | - |
| Voltage | 9V - 60V |
| Full Brightness Voltage | 12V - 60V |
| Nominal Current @ 16V | 4.9A |
| Nominal Current @ 24V | 3.1A |
| Nominal Current @ 60V | 1.2A |
| Max Wattage (Strobe Mode - Full Brightness) | \<1W |
| Max Wattage (Continuous Mode - Full Brightness) | \~80W |
Strobe mode consumes significantly less power because the LED pulses momentarily rather than remaining continuously on.
## Control Signal Specifications
Please note: specifications are significantly different from the aquaLUX **Nano**.
| Property | Standard |
| - | - |
| Signal | Standard Duty-Cycle PWM |
| Logic Voltage | 3V - 6V |
| Max Switching Frequency | 250Hz |
| Duty Cycle | Controls Brightness (0-100%) |
| Strobe Compatibility | Direct frame-sync compatibility with stellarHD Elite camera strobe outputs |
Not compatible with 1-2ms RC Servo PWM (PPM)
## Pinouts
| Cobalt (3 Pin) Cable | COB-1431 |
| - | - |
| 1 | Ground |
| 2 | Power: 9V - 60V |
| 3 | Signal (PWM) |
| SubConn MCBH3M Bulkhead | |
| - | - |
| 1 | Ground |
| 2 | Power : 9V - 60V |
| 3 | Signal (PWM) |
## CAD Files
aquaLUX Max (Cobalt) STEP File
aquaLUX Max (Cobalt) Technical Drawing (PDF)
aquaLUX Max (SubConn) STEP File
aquaLUX Max (SubConn) Technical Drawing (PDF)
## NDAA Section 889 Compliance
> This product is fully compliant with Section 889 of the National Defense Authorization Act (NDAA).
> We do not utilize any covered telecommunications equipment, video surveillance equipment, or services
> from prohibited entities (including Huawei, ZTE, Hytera, Hikvision, Dahua, or their affiliates).
> This product contains compliant core processing components and zero proprietary firmware, ensuring
> a secure hardware profile free of restricted data pathways.
## CE (Conformité Européenne)
> This product is CE certified, indicating conformance with relevant European Union directives
> and regulations regarding health, safety, and environmental protection. This certification
> validates that the product meets the high standards required for sale within the European Economic Area.
# Add a device as a follower to another device
Source: https://docs.dwe.ai/api-reference/cameras/add-a-device-as-a-follower-to-another-device
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/add_follower
# Add a device as a follower to another device
Source: https://docs.dwe.ai/api-reference/cameras/add-a-device-as-a-follower-to-another-device-1
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/remove_follower
# Add a follower. This endpoint is identical to the standard add_follower but it bypasses some restrictions
Source: https://docs.dwe.ai/api-reference/cameras/add-a-follower-this-endpoint-is-identical-to-the-standard-add_follower-but-it-bypasses-some-restrictions
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/external/add_follower
# Configure a stream
Source: https://docs.dwe.ai/api-reference/cameras/configure-a-stream
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/configure_stream
# Get all devices
Source: https://docs.dwe.ai/api-reference/cameras/get-all-devices
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/devices
# Get all devices as a map from bus info to device
Source: https://docs.dwe.ai/api-reference/cameras/get-all-devices-as-a-map-from-bus-info-to-device
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/devices/map
# Notify dweOS that a camera has been configured externally
Source: https://docs.dwe.ai/api-reference/cameras/notify-dweos-that-a-camera-has-been-configured-externally
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/external/notify_camera
# Restart a stream
Source: https://docs.dwe.ai/api-reference/cameras/restart-a-stream
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/restart_stream
# Set a device nickname
Source: https://docs.dwe.ai/api-reference/cameras/set-a-device-nickname
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/set_nickname
# Set a UVC control
Source: https://docs.dwe.ai/api-reference/cameras/set-a-uvc-control
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/set_uvc_control
# Get supported features
Source: https://docs.dwe.ai/api-reference/features/get-supported-features
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/features
# Get Logs
Source: https://docs.dwe.ai/api-reference/logs/get-logs
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/logs
# Activate a given profile for a device
Source: https://docs.dwe.ai/api-reference/network/activate-a-given-profile-for-a-device
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/network/wired/activate_profile
# Get the connection profiles
Source: https://docs.dwe.ai/api-reference/network/get-the-connection-profiles
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/network/connection_profiles
# Get the wired devices
Source: https://docs.dwe.ai/api-reference/network/get-the-wired-devices
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/network/wired/devices
# Update the profile of a given nmconnection
Source: https://docs.dwe.ai/api-reference/network/update-the-profile-of-a-given-nmconnection
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/network/update_connection_profile
# Get Preferences
Source: https://docs.dwe.ai/api-reference/preferences/get-preferences
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/preferences
# Get Recommended Host
Source: https://docs.dwe.ai/api-reference/preferences/get-recommended-host
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/preferences/get_recommended_host
# Set Preferences
Source: https://docs.dwe.ai/api-reference/preferences/set-preferences
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/preferences/save_preferences
# Apply From Fps
Source: https://docs.dwe.ai/api-reference/pwm/apply-from-fps
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/pwm/apply_from_fps
# Get Frequency
Source: https://docs.dwe.ai/api-reference/pwm/get-frequency
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/pwm/frequency
# Set Frequency
Source: https://docs.dwe.ai/api-reference/pwm/set-frequency
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/pwm/frequency
# Cancel a zip job
Source: https://docs.dwe.ai/api-reference/recordings/cancel-a-zip-job
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/recordings/zip/cancel/{job_id}
# Check zip job status
Source: https://docs.dwe.ai/api-reference/recordings/check-zip-job-status
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings/zip/status/{job_id}
# Delete a recording
Source: https://docs.dwe.ai/api-reference/recordings/delete-a-recording
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json delete /api/recordings/{recording_path}
# Delete multiple recordings
Source: https://docs.dwe.ai/api-reference/recordings/delete-multiple-recordings
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/recordings/bulk-delete
# Download ZIP using token
Source: https://docs.dwe.ai/api-reference/recordings/download-zip-using-token
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings/zip/download
# Get a specific recording
Source: https://docs.dwe.ai/api-reference/recordings/get-a-specific-recording
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings/{recording_path}
# Get all recordings
Source: https://docs.dwe.ai/api-reference/recordings/get-all-recordings
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings
# Get physical disk usage
Source: https://docs.dwe.ai/api-reference/recordings/get-physical-disk-usage
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings/disk
# Rename a recording
Source: https://docs.dwe.ai/api-reference/recordings/rename-a-recording
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json patch /api/recordings/{old_name}/{new_name}
# Start background zip job
Source: https://docs.dwe.ai/api-reference/recordings/start-background-zip-job
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/recordings/zip/prepare
# Restart the system
Source: https://docs.dwe.ai/api-reference/system/restart-the-system
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/system/restart
# Shutdown the system
Source: https://docs.dwe.ai/api-reference/system/shutdown-the-system
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/system/shutdown
# Controller Overview
Source: https://docs.dwe.ai/discovery/controller-functions/overview
This overview will cover how to use the Controller widget.
This is the **Controller** dock, which is responsible for executing functions on all panels in the Stream Viewer.
You can drag or click on the **Grip** on the far left of the dock.
The dock will automatically hide itself when you are not using it. Hover over the dock to reveal.
You can click on the **Grip** to
collapse the dock.
## Quick Functions
These show up when you have a global command available to you. Select a section below to learn more:
Start or stop streaming on all cards at once.
Start or stop recording on all active streams.
Show or hide the config box on every card.
Snapshot all currently streaming cards.
Evenly distribute all cards across the Stream Viewer.
Remove all video cards from the Stream Viewer.
# Settings Overview
Source: https://docs.dwe.ai/discovery/global-settings/overview
An introduction to configuring Discovery.
Open the settings page by clicking the "Settings" tab in the top menu bar.
Each card holds settings for a different part of the software. Select a section below to learn more:
Application-wide settings like zoom, notifications, and analytics.
Choose where your recordings and snapshots are saved.
Customize how saved files are named.
Set the default parameters for new video cards.
View scanned network IPs and configure advanced networking.
Scan for and install Discovery updates.
# License Overview
Source: https://docs.dwe.ai/discovery/license/overview
Manage your Discovery software license.
To use Discovery, you need to link a valid license key to your machine.
Discovery supports both single-machine and multi-machine licenses. Because licenses are bound to specific hardware, you should know how to activate your software—and how to deactivate it before you reset your PC or move your license to a new computer.
Select a section below to learn more:
Activate your license on this machine.
Important: unlink your license before resetting or switching machines.
# Tab Tearing
Source: https://docs.dwe.ai/discovery/misc/tab-tearing
Moving video cards out of the main window.
To tear a **tab** off the main Discovery window, drag the video card header or tab out of the window.
Drag the header if you want the entire group, drag the tab if you want just that card.
Closing a tab from the window button will move the tab back to the main window.
Closing a tab from the tab button will delete the video card.
All **action buttons** on the controller dock apply to video cards in pop-out
windows as well. The only feature that will only apply to the main window is
the **organize** button.
Pop-outs currently don't support splitting the window, and can only hold one
**stack** of tabs.
# Video Card Overview
Source: https://docs.dwe.ai/discovery/video-card-buttons/overview
An overview of the controls available on each video card.
Each video card features several controls to manage your streams, recording states, and views.
Select a section below to learn more about specific card buttons:
Configure the streaming endpoints for your video card.
Control streaming and recording states.
Take snapshots of the current stream.
Toggle the configuration fields.
Adjust how the video feed fits within the card.
View the stream's bitrate and track it over time.
# Add a device as a follower to another device
Source: https://docs.dwe.ai/api-reference/cameras/add-a-device-as-a-follower-to-another-device
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/add_follower
# Add a device as a follower to another device
Source: https://docs.dwe.ai/api-reference/cameras/add-a-device-as-a-follower-to-another-device-1
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/remove_follower
# Add a follower. This endpoint is identical to the standard add_follower but it bypasses some restrictions
Source: https://docs.dwe.ai/api-reference/cameras/add-a-follower-this-endpoint-is-identical-to-the-standard-add_follower-but-it-bypasses-some-restrictions
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/external/add_follower
# Configure a stream
Source: https://docs.dwe.ai/api-reference/cameras/configure-a-stream
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/configure_stream
# Get all devices
Source: https://docs.dwe.ai/api-reference/cameras/get-all-devices
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/devices
# Get all devices as a map from bus info to device
Source: https://docs.dwe.ai/api-reference/cameras/get-all-devices-as-a-map-from-bus-info-to-device
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/devices/map
# Notify dweOS that a camera has been configured externally
Source: https://docs.dwe.ai/api-reference/cameras/notify-dweos-that-a-camera-has-been-configured-externally
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/external/notify_camera
# Restart a stream
Source: https://docs.dwe.ai/api-reference/cameras/restart-a-stream
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/restart_stream
# Set a device nickname
Source: https://docs.dwe.ai/api-reference/cameras/set-a-device-nickname
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/set_nickname
# Set a UVC control
Source: https://docs.dwe.ai/api-reference/cameras/set-a-uvc-control
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/devices/set_uvc_control
# Get supported features
Source: https://docs.dwe.ai/api-reference/features/get-supported-features
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/features
# Get Logs
Source: https://docs.dwe.ai/api-reference/logs/get-logs
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/logs
# Activate a given profile for a device
Source: https://docs.dwe.ai/api-reference/network/activate-a-given-profile-for-a-device
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/network/wired/activate_profile
# Get the connection profiles
Source: https://docs.dwe.ai/api-reference/network/get-the-connection-profiles
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/network/connection_profiles
# Get the wired devices
Source: https://docs.dwe.ai/api-reference/network/get-the-wired-devices
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/network/wired/devices
# Update the profile of a given nmconnection
Source: https://docs.dwe.ai/api-reference/network/update-the-profile-of-a-given-nmconnection
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/network/update_connection_profile
# Get Preferences
Source: https://docs.dwe.ai/api-reference/preferences/get-preferences
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/preferences
# Get Recommended Host
Source: https://docs.dwe.ai/api-reference/preferences/get-recommended-host
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/preferences/get_recommended_host
# Set Preferences
Source: https://docs.dwe.ai/api-reference/preferences/set-preferences
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/preferences/save_preferences
# Apply From Fps
Source: https://docs.dwe.ai/api-reference/pwm/apply-from-fps
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/pwm/apply_from_fps
# Get Frequency
Source: https://docs.dwe.ai/api-reference/pwm/get-frequency
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/pwm/frequency
# Set Frequency
Source: https://docs.dwe.ai/api-reference/pwm/set-frequency
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/pwm/frequency
# Cancel a zip job
Source: https://docs.dwe.ai/api-reference/recordings/cancel-a-zip-job
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/recordings/zip/cancel/{job_id}
# Check zip job status
Source: https://docs.dwe.ai/api-reference/recordings/check-zip-job-status
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings/zip/status/{job_id}
# Delete a recording
Source: https://docs.dwe.ai/api-reference/recordings/delete-a-recording
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json delete /api/recordings/{recording_path}
# Delete multiple recordings
Source: https://docs.dwe.ai/api-reference/recordings/delete-multiple-recordings
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/recordings/bulk-delete
# Download ZIP using token
Source: https://docs.dwe.ai/api-reference/recordings/download-zip-using-token
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings/zip/download
# Get a specific recording
Source: https://docs.dwe.ai/api-reference/recordings/get-a-specific-recording
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings/{recording_path}
# Get all recordings
Source: https://docs.dwe.ai/api-reference/recordings/get-all-recordings
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings
# Get physical disk usage
Source: https://docs.dwe.ai/api-reference/recordings/get-physical-disk-usage
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json get /api/recordings/disk
# Rename a recording
Source: https://docs.dwe.ai/api-reference/recordings/rename-a-recording
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json patch /api/recordings/{old_name}/{new_name}
# Start background zip job
Source: https://docs.dwe.ai/api-reference/recordings/start-background-zip-job
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/recordings/zip/prepare
# Restart the system
Source: https://docs.dwe.ai/api-reference/system/restart-the-system
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/system/restart
# Shutdown the system
Source: https://docs.dwe.ai/api-reference/system/shutdown-the-system
https://github.com/DeepwaterExploration/dweOS/releases/latest/download/openapi.json post /api/system/shutdown
# Controller Overview
Source: https://docs.dwe.ai/discovery/controller-functions/overview
This overview will cover how to use the Controller widget.
This is the **Controller** dock, which is responsible for executing functions on all panels in the Stream Viewer.
You can drag or click on the **Grip** on the far left of the dock.
The dock will automatically hide itself when you are not using it. Hover over the dock to reveal.
You can click on the **Grip** to
collapse the dock.
## Quick Functions
These show up when you have a global command available to you. Select a section below to learn more:
Start or stop streaming on all cards at once.
Start or stop recording on all active streams.
Show or hide the config box on every card.
Snapshot all currently streaming cards.
Evenly distribute all cards across the Stream Viewer.
Remove all video cards from the Stream Viewer.
# Video Card Overview
Source: https://docs.dwe.ai/discovery/video-card-buttons/overview
An overview of the controls available on each video card.
Each video card features several controls to manage your streams, recording states, and views.
Select a section below to learn more about specific card buttons:
Configure the streaming endpoints for your video card.
Control streaming and recording states.
Take snapshots of the current stream.
Toggle the configuration fields.
Adjust how the video feed fits within the card.
View the stream's bitrate and track it over time.
# aquaLUX Max Technical Specifications
Source: https://docs.dwe.ai/lighting/specs/aquaLUX-Max
Technical Information for the aquaLUX Max
## Water Resistance
| Property | Cobalt | SubConn MCBH3M |
| - | - | - |
| Depth Rating | 600m | 2000m |
| Mass (Air) | 192g | 236g |
| Weight (Water) | 120g | 156g |
## LED Specifications
| Property | |
| - | - |
| Peak Strobe Brightness | 13,000 Lumens |
| Continuous Brightness @ 60V | \~9,000 Lumens |
| Continuous Brightness @ 24V | \~9,500 Lumens |
| Continuous Brightness @ 16V | \~10,000 Lumens |
| Color Temperature | 5700K |
| Operating temperature | 85°C |
| Beam angle in air | 120° |
| Beam angle in water | 80° |
Brightness Values Measured At Ambient Water Temperature of 24°C
## Physical Specifications
| Property | |
| - | - |
| Material | 6061 Aluminum - Black, Hard-Anodized |
| Front Port | Scratch-Resistant Sapphire with internal AR Coating |
## Power Specifications
Please note: specifications are significantly different from the aquaLUX **Nano**.
| Property | |
| - | - |
| Voltage | 9V - 60V |
| Full Brightness Voltage | 12V - 60V |
| Nominal Current @ 16V | 4.9A |
| Nominal Current @ 24V | 3.1A |
| Nominal Current @ 60V | 1.2A |
| Max Wattage (Strobe Mode - Full Brightness) | \<1W |
| Max Wattage (Continuous Mode - Full Brightness) | \~80W |
Strobe mode consumes significantly less power because the LED pulses momentarily rather than remaining continuously on.
## Control Signal Specifications
Please note: specifications are significantly different from the aquaLUX **Nano**.
| Property | Standard |
| - | - |
| Signal | Standard Duty-Cycle PWM |
| Logic Voltage | 3V - 6V |
| Max Switching Frequency | 250Hz |
| Duty Cycle | Controls Brightness (0-100%) |
| Strobe Compatibility | Direct frame-sync compatibility with stellarHD Elite camera strobe outputs |
Not compatible with 1-2ms RC Servo PWM (PPM)
## Pinouts
| Cobalt (3 Pin) Cable | COB-1431 |
| - | - |
| 1 | Ground |
| 2 | Power: 9V - 60V |
| 3 | Signal (PWM) |
| SubConn MCBH3M Bulkhead | |
| - | - |
| 1 | Ground |
| 2 | Power : 9V - 60V |
| 3 | Signal (PWM) |
## CAD Files
aquaLUX Max (Cobalt) STEP File
aquaLUX Max (Cobalt) Technical Drawing (PDF)
aquaLUX Max (SubConn) STEP File
aquaLUX Max (SubConn) Technical Drawing (PDF)
## NDAA Section 889 Compliance
> This product is fully compliant with Section 889 of the National Defense Authorization Act (NDAA).
> We do not utilize any covered telecommunications equipment, video surveillance equipment, or services
> from prohibited entities (including Huawei, ZTE, Hytera, Hikvision, Dahua, or their affiliates).
> This product contains compliant core processing components and zero proprietary firmware, ensuring
> a secure hardware profile free of restricted data pathways.
## CE (Conformité Européenne)
> This product is CE certified, indicating conformance with relevant European Union directives
> and regulations regarding health, safety, and environmental protection. This certification
> validates that the product meets the high standards required for sale within the European Economic Area.
# Settings Overview
Source: https://docs.dwe.ai/discovery/global-settings/overview
An introduction to configuring Discovery.
Open the settings page by clicking the "Settings" tab in the top menu bar.
Each card holds settings for a different part of the software. Select a section below to learn more:
Application-wide settings like zoom, notifications, and analytics.
Choose where your recordings and snapshots are saved.
Customize how saved files are named.
Set the default parameters for new video cards.
View scanned network IPs and configure advanced networking.
Scan for and install Discovery updates.
# License Overview
Source: https://docs.dwe.ai/discovery/license/overview
Manage your Discovery software license.
To use Discovery, you need to link a valid license key to your machine.
Discovery supports both single-machine and multi-machine licenses. Because licenses are bound to specific hardware, you should know how to activate your software—and how to deactivate it before you reset your PC or move your license to a new computer.
Select a section below to learn more:
Activate your license on this machine.
Important: unlink your license before resetting or switching machines.
# Tab Tearing
Source: https://docs.dwe.ai/discovery/misc/tab-tearing
Moving video cards out of the main window.
To tear a **tab** off the main Discovery window, drag the video card header or tab out of the window.
Drag the header if you want the entire group, drag the tab if you want just that card.
Closing a tab from the window button will move the tab back to the main window.
Closing a tab from the tab button will delete the video card.
All **action buttons** on the controller dock apply to video cards in pop-out
windows as well. The only feature that will only apply to the main window is
the **organize** button.
Pop-outs currently don't support splitting the window, and can only hold one
**stack** of tabs.