Why does OpenROV uses both beagle-bone and the controller board


I’m straggling a bit regarding the controller board. I don’t understand why OpenROV have both controller board and the beagle bone.


The Beaglebone handles higher level tasks, such as running the webserver that hosts the cockpit page/software, acquiring the video stream from the webcam over USB, and more. The controllerboard is host to many different electronics, such as sensors, power circuitry, and the microcontroller. The microcontroller (in this case, the ATMega2560) is responsible for being the interface to the different sensors and motors. It is connected via UART back to the beaglebone. While the ATMega has tons of I/O capabilities and can quickly service and control the many onboard devices in real time, it is unable to handle the higher level tasks like the web server. The Beaglebone theoretically can do some of the interfacing with sensors and motors, but it doesn’t have nearly as much GPIO to interface with as the ATmega, which is one reason we split up the work between the two.


Very intresting !

Thanks a lot


For Trident, you merged this two board together?


The setup for Trident is not very different. The main change is that instead of connecting the single board computer with the tall pin headers, we de-populate all of the GPIO, USB, ethernet, etc connectors and solder it directly to some low profile pins coming off of the controllerboard. Same logical/pin connections, different construction.


What it the funtion of the power circuitry? Is it related to the 5 volts that comes from the laptop?