Skip to content

Underwater Vehicle

An ROV/AUV underwater robot controlled by STM32 and Raspberry Pi for navigation and sensor data processing.

  • Drone
  • No license: all rights reserved by the creator
  • ROS
  • 3D printable

Suggested by Robotheca, created by @zengwangfa (opens in a new tab), from github.com/zengwangfa/Underwater-Vehicle (opens in a new tab). Pinned to commit 9d2e568 (opens in a new tab).

Hardware license
No license
Software license
No license
Commercial use
Unknown

No license is stated for part of this robot.

The creator chose the hardware and software licenses on Robotheca; the repository has no license file for them yet.

This repository contains executable files that Robotheca doesn't check. Only run them if you trust the creator.

Which files (18 scripts, 22 programs or installers, 3 firmware images)

Photo

Its license doesn't let Robotheca show its photos.
See the photos on GitHub (opens in a new tab)

Commercial use is not confirmed for this robot, so no preview is stored. View the STEP files on GitHub (opens in a new tab)

What it can do

Written by Robotheca from the project's documents.

  • Moves underwater using six propellers for six degrees of freedom
  • Stabilizes depth and attitude automatically
  • Streams live video from two cameras to a ground station
  • Controls a mechanical arm with a servo
  • Adjusts searchlights brightness
  • Zooms and focuses an optical camera
  • Communicates with a ground station via 2.4 GHz radio or Wi-Fi
  • Logs sensor data and system status

Bill of materials

This repository has no parts list Robotheca can read yet.

Build guide

The creator's steps, each with its instructions.

  1. 1Circuit Design
  2. 2Control Program Development
  3. 3Upper Computer Software
  4. 4Mechanical Structure Assembly
  5. 5Raspberry Pi Server Setup

The creator's guide is written in Chinese. It has no license, so all rights stay with the creator: Robotheca doesn't show it here or translate it, and gives its own notes about the robot instead.

Read the creator's guideAsk the creator on GitHub (opens in a new tab)

More guides

Wiring and electronics

Notes written by Robotheca from the project's documents.

Main parts

  • STM32F407ZGT6 microcontroller running RT-Thread RTOS at 168 MHz with 1 MB flash and 192 KB RAM
  • Raspberry Pi 3B+ running Linux with 1.4 GHz Cortex-A53 and 1 GB RAM
  • Six brushless DC thrusters driven by PWM
  • MS5837 depth and temperature sensor connected over I2C
  • JY901 9-axis IMU connected over UART
  • OV2640 camera module connected over DCMI-DMA
  • W25Q128 16 MB SPI flash for parameter storage
  • USR-C216 Wi-Fi module connected over UART
  • Zigbee 2.4 GHz radio module connected over UART
  • CP2102 USB-to-UART bridge for debugging
  • OLED display driven over SPI
  • RGB LED, buzzer and dial switch on GPIO

Connections

  • STM32 I2C bus connects to MS5837 depth sensor
  • STM32 UART4 connects to JY901 IMU and CP2102 bridge
  • STM32 UART5 connects to Zigbee module
  • STM32 UART6 connects to USR-C216 Wi-Fi module
  • STM32 SPI1 connects to W25Q128 flash and OLED display
  • STM32 DCMI-DMA connects to OV2640 camera
  • STM32 PWM outputs drive six thrusters and servo motor
  • STM32 GPIO controls RGB LED, buzzer, dial switch and searchlights
  • STM32 ADC inputs monitor voltage and current
  • Raspberry Pi USB port connects to CP2102 bridge for STM32 communication

Schematics, boards and diagrams