Learn how to Build an Engine Controller for your Alioli Submarine UAV Drone

Learn how to Build an Engine Controller for your Alioli Submarine UAV Drone

Juanmi Taboada
Juanmi Taboada
Learn how to Build an Engine Controller for...

In my last post “Alioli ROV Boards” I described most of the hardware I am using to build Alioli ROV and how I plan to use it. In this post, I show how the UAV submarine hardware and electronics interconnect with each other and the boards I have built for that purpose: engines driver board, and motherboard.

Engines driver board

Earlier I was using an odd version of the engines board, so I decided to redesign it again using the recently acquired knowledge and experience. Here is the schema for the new board:

Alioli ROV Engines Board v1

The building process wasn’t easy because I decided to add logic to get an inverted signal for Ox signals (pink) inverting the signal given from the Ix signals (yellow) in the L298N Dual H Bridge controller. I also decide to explore the transistors (2 different kinds) that were included in my Arduino starter kit. I got to the conclusion that I had in my hand 2 NPN Transistors (models PN2222A and S8050), the good news was that the same logic applied equally to both of them.

After reading theory, asking friends from Telecommunications (you must know that I am a computer engineer and I didn’t have much idea about electronics when I started with the submarine), and making some tests on the protoboard I got to these conclusions:

The next step was to build the board (first I had to look for a bigger board since I couldn’t match the 3 L298 inside the boards I already had) and then I implemented the schema shown before. Here you have the building process:


The motherboard is where all the buses will interconnect with Arduino. For this purpose, I bought a Breakout board for Arduino Mega 2560 Rev3 where I could solder pins to connect buses and wire everything as I expect:

Then I started soldering on it:

Juanmi Taboada Soldering on Arduino Mega 2560 Rev3 Breakout Board

Following the next schema:

And I got this as a result:

Finally the test

Then I connected everything and it was working as I expected:

The next video shows everything working as expected, there will be a warning at the beginning saying that MPU6050 is not connected (yes, it is right, I changed it for BNO055 from Bosh). The video shows also the test for engines (usually I have disabled this test) but I enabled it for the video to show that the driver board for the engines is working perfectly, during the test each engine will rotate forward and backward. After the engines, Alioli will say hello doing a dance flashing red and green lights in a specific way.

Everything working with the original version of the software

Next post

Now we are fully ready to talk about the software framework I have been working on, the “Alioli UAV Submarine Drone Software Framework for Arduino”.

Show Comments (0)


Related Articles

Finishing the frame for an Underwater ROV
Underwater ROV

Finishing the frame for an Underwater ROV

In my last post “How I designed the frame for my Underwater ROV” I gave all details about the design I used for the frame for Alioli Underwater ROV. In this post, I...

Posted on by Juanmi Taboada
Recuperar una tabla de MySQL desde los ficheros .frm e .ibd

Recuperar una tabla de MySQL desde los ficheros .frm e .ibd

En primer lugar debemos conocer que para que exista el fichero .ibd debemos tener activado el sistema de almacenamiento Barracuda mediante la separación de ficheros por cada tabla...

Posted on by Juanmi Taboada