Moki ROV2

Build my own ROV, with BlueRobotics parts (Thanks for making my life simpler) :wink:

Some details:

  • Raspberry PI (Model B+)
  • Raspberry PI Camera Module v2 w/Wide Angle
  • Google Chrome browser on PC
  • XBox One controller (bluetooth connected to PC)
  • Teensy 3.2
  • BlueRobotics Depth/Pressure sensor [MS5837-30BA]
  • Pololu attopilot 180A
  • Adafruit BNO055 IMU
  • BlueRobotics BlueROV2 Basic 30A ESC
  • BlueRobotics Lumen Subsea Light for ROV/AUV

Power setup:

  • 24v 6.5A switching power suppy
  • DC to DC Converter (Stepdown from 48v to 12v)
  • D24V50F5 5v 5A Step-Down


  • Moki-ROV2 (own build ROV pilot software)
  • NodeJS v6.9.1
  • Arduino-1.6.13-linuxarm
  • Platformio
  • Jacksonliam/mjpg-streamer

1 Like


Nice work, very impressive.



Nice! Love the “heads up” display! :slight_smile:

Very good looking and compact ROV!

@Eric - Awesome! Very well done.

Thanks guys for the heads up!

Is the RPi providing a custom GUI or are you using QGC?

Its custom build, you can find the code at GitHub - Moki38/Moki-ROV2: Same looks, new design of the Moki-ROV software

Epic work! How are the teensy and Pi communicating? What functions is the teensy responsible for? Is Arduino-1.6.13-linuxarm just an arduino ide that will run on the Pi?

Currently the PI and the Teensy are communicating over the serial port. (using a short 3" USB cable)
The plan was to make that i2c, but as i need the serial port anyways to program the teensy (it was put on the todo list)

Yes, the Arduino-1.6.13-linuxarm is just the IDE, but i am not sure if i still need it, as “platformio” does all the work nowdays. (Really should do a clean install once again :wink: )

MokiROV2 is a new branch of the old MokiROV software, which i started over 2 years ago. But ran into to many issues with the building part (i am a good tinker, better programmer… but not a great builder) But thanks to BR, i restarted my ROV project and already made my first dives.

Now working on a 6 thruster version, with BlueROV2 frame :slight_smile:

Missed a question :grin:

The Teensy does all the I/O, all i2c sensors, the esc’s (currently only pwm, but soon also using i2c) and the analog input from the attopilot A180.
Before i used an adafruit pca9685 servo board for the pwm outout and another board for the A/D conversion…a teensy is just a cheaper, faster (and more steady) alternative.

The Raspberry PI does the webserver and the mjpeg videostream(s)

Looks good! Especially the heads up display. May I make a suggestion from past experience? Find some way to secure the end caps on the electronics housing from popping off, the pressure can build up and push them right off possibly in the middle of a dive.


MokiROV2 has reached version 1.0.0

I could add a video from my lastest dive… but the water here is cold/murky/cloudy.
Ill see if i can find a “frame” with something to show :wink:

1 Like

A quick dive, to get a screenshot :wink:

Wow that HUD looks great! Very nice work.

1 Like

And a video

For those how are wondering… its the underside of a marina jetty.
With visibility at 30-50cm, its hard to find anything :wink:

As i am working on “PID” for the thrusters, i needed to analyse the data.
Lucky for me, i have an ELK (Elasticsearch/Logstash/Kibana) in my environment.

Just a quick hack dashboard.

hey @Eric ,
How did you code the HUD, I am making my own raspberry pi ROV and a HUD would be very cool to use.

I coded it in NodeJS and HTML5

Source can be found at github (MokiROV2)