Navigating between waypoints derivation.
I share my experience building robotic boats. I started using a Windows 7 tablet onboard Birdy II. Because of the weight and size of the tablet, the model boat has to be sufficiently large at 1.5 meters. I could plug in a USB compass, USB GPS, and a USB Servo Controller. All was ok until I tried to read signals from a Radio Control receiver. Because RC receivers communicate using PWM, I searched and discovered the Arduino Uno.
It wasn't long before I upgraded to the Arduino Mega, which became my workhorse for a while. The Mega meant I didn't need a tablet and could thus reduce the electronics' weight, size, and cost.
My microcontroller of choice, at the moment, is now the Teeny 3.6 and 4.1. More powerful than the Arduino Mega with a smaller size. Small enough to fit into a 47cm boat. I have progressed from breadboards to soldering with PCB boards with varying success. The Raspberry Pi and BBC Micro-bit were interesting to learn, but I have no plans to add to any boats.
I solved the problem of sailing downwind in a straight line in 2017. My current challenge is sailing into the wind. When the sails are tight, the yachts will naturally head up to the wind. This behavior is what we want, however too much; then, the boat will effectively stall. To avoid this, we need to monitor the mainsail or the main boom. I do this using Hall Sensors and a magnet on the boom.