Introduction: Overview of the CPS 5 Underwater Drone

About: CPS – Custom Printed Submarine – is all about creating an open-source underwater drone. We design our drones so that everybody can 3D print and assemble them from scratch, or use our easy to assemble kits.

CPS stands for Custom Printed Submarine. CPS 5 is the first project of our underwater drone.

UPDATE: We ended up releasing the CPS 5 course, where we have all of the instruction manuals, 3D models, software for the CPS 5, as well as teach about how underwater drones work. You can find it here.

We post many updates and cool videos on our Instagram and YouTube

How is CPS different?

It is a drone that is at the same time affordable, customizable and user friendly. We want to create a community of CPS users which would modify and develop their own designs for CPS 5.

What can it do?

The drone is operated with a remote controller and live video feed. You can see the gist of it in the video above.

Here are the features:

100m depth - The drone is tested to the pressure of 100m water depth, which is (fun fact) over 2 times the average depth of Earth’s lakes.

tilting camera - Low light capable camera, that is additionally able to tilt up and down, providing more recording angles and close inspection possibility. (1080p@30fps/720p@60fps, IMX291 sensor, video formats: .mov .mp4 .mkv)

self leveling - Self leveling provides satisfying, predictable and responsive movement, which makes CPS 5 easy to use even for an absolute beginner.

depth hold - Combined with the self leveling mode it enables swimming in an extremely stable position.

lights - Front facing lights that allow swimming in very dark environments. 2x 3W LEDs (TBD)

1h battery life - Battery allowing for over an 1h of swimming (6x 18650)


It is only an overview of the entire project, which is quite big in itself. We will be releasing the entire documentation, along with the detailed assembly instructions. This is our release plan for the documentation:

1. Instructions on CPS 5 from scratch

2. Standard kit instructions

3. Preassembled kit instructions

4. Printing guide

5. Software installation guide on every device

6. Preflight check

7. Quick start guide

8. Operation manual

+ a whole genre of how to edit the design guides (adding additional features in the model, in the software and electronics)  

The files (models and software) are now available in our course, you can sign up here.

Step 1: Main Parts

These are the main parts of the drone that make it work. Their function and structure are explained individually later in the overview.

You can see a rough layout of the components on the drawing above.

(main body)

  • Main Electronics (RPi, IMU & drivers, battery, depth sensor, ESCs)
  • Motors & Propellers (red)
  • Camera Tilting System (blue)
  • Connectors (yellow)
  • 3D Printed shell (grey sketch)
  • Watertight endcaps (pink)
  • Lights (green)

(other devices)

  • Base Station & Tether (yellow)
  • Controller (not on the picture)

Step 2: Software

The CPS 5 runs a specialization of ArduPilot program – ArduSub on Raspberry Pi. The program controls each action of the drone so that it can perform all of its functions. We also use an app for your smartphone or laptop, with which you can communicate with the drone.

Step 3: In Depth - Main Electronics

The electronics in the CPS 5 allow for precise battery monitoring, measuring the motion parameters of the device, along with depth. It also has the ability to drive 5 brushless motors with propellers and to communicate with the base station along with sending live HD video from the camera via a tether.

Battery and circuit for turning on the drone:

The battery is currently a 11.1V 5000mAh 3s2p battery made form 18650 cells. It is monitored by the raspberry Pi, which can shut off the power to the entire device if the voltage falls beneath a desirable level or if the cells are unbalanced.

The electronics are connected to a step-down converter, which steps down the 11.1V from the battery to 5V – required by the Raspberry Pi

MOSFETs for power switching – a simple circuit allowing for turning off the drone by connecting the cable to the connector

The electronics in the CPS 5 drone are based on Raspberry Pi. The Raspberry Pi communicates via the I2C protocol with:

Pressure sensor – placed outside of the electronics pipe of the drone, allows for monitoring depth of the drone with very high accuracy,

Analog to Digital converter – allows to read the voltages of individual battery cells and voltage drop on the shunt resistor,

PWM driver – allows for controlling the Electronic speed controllers required for controlling the underwater motors in the drone

Raspberry Pi also features an SPI protocol, which is used in the CPS 5 for communicating with an Inertial Measurement Unit, which allows the drone to precisely measure the motion parameters.

Coming in the beginning of June:

The complete electronics list with all of the links,

Detailed connection schematic,

CAD model of the electronics layout,

Instructions for the electronics assembly.

The raspberry Pi is also connected via the USB protocol to a low light camera [See the next step]

Step 4: In Depth - Camera Tilting System

The Camera Tilting System (SPK) is placed in the front of the drone.

The camera is used to record video, take photos and provide live feed to the screen of the smartphone/computer.


It is a USB low light capable camera, which is important even with the use of onboard lights. The size of the camera with the PCB board is also very important, since it has to fit inside of a 44mm inner diameter tube. These are the specifications of our camera:

Sensor: IMX291

FOV [Field Or View]: 105 degrees

Quality: 1080p@30fps/720p@60fps

Video formats: .mov .mp4 .mkv

Video compression: H.264

Dimensions: 19x27x24mm

Tilting system

We have opted for a tilting camera since the beginnig, since it vastly improves the experience and ads versatility to the viewing angles. The camera rotates up and down, having about 180 degrees of range.

The current design uses a servo motor (in blue on the pictures). In oder to fit both the servo and the camera, while having a space to rotate, we use two sprocket whells. First one stationary, attached to the watertight endcap (white) on the inside and the second one on the servo shaft. This construction is presented on the picture above.

The servo does not provide entirely smooth rotation, that is why a small brushless motor would be preferable. But yeah, we'll implement it later.

Step 5: In Depth - Motors & Propellers

Motors are an essential component of our drone, as they enable it to move underwater. We use brushless DC motors, as they are commonly available on the market and work underwater.

We use 5 motors in order to provide lateral movement with 2 motors on the sides, and stability & vertical movement with 3 motors on the front and back. This configuration enables movement and rotation in all 3 axis, except of the movement "right, left", in the y-axis. Nonetheless, having this configuration anables us to stick with a hydrodynamic design, about which we talk more in the "3D printed shell" section.

While the motors themselves work underwater, their components are prone to corrosion. These three parts are affected the most:

  1. Stator and the windings - The stator is the main part of the motor and is made out of laminated steel (prone to corrosion). The windings are placed around the stator and are insulated by a thin coating of enamel. However, in water the stator can rust and enamel can break down, causing clearance issues and short circuits, which destorys the motor. To fix this issue, we cover the stator along with the windings with epoxy resin, to completely insulate them from the water.
  2. Bearings- Simmilarly to the stator, the standard bearings are made out of steel. For obvious reasons, epoxy isn't the answer here. Instead, we replace the steel bearings with ceramic ones. This prevents them from seizing due to corrosion.
  3. Motor shaft - As the bearings used have slightly different diameters than the original ones, we have to replace the motor shaft as well. When doing that we also upgrade the material from normal steel to marine grade 316L stainless steel.

As for the propellers, we have designed our own propellers which are 3D printed in PLA plastic. We have considered different materials due to the blades breaking when hit by rocks, although the new design has thicker blades so that won't be necessary. More importantly, we are currently working on finding the most optimal combination of blade shape and number, so stay tuned for the updates.

Step 6: In Depth - Watertight Endcaps

Most of the electronics is housed inside of two acrylic pipes - one for the main electronics and one for the camera. In order to seal those pipes we've developed a unique design of watertight 3D printed endcaps.

Each endcap has a shape of a disc. An o-ring is placed onto of a groove in the endcap (the size and squeeze of the o-rings is extremely important). Then, the endcap is inserted. (Because of the increased pressure inside after sealing, the endcaps are mounted to the shell, so that they don't fall off)


There are 2 3D printed parts - bottom and top. The epoxy resin is inserted into the endcap in order to provide watertightness, since 3D printed parts are penetrable by water under high pressure. It also bonds both parts, making the structure sturdy.

One of the endcaps for each pipe has a number of entrances for the cables. The cables are put through these holes and later sealed with epoxy.

Step 7: In Depth - 3D Printed Shell

The 3D printed shell is a model, which should be designed very carefully. It should look good, while still looking good and being able to fit each part of the drone in it. One major challenge is that when the drone is assembled it should be neutrally buoyant – meaning that it should neither sink or float but rather “stay in place”.

The modelling of the shell is a very time-consuming process, which requires a lot of trial and error. We have done our models in Autodesk Fusion 360, but another program may be suitable as well.

The cool thing is that if you want to try different shell size, shape and so on – you can design and 3D print your own shell – just be sure to share it with others :)

The current model, of the shell, available in the step file format on google drive is a version, that we are currently improving, because it has a couple of problems – it sinks instead of being neutrally buoyant – making the electronics pipe and adding buoyancy foam will solve that problem very quickly though! Improved model will likely be available in a couple of days.

In the future there will be an article available on how to design your own custom shell!

Step 8: In Depth - Base Station & Tether

As radio signals do not travel far underwater, we send all the information through a neutrally buoyant tether to a base station. The base station is responsible for communicating with the user’s phone/computer through a Wi-Fi signal. It has its own battery to not decrease the battery life of the drone (sending power through a long tether is inefficient or requires high voltage, both of which we do not want).

The base station itself consists of the following components:

· 3D printed splashproof shell

· Ethernet to Wi-Fi adapter

· Battery

· Tether connector

In the future we want to develop a long range communication system. It would allow us to replace the base station with a buoy, freeing the drone in the horizontal direction (within reason) as the buoy would not have to be placed next to the user.

Step 9: In Depth - Connectors

There is only one waterproof connector in the drone outside of the electronics pipe. The connector is a modified weipu connector. Right now, we are finishing perfecting the process of waterproofing it, such that it is very reliable. This process involved replacing the original gasket and epoxy filling the back of it.

Step 10: In Depth - Lights

Currently we use two 3W LEDs to be able to see in low light conditions. The LEDs are placed in a special housing which acts as a lens (focusing the light beam) and then sealed with epoxy resin. The back of the LED chips are left exposed to enable cooling.

On the picture: LED chip (left), entire LED module (right)

Step 11: In Depth - Controller

Description coming later - (it's a physical controler that you steer the drone with)

STEM Contest

Participated in the
STEM Contest