all projects
systems2025
Tideline: GPS autopilot for an RC boat that sort of follows waypoints
Built this for a science fair that turned into a 6-month project. The boat is a cheap RC hull with the receiver ripped out and an Arduino Mega wired to the motor ESC and rudder servo. A NEO-6M GPS module gives position at 5Hz, and a HMC5883L magnetometer gives heading. The autopilot computes great-circle bearing to the next waypoint and runs a PD loop on the heading error to steer the rudder. Waypoints are loaded from an SD card as a CSV file. Compass calibration was brutal - hard iron offsets from the motor threw everything off, and it still drifts when it gets near anything metal (like the dock or the bridge pylons). Got one clean 500m lap on a calm day. Windy days are hopeless.
- › 5Hz GPS + magnetometer heading fusion
- › PD controller for rudder steering with configurable gains
- › Great-circle bearing with magnetic declination correction
- › SD card logging at 2Hz with KML export for Google Earth
- › Compass still goes haywire near metal structures