Skip to content

Final Project

The Idea

Since Armenia has many mountains, there are numerous unexplored lakes both on mountain peaks and in other areas. My idea is to create a Submarine for small lakes to explore the local fauna. The most important thing for me is to study the inhabitants of the lakes. The submarine can be used by limnologists to explore freshwater ecosystems and study fish populations. With the help of its AI-powered camera, it can detect and classify different fish species. While researching, I realized that making a submarine is not so easy, so I will try to use the weekly assignments to help build it.

After explaining my idea to our instructor Elen, she helped me create a sketch, which I want to share with you: alt text

The submarine will have:

  1. A camera (maybe AI) for recording fish, or if there’s AI, it will detect the type of fish.
  2. A pressure sensor to measure the pressure at the current depth.
  3. A temperature sensor to measure the water temperature, as the temperature varies at different depths.
  4. An oxygen sensor in the water (This is not certain :D) since this sensor is quite expensive, but maybe I will figure something out.
  5. A motor and servo motors for controlling the submarine.
  6. Electronic valves for loading water to dive.

Researching

How a submarine works

After researching, I understood how a submarine works, and the most interesting part was learning how it dives. alt text

This image was taken from an article on Wikimedia, which are free of charge to use.



As seen in the picture, the submarine increases its weight by taking in water, which is a very interesting solution in my opinion. At the top, you can see valves that open, allowing water to enter a special tank, while air exits through the valves.

Archimedes’ principle

At first, I thought the depth of the submarine’s immersion depended on how much weight it gained with water, but after further research, I finally understood that Archimedes principle is at work here. In order for the submarine to dive, its weight must balance with the buoyant force.

Let’s look at this image.

alt text

This image was taken from an article on Wikipedia, which are free of charge to use.



This shows the buoyancy of an object. The buoyant force (Fₐ) balances the weight of the object (Fᵖ), Were (Fᵖ). So as we know Fa ​= ρgV, were:
- Fa​ is the buoyant force.
- ρ is the density of the fluid.
- g is the acceleration due to gravity.
- V is the volume of the fluid displaced by the object.

So, we need to balance the weight of the submarine with the buoyant force, and with the fins and motor, it should be easy and simple to dive.

Choosing Material

As the body where the water will be taken in, I think I will use 2 sizes acrylic tubes.

alt text

On both sides, there will be plugs with seals to ensure tightness, and the water will flow through two tubes.
❗The most important part is ensuring tightness, which I will focus on during Fab Academy.

Designing


I have already built the Stand For testing different Props on 3D Printing Week.

alt text

First Prop Test

On Input Devices Week I added the Load Sensor to Measure the force and here is the Result:

During the Input Devices week, I finally added it and measured the force of the propeller.

System Integration

alt text

One of the most important parts of the project is system integration, because it connects all the parts of the project into one working system. At this point, it is important to check that the hardware (mechanical and electronic parts) and the software work well together. If there are any mistakes from before, they will appear during this step.

In my project, I use two Heltec V3 boards. One is on the submarine. I made a custom board (like a shield) for it, where all input and output devices are connected — like sensors, motors, and communication lines. The second Heltec board is outside the submarine. It receives LoRa signals and uses serial communication to send and receive data to my Windows Forms application.

alt text

During integration, I will check:

  1. If the LoRa communication works between the two Heltec boards,
  2. If the submarine reacts correctly to the commands from the Windows Forms app,
  3. If the stabilization system works using sensor data,
  4. If all motors and sensors are connected and working correctly,
  5. If the data from the submarine is received and shown in the app without delays.

Wiring

On my custom board connected to the first Heltec, I made pins for: 1. controlling servo motors (using PWM), 2. connecting sensors (for example, an accelerometer via I2C), 3. connecting the ESC for the main motor, 4. buttons and LEDs, 5. communication with the second Heltec board using LoRa (with built-in antenna on Heltec).

Because my submarine has many parts (I mean the body parts), the most important thing is waterproofing. I will use seals everywhere — for example, O-rings with springs (for motor shafts) to stop water from getting inside.

Also, the water tank for diving is placed in the center of the submarine. But I need to have wires going to the front and back. To solve this, I put a tube inside the water tank, and I will pass the wires through the tube to connect everything.

alt text

This way, I can keep everything connected and still protect the electronics from water.


Last update: May 15, 2025