The Prototype

 Arduino programs

The programs that are loaded onto the various CPUs, coded in Arduino processing, are here

Boat Construction

The hull is constructed from two layers of fiberglass matting, placed on an 4mm MDF mold and bonded with epoxy resin.
The wetted surface of the hulls is coated with two part gelcoat to make it watertight
The hulls are reinforced with a steel band right around the inside of the hull, just above the waterline The boat internals and infrastructure is built of 9mm plywood, with a welded steel frame to house the solar panel and to provide rigidity between the hulls

100W Solar Array, 2*12V 18AH Batteries, PWM Charger

A 100W solar was purchased from China and mounted on the steel frame. This feeds power to a 30A 12V PWM Solar Power battery Charge Controller, which charges 2 batteries (connected in parallel) and the load, which are the ESC motor controllers and the computers and radio

T100 External Thrusters, driven by ESCs

Two T100 thrusters from Blue Robotics provide propulsion. They are controlled by two Electronic Speed Controllers (ESC), which use a PWM signal from the computer to regulate the power and thus the thrust of the thrusters. As there is one thruster on each hull, by varying the relative thrust of the motors, the boat is steered

Ublox Neo-M8N - GNSS Reciever (GPS) and BNO0055 electronic compass

The Neo-M8N GPS provides a feed of the current GPS coordinates of the boat. It also provides speed and, given two coordinates, calculates the course and distance to the next waypoint. It also provides date and time. More information here
The BNO0055 provides a platform stabilised magnetic reading of the boat's heading. This allows the computer to take into account the direction the boat is pointing towards, rather than the direction the boat is travelling towards, given by the GPS. More information here

Adafruit Feather M0 Express CPUs, running Arduino programs

Two Feather M0 Express CPUS in the boat perform the functons of navigation, motor control, monitoring of sensors and communication. More information here
The Arduino programming platform provides easy to use coding techniques, plus a wide variety of built in and third party libraries to cater for most requirements. More information here

Adafruit Radio Featherwing

Two Radio Featherwing boards, one on the boat and the other on land, provide the two way ship to shore communication. They send the location and status back to shore, and send takeover information back to the ship to enable the motors to be remotely controlled. More information here

Adafruit Feather Huzzah ESP8266

The Huzzah on shore performs the following functions;Two way communication using the radios between ship and shore; Two way communication, using wireless and a Mobile Phone hotspot, between the shore station and the internet to Cayenne. More information here

Cayenne Web Site

The Cayenne web site and associated application provides the ability to receive, store and display data from the boat on location and status. It also provides a facility to send control information back to the boat if necessary. This control data is the PWN values from 1500 to 1750 to drive the thrusters. This could be used to steer the boat in the event of a navigation or other coding error. My Cayenne website is here