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)
- software/Camera/keilkilll.bat (opens in a new tab)
- software/Camera/OBJ/OV2640.hex (opens in a new tab)
- software/rt-thread-master/bsp/stm32f40x/Libraries/CMSIS/DSP_Lib/Source/ARM/arm_cortexMx_math_Build.bat (opens in a new tab)
- software/rt-thread-master/components/dfs/filesystems/jffs2/cyg/compress/src/Make_vms.com (opens in a new tab)
- software/rt-thread-master/components/dfs/filesystems/uffs/tools/make_package.sh (opens in a new tab)
- software/rt-thread-master/components/net/lwip-2.0.2/doc/doxygen/generate.bat (opens in a new tab)
- software/rt-thread-master/components/net/lwip-2.0.2/doc/doxygen/generate.sh (opens in a new tab)
- software/rt-thread-master/components/net/lwip-2.0.2/test/fuzz/output_to_pcap.sh (opens in a new tab)
- software/rt-thread-master/components/net/lwip-2.1.0/doc/doxygen/generate.bat (opens in a new tab)
- software/rt-thread-master/components/net/lwip-2.1.0/doc/doxygen/generate.sh (opens in a new tab)
- software/rt-thread-master/components/net/lwip-2.1.0/test/fuzz/output_to_pcap.sh (opens in a new tab)
- software/rt-thread-master/tools/as.sh (opens in a new tab)
- software/rt-thread-master/tools/kconfig-frontends/scripts/.autostuff/scripts/ltmain.sh (opens in a new tab)
- software/rt-thread-master/tools/kconfig-frontends/scripts/ksync.sh (opens in a new tab)
- software/rt-thread-master/tools/kconfig-frontends/scripts/version.sh (opens in a new tab)
- software/zoom focus camera for STM8/Debug/Exe/Demo.hex (opens in a new tab)
- software/zoom focus camera for STM8/settings/Demo.Debug.cspy.bat (opens in a new tab)
- software/zoom focus camera for STM8/settings/Demo.Debug.cspy.ps1 (opens in a new tab)
- software/zoom focus camera for STM8/双击删除“编译产生文件”.bat (opens in a new tab)
- tools/ANO_TC匿名科创地面站v4.34.exe (opens in a new tab)
- and 23 more
Photo
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.
- 1Circuit Design
- 2Control Program Development
- 3Upper Computer Software
- 4Mechanical Structure Assembly
- 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
- docs/DataSheet/STM32_F4ZG_Pro核心板--原理图-1712M.pdfDiagram
- docs/raspberrypi/schematics/Raspberry-Pi-B-Plus-V1.2-Schematics.pdfDiagram
- docs/raspberrypi/schematics/Raspberry-Pi-Rev-1.0-Model-AB-Schematics.pdfDiagram
- docs/raspberrypi/schematics/Raspberry-Pi-Rev-2.0-Model-AB-Schematics.pdfDiagram
- docs/raspberrypi/schematics/Raspberry-Pi-Rev-2.1-Model-AB-Schematics.pdfDiagram
- docs/设计参考文档/Camera_OVx640原理图--1712M.pdfDiagram
- docs/设计参考文档/JMU 2018 Camera主板 2.0 核心板.16_1第二板.SchDocAltium
- docs/设计参考文档/电力载波底板原理图.jpgDiagram
- hardware/Core Controller V2.0/Underwater_vehicle-V2.0.PcbDocAltium
- hardware/Core Controller V2.0/Underwater_vehicle-V2.0.SchDocAltium
- hardware/Core Controller V3.0/Core Controller V3.0.PcbDocAltium
- hardware/Core Controller V3.0/Core Controller V3.0.SchDocAltium
- hardware/Core Controller V4.0/Core Controller V4.0.PcbDocAltium
- hardware/Core Controller V4.0/Core Controller V4.0.SchDocAltium
- hardware/Depth Sensor for MS5837 V1.0/MS5837 V1.0.PcbDocAltium
- hardware/Depth Sensor for MS5837 V1.0/MS5837 V1.0.SchDocAltium
- hardware/Depth Sensor for MS5837 With Cal V1.0/MS5837 for Cal V1.0.PcbDocAltium
- hardware/Depth Sensor for MS5837 With Cal V1.0/MS5837 for Cal V1.0.SchDocAltium
- hardware/Depth Sensor for MS5837 With Cal V1.0/STM32 for Cal V1.0.PcbDocAltium
- hardware/Depth Sensor for MS5837 With Cal V1.0/STM32 for Cal V1.0.SchDocAltium
- hardware/Depth Sensor for SPL1301 V1.0/Depth Sensor for SPL1301 V1.0.PcbDocAltium
- hardware/Depth Sensor for SPL1301 V1.0/Depth Sensor for SPL1301 V1.0.SchDocAltium
- hardware/Depth Sensor for SPL1301 With Cal V1.0/SPL1301 for Cal V1.0.PcbDocAltium
- hardware/Depth Sensor for SPL1301 With Cal V1.0/SPL1301 for Cal V1.0.SchDocAltium
- hardware/Depth Sensor for SPL1301 With Cal V1.0/STM32 for Cal V1.0.PcbDocAltium
- hardware/Depth Sensor for SPL1301 With Cal V1.0/STM32 for Cal V1.0.SchDocAltium
- hardware/Power Controller In ROV V2.0/Power Controller In ROV V1.0.PcbDocAltium
- hardware/Power Controller In ROV V2.0/Power Controller In ROV V1.0.SchDocAltium
- hardware/Power Controller V1.0/Power Controller V1.0.PcbDocAltium
- hardware/Power Controller V1.0/Power Controller V1.0.SchDocAltium
- hardware/Power Controller V2.0/Power Controller V2.0.PcbDocAltium
- hardware/Power Controller V2.0/Power Controller V2.0.SchDocAltium
- hardware/Robot Main Board V2.0/ROV_MainBoard V2.0.PcbDocAltium
- hardware/Robot Main Board V2.0/ROV_MainBoard V2.0.SchDocAltium
- hardware/Robot Main Board V2.0/ROV_Power V2.0.SchDocAltium
- hardware/Robot Main Board V3.0/Robot-Control V3.0.SchDocAltium
- hardware/Robot Main Board V3.0/Robot-MainBoard V3.0.PcbDocAltium
- hardware/Robot Main Board V3.0/Robot-Power V3.0.SchDocAltium
- hardware/Robot Main Board V4.0/Robot-Control V4.0.SchDocAltium
- hardware/Robot Main Board V4.0/Robot-MainBoard V4.0.PcbDocAltium