Home        Store        Learn        Blog

NodeROV - Custom control PCB and Interface


Note: Not planning on selling or distributing what I’m showing off. As a one man project I cannot live with the responsibility of others using my stuff as I’m way under qualified to create these kind of things.

:jigsaw: :jigsaw: :jigsaw: :jigsaw: :jigsaw: :jigsaw: :jigsaw: :jigsaw: :jigsaw: :jigsaw: :jigsaw: :jigsaw: :jigsaw:
"Blogg entry #1 - 2020-08-06"

I’ve been here before showing a bit of my custom control system. I’m not a big fan of pixhawk and the software and I love engineering on stuff like this. No education just a bunch of trials and failures hopefully soon ending in success. I’ll update this first post when I get news for this system.

I’ve been running this successfully for about 15-20 dives using a raspberry pi and a lot of adafruit breakout boards glued / screwed to a 3d printed hat. This shows me that it is possible.

My newest adventure is creating a custom PCB for the Raspberry PI. I’ve created 4 revision. Luckily none of them have been a success. Why luckily you might ask. Oh, well… I’ve just yesterday after ordering Rev 4 that the gripper needs 3v3 PWM. Not 5V pwm as I designed. So that was another 30 dollar down the drain as the order was too late to stop.

Working 5-6 hours on designing the PCB this is now what I have:

Features I’ve added so far on rev 5:

  • 16 pins for PWM signals.
  • 3v3 PWM signals on all pwm pins. (do’h)
  • Voltage and current sensor
  • 3 Leak Sensor headers (credits to BlueRobotics for the schematic, I kinda stole the idea… Sorry! :slight_smile: )
  • 3 external I2C headers with 3v3 up to 200mA
  • Pressure, humidity and temperature sensor (BME280)
  • Accelerometer, magnometer and gyro for those roll, tilt and heading readings!
  • Direct 2-4 cell connection on the PCB just solder on a connector
  • 2 switching voltage regulators, 3A 5V to the raspberry pi and 2A 5V to the PWM header rows.

A bit of history for my self:

Rev 1: Lots of wrong wire connections. Swapped SLC and SDA, did not hook up the ADC e.t.c.

Rev 2: Added a unsupported Gyro which did not work with raspberry pi.

Rev 3: Some wrong wire connections. Also the chip i wanted to use is way to expensive. Found a cheaper one with both gyro and accelerometer built in + magnometer. So i decided to again go back to the pcb drawing board to order REV 4…

Rev 4: On its way, but I here found out that using 5V PWM would kill the gripper… So i redesigned to use 3v3.

Rev 5: On its way, ordered yesterday. Hopefully this is the working one. I’ll at least make it working and test dive with it then redesign any flaws.

:jigsaw: :jigsaw: :jigsaw: :jigsaw: :jigsaw: :jigsaw: :jigsaw: :jigsaw: :jigsaw: :jigsaw: :jigsaw: :jigsaw: :jigsaw:


Awesome project !

Can you share your experience about what we could improve in the software side to allow this kind of customization easier ?

Please keep us updated :slight_smile:

1 Like

Thanks! :slight_smile:

I do not thing there is much you can do to make me use the APM. I like it minimalistic, the APM and QGC is made for multi purpose stuff. Also I am not a expert with the C programming so I cannot add stuff there.

My software is only for the ROV as I have it now, it is written in NodeJS and really is not many lines of code. The GUI is served through the web-browser. The tether is hooked up to a mini wifi router so i can in theory give it 4g and control it by sharing the URL. Which i might do sometime as a experiment. Let some US guys drive a ROV in Norway :stuck_out_tongue: Just need to program a “admin takeover switch” for when multiple users are connected to the same url. So they dont ram it into a boat or something :stuck_out_tongue:

I will make it all available for download when I’m more complete. :slight_smile: Next post update will come when the circuit board has come :smiley:

With my HAT you can really code any software for the PI and control the rov. I chose NodeJS because it is dead simple. :stuck_out_tongue:

1 Like