I designed and built this fully self driving boat with the following main components:
Microcontroller: arduino pro mini (knockoff)
GPS module: NEO6M (with extended antenna addon)
SD card reader: HiLetgo 30100385PCS
ESC: RCelectricparts B071GRSFBD (although this part eventually failed, I recommend the brand for their awesome documentation/videos and well made datasheets/op manuals)
Transmitter: Flysky FSi6X
Receiver: Flysky FSiA6B
Motors: VGEBY1 F2838350KV (works well but know how to solder if you order this)
Magnetometer: Adafruit LSM303AGR (also is an accelerometer but I didn't use that functionality)
Solar Charge Controller: Genasun GV5PB12V
Solar panel: (cheap ebay garbage)
Battery: Batteries Plus AGM 12V 3.3AH .250 FASTON
Yes, I'm aware of Ardupilot. No, I didn't use it.
This boat follows a predetermined set of GPS coordinates which are stored in an onboard micro SD card. It steers autonomously with differential thrust. This system as is consumes around 40w maximum (without throttle limiting)
My plans for version 2 include:
custom PCB
optimized propellers
sonar depth sensor
data logging
real time power consumption monitoring
digital telemetry
improved pontoon geometry and material selection
upgraded microcontroller
various efficiency improvements
redundancies, reliability improvements, error sensing