
The boat, piece by piece.
V3 is a modular twin-hull survey boat: a Linux mission computer, a real-time controller and a tethered sensor pod, joined by one custom carrier board. Its first job is to drive itself around small bodies of water and sample them.
From a route on a map to data on a map.
Every V3 survey will follow the same loop. The operator sets the plan; the boat handles driving, sampling and telemetry, with a hand-held radio override always within reach.
- 01
Plan
Draw a route and sampling stations in the web dashboard. The mission uploads to the boat over 4G.
- 02
Drive
GPS and IMU heading control steer the twin motors from waypoint to waypoint. A hand-held radio can take over at any time.
- 03
Sample
At each station the pod samples the water at the surface, while a fish-finder sonar measures the depth below the boat.
- 04
Stream
Readings are geo-tagged and sent to the cloud, where they appear on a live map.
Take the boat apart.
Our V3 boat, straight from our SolidWorks model. Spin it, pull it apart, slice through it from bow to stern or port to starboard, and pick any part to see why it's built the way it is.

Overall963 × 733 × 368 mm
Loading the 3D model · 1.7 MB
From our SolidWorks model, exported 14 Oct 2026. Not in the CAD yet: the drives, the electronics and batteries, the sensor pod, the depth sonar and the antennas.
One board ties it all together.
The carrier board hosts the Raspberry Pi 5 and two Raspberry Pi Pico 2 controllers, talks to both motor controllers over CAN, and runs everything from one 10S battery bus, with an optional backup battery for the computers.

- Two Raspberry Pi Pico 2sThe real-time controllers, socketed on the underside: one runs the motors, winch and RC, the other the sensors, GPS and the pod link. Only their header holes show here.
- Raspberry Pi 5 socketThe Pi plugs in here, face down on standoffs. The header carries its 5 V power, a serial link to the control Pico and a reset line for each Pico.
- CAN link to motor controllersTJA1051 transceiver and a 3-pin connector to the two VESC motor controllers, plus a jumper for the 120 Ω terminator.
- I²C sensor multiplexerTCA9548A splits one I²C bus into 8 channels: IMU, accelerometer, barometer, light sensor, two humidity sensors, power monitors, GPS compass.
- Sensor-pod link (RS-485)THVD2410 transceiver and a 4-pin connector for the tether to the water-sensing pod. The same cable carries 15 V to power the pod.
- GPS connector6-pin cable socket for the u-blox M10 GPS module: serial data plus the I²C lines of its built-in compass.
- RC receiver input (SBUS)3-pin socket for the radio-control receiver, the manual override. Its 5 V supply is fused loosely so it never nuisance-trips.
- Battery inputsTwo XT60 connectors take the boat's 10S battery bus: one feed for the electronics, and one for the winch used in the later sample-collection stage. A 5 V buck regulator on the underside powers the Pi and both Picos.
- Battery monitors (INA228)Two INA228 chips with shunt resistors measure voltage and current on the electronics and winch feeds.
- Winch safety cut-offA P-channel MOSFET switches power to the winch controller and fails safe: if the control Pico resets or loses power, the winch is off. Kept on the board for the later sample-collection stage.
- Backup battery inputAn optional small 4S battery plugs in on the underside. If the main packs go off, it keeps the Pi, both Picos and the radios running.
Key
- 01Two Raspberry Pi Pico 2s The real-time controllers, socketed on the underside: one runs the motors, winch and RC, the other the sensors, GPS and the pod link. Only their header holes show here.
- 02Raspberry Pi 5 socket The Pi plugs in here, face down on standoffs. The header carries its 5 V power, a serial link to the control Pico and a reset line for each Pico.
- 03CAN link to motor controllers TJA1051 transceiver and a 3-pin connector to the two VESC motor controllers, plus a jumper for the 120 Ω terminator.
- 04I²C sensor multiplexer TCA9548A splits one I²C bus into 8 channels: IMU, accelerometer, barometer, light sensor, two humidity sensors, power monitors, GPS compass.
- 05Sensor-pod link (RS-485) THVD2410 transceiver and a 4-pin connector for the tether to the water-sensing pod. The same cable carries 15 V to power the pod.
- 06GPS connector 6-pin cable socket for the u-blox M10 GPS module: serial data plus the I²C lines of its built-in compass.
- 07RC receiver input (SBUS) 3-pin socket for the radio-control receiver, the manual override. Its 5 V supply is fused loosely so it never nuisance-trips.
- 08Battery inputs Two XT60 connectors take the boat's 10S battery bus: one feed for the electronics, and one for the winch used in the later sample-collection stage. A 5 V buck regulator on the underside powers the Pi and both Picos.
- 09Battery monitors (INA228) Two INA228 chips with shunt resistors measure voltage and current on the electronics and winch feeds.
- 10Winch safety cut-off A P-channel MOSFET switches power to the winch controller and fails safe: if the control Pico resets or loses power, the winch is off. Kept on the board for the later sample-collection stage.
- 11Backup battery input An optional small 4S battery plugs in on the underside. If the main packs go off, it keeps the Pi, both Picos and the radios running.
Two boards, one tether.
Both boards were laid out in KiCad and checked against their schematics. The pod board rides inside the sensor pod and talks to the carrier over an RS-485 tether.


Spin the board.
The real V3 carrier board, exported straight from our KiCad layout. Drag to rotate, scroll or pinch to zoom.
V3, line by line.
The design as it stands today. Modular by intent: the hull, payload and software are configured for each application, starting with surface water-quality surveys.
| Hull | Modular twin-hull catamaran In CADNew V3 hull, differential steering |
|---|---|
| Mission computer | Raspberry Pi 5Navigation, mission logic, data logging, cloud link |
| Real-time controllers | 2 × Raspberry Pi Pico 2One for motors, winch and RC; one for sensors, GPS and the pod |
| Drive | 2 × VESC motor controllers on CAN busTwo 10S Li-ion packs |
| Navigation | u-blox M10 GPS · BNO085 IMUPlus barometer, high-g accelerometer and light sensor |
| Depth | Fish-finder sonarReplaces the pod's pressure depth sensor |
| Sensor pod | Seeed XIAO ESP32-S3 on an RS-485 tetherpH, dissolved oxygen, TDS, turbidity and temperature, sampled at the surface |
| Telemetry | 4G LTELive map in the web dashboard |
| Manual control | SBUS RC receiverA hand-held radio can take over at any time |
| Power | One 10S battery busFused feeds for the drives, electronics and winch, plus an optional backup battery for the computers |
| Carrier board | 130.6 × 101.5 mm, 4 layers DesignedRev F, fully routed, 141 parts |
| Pod board | 48 × 63 mm, 2 layers DesignedRev B |
Vision-based obstacle detection, which we prototyped in V2, and lowering the pod on a winch for depth profiles. V3 samples at the surface and gets depth from sonar instead.
From measuring water to collecting it.
Further down the line, we want D.R.E.A.M.S to bring samples back, not just readings.

Cycloidal joint for the arm · CAD · in development
The plan is a robotic arm on deck that works with the winch to collect water samples and pull sediment from the bottom. Kyle has started on the arm: its joints are cycloidal gearboxes, sized with a gearbox simulator ↗.
It builds on V1, where Matthew designed a Van Veen grab sediment sampler, delivered with a full drawing package and bill of materials.
In our conversations with the Port of Oakland and the Charles River Watershed Association, we learned that their teams still collect sediment samples by sending divers down. An arm on an autonomous boat could do that job without anyone going in the water.
Run a simulated survey.
The V2 command center runs in your browser with a simulated boat. V3's dashboard will build on it.