Skip to the content
PCBKitNew board
2 layers60.5 × 91.5 mmKicad sailframes e1, the printed circuit board in 3D

Kicad sailframes e1

FForzano/xgsail-e11

Open-hardware ESP32 sailing tracker (E1): GNSS/IMU/wind/pressure logging, ESP-NOW mesh for live fleet position + race-start detection, BLE/WiFi upload. Firmware, KiCad PCB, and a published TypeScript client SDK.

Size
60.5 × 91.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
21
Nets
43
Pads
107
Tracks, vias
271, 17
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
23 Jul 2026
Updated
24 Jul 2026

Overview

Kicad sailframes e1 is an open-source printed circuit board by FForzano, from the FForzano/xgsail-e1 repository on GitHub, published under the Apache-2.0 licence. It is a 2-layer board of 60.5 × 91.5 mm with 21 parts on 43 nets, routed with 271 tracks and 17 vias.

Its parts include 10 connectors, 4 resistors, 2 ICs and 1 switch. It belongs with the radio and wireless and home automation and IoT boards and the ESP32 boards of this library.

README

README.md

XGSail-E1

License

E1 device firmware and hardware for XGSail — an ESP32 sailboat tracker: GNSS + IMU + wind + pressure logging, an ESP-NOW peer mesh for live fleet position sharing and on-course-side (OCS) race-start detection, and uploads over the XGSail device protocol — direct over WiFi, or relayed over BLE by the owner's phone when WiFi isn't available.

xgsail-e1 is derived from sailframes/core, the upstream hardware/ firmware project. It is not a GitHub fork of that repository (see "Relationship to SailFrames Core" below for why, and where this content actually came from) — it's a from-scratch export of the E1 device's firmware and hardware, reorganized into per-responsibility modules and stripped down to E1 only.

What xgsail-e1 Is

xgsail-e1 is the firmware and PCB design for one specific device: E1, an ESP32-based fleet tracker.

It provides:

  • Firmware (firmware/sailframes_edge/) — GNSS/IMU/wind/pressure sensor reads, SD-card session logging, an ESP-NOW peer mesh with on-course-side (OCS) race-start detection, the XGSail device-protocol claim/upload flow (direct over WiFi and a BLE GATT relay for when WiFi isn't available), and a serial/telnet console.
  • Hardware (hardware/) — the KiCad 8+ schematic, PCB layout, Gerbers, and BOM for the E1 board.
  • Documentation (docs/) — the firmware's internal architecture, GNSS/RTK configuration and PPK post-processing workflow, and the current battery/ display/power hardware.

The device talks to the XGSail backend through the hardware-agnostic ingestion contract documented in xgsail's docs/device-protocol.md (device claim, DeviceKey auth, presigned session uploads, and the BLE relay contract for WiFi-less operation) — this repo implements that contract, it doesn't redefine it.

What xgsail-e1 Is Not

xgsail-e1 is not the software platform — users, roles, clubs, the ingestion API, analytics, or the web/native apps. That's XGSail.

It is also not the general SailFrames Core hardware project: other device families from that upstream (a Raspberry-Pi-based "Edge-S" unit, a sealed-enclosure successor board, and a standalone BLE wind-sensor accessory) are out of scope here on purpose — this repository is E1 only.

Relationship to SailFrames Core

XGSail's own xgsail repository is itself a GitHub-level fork of sailframes/core, the upstream hardware+software monorepo — before its software layer was redesigned into what is now XGSail, that repository's history contained edge-e/ (the E1 device: this firmware + hardware), edge-b/ (a later, different hardware platform), and edge-s/ (the Raspberry-Pi device), alongside the cloud-side code that became XGSail's backend/frontend/workers.

xgsail-e1 is an export of edge-e/ from that history: the firmware and hardware for E1 specifically, with the other device families and the now-superseded cloud-side code left out, and the firmware's #ifdefs for the non-E1 hardware variant removed rather than carried forward as dead code. It is not a git fork of sailframes/core (GitHub only allows one fork per repo per account, and that slot is already used by xgsail) — its origin is recorded here in docs/firmware-architecture.md and this README instead of in GitHub's fork metadata.

License: Apache 2.0, same as upstream and same as xgsail — no relicensing.

Display

3.5" TFT dashboard, three nav layouts cycled live (console or BLE), plus two race-committee-only panels for fleet OCS detection:

D2 nav display RC in-race OCS panel
D2 — nav + wind (default)  ·  RC panel — live OCS per boat

See docs/hardware.md's Display section for all three nav modes and both RC panels.

Quick start

Firmware

bash
cd firmware/sailframes_edge
# Open in Arduino IDE, or build with PlatformIO

See firmware/README.md for board settings, library dependencies, pin assignments, SD card setup, and the full serial/telnet console command reference.

Hardware (KiCad)

bash
cd hardware
kicad kicad_sailframes-e1.kicad_pro

Repository layout

firmware/sailframes_edge/ (main sketch, one file/pair per responsibility — see CLAUDE.md for the full module map) · firmware/{e1_sd_card,i2c_scan,sailframes_e1_diag}/ (sample SD contents and standalone bring-up sketches) · hardware/ (KiCad project + fab outputs) · docs/{firmware-architecture,gnss-rtk,hardware}.md.

License

Apache 2.0.

Parts

21
QtyValueFootprintReferences
6Conn_01x04Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ2, J4, J5, J6, J7, J8
4MountingHole_2.7mm_M2.5MountingHole:MountingHole_2.7mm_M2.5H1, H2, H3, H4
2100KResistor_SMD:R_0805_2012MetricR1, R2
24.7KResistor_SMD:R_0805_2012MetricR3, R4
1Conn_01x02Connector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_HorizontalJ10
1Conn_01x06Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ9
1Conn_01x06Paul_Library:SD_CARDJ1
1Conn_01x10Connector_PinHeader_2.54mm:PinHeader_1x10_P2.54mm_VerticalJ3
1Hosyond_3.5_ST7796UConnector_PinHeader_2.54mm:PinHeader_1x14_P2.54mm_VerticalU2
1SW_SPDTe1_Library:SW_Slide_SS12D10-G5_v3_SAILFRAMESSW1
1~ESP32-footprints-Lib:ESP32DEVIKITV1U1

Questions

How big is the Kicad sailframes e1 PCB?

It measures 60.5 × 91.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Kicad sailframes e1 use?

21 parts. 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 Kicad sailframes e1 KiCad files?

From the FForzano/xgsail-e1 repository on GitHub, at the commit this page was made from: the board is hardware/kicad_sailframes-e1.kicad_pcb and its schematic hardware/kicad_sailframes-e1.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Kicad sailframes e1 design in my own project?

Its repository publishes it under the Apache-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers28.3 × 39.8 mmLevelShifter, the printed circuit board in 3D

    LevelShifter

    gusmanb/logicanalyzer

    24 channel, 100Msps logic analyzer hardware and software

    21 parts5.1kGPL-3.0
  • 2 layers171.2 × 72.9 mmAmiga gfxcard before pour, the printed circuit board in 3D

    Amiga gfxcard before pour

    mntmn/amiga2000-gfxcard

    MNT VA2000, an Open Source Amiga 2/3/4000 Graphics Card (Zorro II/III), written in Verilog

    21 parts1k
  • 2 layers93.9 × 46 mmRectifier, the printed circuit board in 3D

    Rectifier

    rene-dev/stmbl

    AC Servo Driver for STM32F4

    21 parts990GPL-3.0
  • 2 layers45.5 × 42.9 mmEsphome han reader, the printed circuit board in 3D

    Esphome han reader

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    21 parts915
  • 2 layers31.8 × 14.5 mmEsp prog, the printed circuit board in 3D

    Esp prog

    drandyhaas/KiCadRoutingTools

    A set of Python/Rust tools to aid routing in KiCad

    21 parts744MIT
  • 2 layers23.5 × 15.8 mmQuiverAttachPCB, the printed circuit board in 3D

    QuiverAttachPCB

    Arrow-air/project-quiver

    Project Quiver documentation, designs, and project artifacts.

    21 parts617CERN-OHL-S-2.0
  • 2 layers69.9 × 41.3 mmHeaterMeterLCD, the printed circuit board in 3D

    HeaterMeterLCD

    CapnBry/HeaterMeter

    HeaterMeter and LinkMeter Arduino BBQ Controller

    21 parts557MIT
  • 2 layers161.3 × 111.8 mmDoj, the printed circuit board in 3D

    Doj

    kelu124/echomods

    Open source ultrasound processing modules and building blocks

    21 parts463