Skip to the content
4 layers122.1 × 95.5 mmBoat PCB V3, the printed circuit board in 3D

Boat PCB V3

ka1e27/dreams

Autonomous survey catamaran: CV-based obstacle avoidance, environmental sensing, and cellular telemetry to a web dashboard.

Size
122.1 × 95.5 mm
Copper layers
4
Thickness
1.6 mm
Parts
140
Nets
169
Pads
540
Tracks, vias
1,268, 142
Pours
16
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
8 Apr 2026
Updated
5 Nov 2026

Overview

Boat PCB V3 is an open-source printed circuit board by ka1e27, from the ka1e27/dreams repository on GitHub. It is a 4-layer board of 122.1 × 95.5 mm with 140 parts on 169 nets, routed with 1,268 tracks and 142 vias.

It is built around the 74AHCT1G125SE, THVD2410D and BH1750FVI-TR, with the BNO085, BSS138 and B360B among its other parts. Its parts include 51 resistors, 25 capacitors, 16 connectors, 13 ICs and 12 diodes. It belongs with the RP2040 boards of this library.

Main components

11

README

README.md

D.R.E.A.M.S

Autonomous survey catamaran: CV-based obstacle avoidance, environmental sensing, and cellular telemetry to a web dashboard.

Website: https://ka1e27.github.io/dreams/ (the boat, the build log and weekly updates). Its source is in website/. Instagram: @dreams.boat.project.

Status: V3, starting from scratch

V3 is a ground-up rebuild on new hardware. The carrier PCB is designed and fully routed. None of the software has been written yet. This repo is the clean base it will be written on.

The V2 boat is archived, not deleted. The whole V2 stack is frozen at the tag v2-final: RP2040 firmware, the Pi 5 navigation and CV code, the dashboards, the cloud pipeline, and the V2 board with its docs.

Start with docs/v3/V3_DESIGN_BRIEF.md for the locked decisions, the current budget, part choices with their reasons, and the layout traps the first attempt hit.

The boards

BoardFolderWhat it is
V3 carrier (rev F)Boat_PCB/Boat_PCB_V3/The main board: Pi 5 and two Pico 2s, running from 10S Li-ion. 122.1 × 95.5 mm, 4 layers (JLC04161H-7628, 1 oz outer / 0.5 oz inner, ENIG), 140 footprints, fully routed
V3.1 starter carrier (2026-10-10)Boat_PCB/Boat_PCB_V3_1/An interim board to get the boat moving before the full carrier. It keeps the Pi 5 and the 5 V buck, uses one Raspberry Pi Pico 2 instead of the full board's two, and runs from one 10S Li-ion pack. CAN chain for the VESCs, RC input, GPS, an on-board SHT41, a Qwiic port for the TMP119, hull leak probes, ESC headers and the pod tether, on a 98 × 67 mm 2-layer board. See docs/v3/V3_1_STARTER_CARRIER.md
PodBoat_PCB/Pod_PCB_V3/A Seeed XIAO ESP32-S3 on its own board, on the winch tether
Shared libraryBoat_PCB/lib/The dreams_v3 KiCad library all three boards use

Power on the V3 carrier (rev F): two 10S 10 Ah Li-ion packs in parallel make one 10S bus.

  • Drive: the 10S bus straight to the VESCs, off-board; the carrier only senses its voltage.
  • Electronics: 10S → 5 V buck → Pi and both Picos. An optional 4S backup on J18 keeps that 5 V side up while the 10S bus is off. A 15 V regulator (U15) feeds the stepper driver and the pod.
  • Winch: 10S → P-FET kill → ESC.

Pack fusing is off-board. On the board, PTCs guard the pod feed (F1) and the LED and SBUS 5 V outputs (F2, F3).

Architecture

text
Raspberry Pi 5 ─ navigation, mission logic, CV, cloud link        Python (not yet written)
  │ UART on the GPIO header to Pico A, plus a reset line to each Pico
  ├─ Pico A (Pico 2) ─ control                                    C++ (not yet written)
  │    ├─ CAN via TJA1051T/3 ─► VESC ×2 (node IDs 1, 2) for drive, on the PIO (can2040)
  │    ├─ UART ─────────────► SBUS RC receiver
  │    ├─ PWM ──────────────► winch ESC, behind a fail-safe-OFF high-side P-FET kill
  │    ├─ STEP/DIR ─────────► A4988 radar-bar stepper
  │    └─ GPIO / ADC ───────► WS2812 status LED · hull leak L/R · 10S pack divider
  └─ Pico B (Pico 2) ─ sensors                                    C++ (not yet written)
       ├─ I²C via TCA9548A ─► SHT45 ×2, BNO085, ADXL375, BH1750, INA228 ×2
       └─ UART ─────────────► GPS (M10-25Q) · pod tether (RS-485)
  • The Picos sit in sockets under the carrier, with a UART link between them. They replaced the Teensy 4.1 in rev E (2026-10-13).
  • The Pi talks to Pico A over a UART on its GPIO header, and Pico B reaches the Pi through Pico A. So USB cables are optional: without them the Pi's USB ports stay free for cameras and the modem; with them, either Pico can be flashed or run its link over USB instead.
  • The pod tether carries one RS-485 pair and 15 V; the pod makes its own 5 V.

Repo layout

text
Boat_PCB/Boat_PCB_V3/     KiCad 10 project: schematic and layout of the V3 carrier
Boat_PCB/Pod_PCB_V3/      the pod board (XIAO ESP32-S3 on the winch tether)
Boat_PCB/Boat_PCB_V3_1/   V3.1 starter carrier: Pi 5 + one Pico 2, an interim board
Boat_PCB/lib/             the dreams_v3 KiCad library all three boards share
Boat_PCB/CLAUDE.md        board baselines, layout constraints, ordering
docs/v3/                  design brief, planning record, BOM, V3.1 notes
website/                  the public site
CLAUDE.md                 working notes for Claude Code

Checking a board

Open the project in KiCad 10, or check it from the command line:

bash
kicad-cli sch erc --severity-all Boat_PCB/Boat_PCB_V3/Boat_PCB_V3.kicad_sch
kicad-cli pcb drc --severity-all --schematic-parity Boat_PCB/Boat_PCB_V3/Boat_PCB_V3.kicad_pcb

Each board's current numbers, and the layout rules to keep, are in Boat_PCB/CLAUDE.md.

What changed from V2

V2 (v2-final)V3
Boat MCURP2040 Pico, MicroPythonTwo Pico 2s (RP2350), C++, a new pin map
DriveDirect servo PWM to AM32/BLHeli ESCsVESCs as CAN nodes via TJA1051
PacksMilwaukee M18Two 10S 10 Ah Li-ion in parallel, one bus; optional 4S backup for the 5 V side
PodRP2040 PicoXIAO ESP32-S3 on its own board
SensorsSHT41 ×2, BNO085SHT45 ×2, BNO085, ADXL375, BH1750, INA228 ×2, behind a mux

V3 contradicts V2 on purpose. Don't try to reconcile the two. See docs/v3/README.md for the full table.

Sponsors

PCBWay

PCBWay sponsors the project's circuit boards.

Parts

140
QtyValueFootprintReferences
194.7k 1%dreams_v3:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR10, R15, R16, R17, R18, R21, R22, R23, R24, R25, R26, R27, R28, R29, R30, R31 +3
16100nF 50V X7Rdreams_v3:C_Disc_D5.0mm_W2.5mm_P5.00mmC4, C9, C11, C12, C13, C14, C15, C16, C17, C18, C20, C21, C22, C31, C32, C34
910k 1%dreams_v3:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR34, R35, R38, R39, R40, R42, R43, R44, R55
61k 1%dreams_v3:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR46, R47, R48, R49, R50, R53
5100k 1%dreams_v3:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR54, R56, R57, R64, R65
4MountingHoledreams_v3:MountingHole_3.2mm_M3MH1, MH2, MH3, MH4
3100uF 63Vdreams_v3:CP_Radial_D10.0mm_P5.00mmC1, C2, C26
3BSS138dreams_v3:SOT-23Q2, Q3, Q4
2120R 1%dreams_v3:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR61, R63
21k 1%dreams_v3:R_Axial_DIN0207_L6.3mm_D2.5mm_P2.54mm_VerticalR66, R67
222pF 50V C0Gdreams_v3:C_Disc_D3.0mm_W1.6mm_P2.50mmC28, C29
2B360Bdreams_v3:D_SMBD12, D13
2B5819Wdreams_v3:D_SOD-123D10, D11
2GNDdreams_v3:TestPoint_Keystone_5000-5004_MiniatureTP1, TP2
2Raspberry Pi Pico 2dreams_v3:RaspberryPi_Pico_Socketed_THTU1, U14
2SMBJ43Adreams_v3:D_SMBD3, D4
1+3V3dreams_v3:TestPoint_Keystone_5000-5004_MiniatureTP4
1+5Vdreams_v3:TestPoint_Keystone_5000-5004_MiniatureTP3
11.5k 1%dreams_v3:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR58
110S pack tap (JST-VH)dreams_v3:JST_VH_B2P-VH_1x02_P3.96mm_VerticalJ11
110mR 1%dreams_v3:R_Shunt_Vishay_WSK2512_6332Metric_T1.19mmR32
110uF 25V X7Rdreams_v3:C_Disc_D5.0mm_W2.5mm_P5.00mmC24
113k 1%dreams_v3:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR8
11N5245B 15Vdreams_v3:D_DO-35_SOD27_P7.62mm_HorizontalD2
11uF 50V X7Rdreams_v3:C_Disc_D5.0mm_W2.5mm_P5.00mmC33
1220k 1%dreams_v3:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR7
122k 1%dreams_v3:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR60
12mR 1%dreams_v3:R_Shunt_Vishay_WSK2512_6332Metric_T1.19mmR33
132.768kHz CL=12.5pF 50ppmdreams_v3:Crystal_SMD_3215-2Pin_3.2x1.5mmY1
1330R 1%dreams_v3:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR45
1470uF 16V low-ESR 105Cdreams_v3:CP_Radial_D8.0mm_P3.50mmC30
1470uF 35Vdreams_v3:CP_Radial_D10.0mm_P5.00mmC25
14S backup (JST-VH)dreams_v3:JST_VH_B2P-VH_1x02_P3.96mm_VerticalJ18
1680R 1%dreams_v3:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR59
174AHCT1G125dreams_v3:SOT-23-5U12
1A4988 radar stepperdreams_v3:Pololu_Breakout-16_15.2x20.3mmA1
1ADXL375dreams_v3:LGA-14_3x5mm_P0.8mm_LayoutBorder1x6yU5
1BH1750FVI-TRdreams_v3:XDCR_BH1750FVI-TRU7
1BNO085dreams_v3:LGA-28_5.2x3.8mm_P0.5mmU4
1CAN TERMdreams_v3:PinHeader_1x02_P2.54mm_VerticalJP1
1CAN stub to VESCsdreams_v3:JST_XH_B3B-XH-A_1x03_P2.50mm_VerticalJ3
1GPS M10-25Qdreams_v3:JST_XH_B6B-XH-A_1x06_P2.50mm_VerticalJ1
1Hull leak leftdreams_v3:JST_XH_B2B-XH-A_1x02_P2.50mm_VerticalJ8
1Hull leak rightdreams_v3:JST_XH_B2B-XH-A_1x02_P2.50mm_VerticalJ9
1INA228 electronicsdreams_v3:MSOP-10_3x3mm_P0.5mmU10
1INA228 winchdreams_v3:MSOP-10_3x3mm_P0.5mmU11
1NUP2105Ldreams_v3:SOT-23D6
1PICO A RESETdreams_v3:SW_PUSH_6mmSW1
1PICO B RESETdreams_v3:SW_PUSH_6mmSW2
1PTC 0.40A holddreams_v3:Fuse_BelFuse_0ZRE0075FF_L11.5mm_W4.8mmF1
1PTC 0.75A holddreams_v3:Fuse_BelFuse_0ZRE0075FF_L11.5mm_W4.8mmF3
1PTC 1.25A holddreams_v3:Fuse_BelFuse_0ZRE0125FF_L21.2mm_W5.3mmF2
1Pod tetherdreams_v3:JST_XH_B4B-XH-A_1x04_P2.50mm_VerticalJ2
1Pololu D36V50F5 5V 5.5Adreams_v3:Pololu_D36V50F5A2
1Pololu D36V6F15 15V 600mAdreams_v3:Pololu_D36V6F5U15
1Radar stepper motordreams_v3:JST_XH_B4B-XH-A_1x04_P2.50mm_VerticalJ5
1Raspberry Pi 5 GPIOdreams_v3:RaspberryPi_5_GPIO_Socket_2x20J12
1SBUS RC receiverdreams_v3:JST_XH_B3B-XH-A_1x03_P2.50mm_VerticalJ7
1SCLdreams_v3:TestPoint_Keystone_5000-5004_MiniatureTP6
1SDAdreams_v3:TestPoint_Keystone_5000-5004_MiniatureTP5
1SHT45 externaldreams_v3:JST_XH_B4B-XH-A_1x04_P2.50mm_VerticalJ4
1SHT45 internaldreams_v3:Sensirion_DFN-4_1.5x1.5mm_P0.8mm_SHT4x_NoCentralPadU8
1SMBJ5.0Adreams_v3:D_SMBD5
1SUP90P06-09Ldreams_v3:TO-220-3_VerticalQ1
1Status LEDdreams_v3:JST_XH_B3B-XH-A_1x03_P2.50mm_VerticalJ6
1TCA9548A I2C muxdreams_v3:TSSOP-24_4.4x7.8mm_P0.65mmU2
1THVD2410dreams_v3:SOIC-8_3.9x4.9mm_P1.27mmU13
1TJA1051T/3 CAN xcvrdreams_v3:SOIC-8_3.9x4.9mm_P1.27mmU3
1Winch ESCdreams_v3:JST_XH_B2B-XH-A_1x02_P2.50mm_VerticalJ10
1XT60 10S ELECTRONICSdreams_v3:AMASS_XT60-M_1x02_P7.20mm_VerticalJ13
1XT60 10S WINCHdreams_v3:AMASS_XT60-M_1x02_P7.20mm_VerticalJ14
1XT60-F WINCH ESC OUT (female)dreams_v3:AMASS_XT60-F_1x02_P7.20mm_VerticalJ16
1green +3V3dreams_v3:LED_D3.0mmD8
1green +5Vdreams_v3:LED_D3.0mmD7
1red WINCH ONdreams_v3:LED_D3.0mmD9

More from ka1e27/dreams

2
  • 2 layers98 × 67 mmBoat PCB V3 1, the printed circuit board in 3D

    Boat PCB V3 1

    ka1e27/dreams

    Autonomous survey catamaran: CV-based obstacle avoidance, environmental sensing, and cellular telemetry to a web dashboard.

    75 parts
  • 2 layers48 × 63 mmPod PCB V3, the printed circuit board in 3D

    Pod PCB V3

    ka1e27/dreams

    Autonomous survey catamaran: CV-based obstacle avoidance, environmental sensing, and cellular telemetry to a web dashboard.

    54 parts

Similar boards

  • 4 layers50 × 50 mmLFX FC R2, the printed circuit board in 3D

    LFX FC R2

    nguyencanhanh/luckfox-rv1103-drone

    AI quadcopter on one RV1103 (Luckfox Pico Mini B): Linux + RISC-V MCU flight loop, SITL with 3D pilot view, KiCad flight-controller board

    142 partsMIT
  • 4 layers90 × 60 mmBoard a, the printed circuit board in 3D

    Board a

    ruckusmattster/xtm-led-driver

    A HDR LED driver with ESPHome integration focused on driving a 36V 1.4A LED

    206 partsMIT
  • 4 layers100 × 100 mmMotorControllerPowerBoard, the printed circuit board in 3D

    MotorControllerPowerBoard

    HEEV/motor-controller-2018

    Sam Ellicott's and Isaac Jones's motor controller senior design project. Fall 2018-Spring 2019

    134 parts4
  • 4 layers100 × 100 mmT41-main board V012, the printed circuit board in 3D

    T41-main board V012

    K0RGI/T41-K9HZ

    This is the repository for the officially released V10, V11, and V12 versions of the T41 Software Defined Transceiver hardware and kits.

    102 parts1GPL-3.0
  • 2 layers99.6 × 99.6 mmValhalla MOD PSU, the printed circuit board in 3D

    Valhalla MOD PSU

    csdexter/valhalla

    Version-controlled material related to the Valhalla project

    55 partsGPL-3.0
  • 2 layers56 × 28.1 mmLuminography, the printed circuit board in 3D

    Luminography

    ayuusweetfish/Luminography

    (🚧 ETA 2024.09) « Jeu de luminographie » — An electronic toy encouraging outdoor exploration

    145 parts
  • 4 layers70 × 92 mmPanelized watch, the printed circuit board in 3D

    Panelized watch

    HolTyc/STM32_watch_NFC

    Watch using STM32 with LED 7-segment display and RGB display

    314 parts1

Questions

How big is the Boat PCB V3 PCB?

It measures 122.1 × 95.5 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Boat PCB V3 use?

140 parts, built around the 74AHCT1G125SE, THVD2410D, BH1750FVI-TR and BNO085. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Boat PCB V3 KiCad files?

From the ka1e27/dreams repository on GitHub, at the commit this page was made from: the board is Boat_PCB/Boat_PCB_V3/Boat_PCB_V3.kicad_pcb and its schematic Boat_PCB/Boat_PCB_V3/Boat_PCB_V3.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Boat PCB V3 design in my own project?

Its repository states no licence, so its author keeps all rights: ask ka1e27 before reusing the design.