
LevelShifter
gusmanb/logicanalyzer
24 channel, 100Msps logic analyzer hardware and software

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.
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.
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.
xgsail-e1 is the firmware and PCB design for one specific device: E1, an ESP32-based fleet tracker.
It provides:
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/) — the KiCad 8+ schematic, PCB layout, Gerbers,
and BOM for the E1 board.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.
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.
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.
3.5" TFT dashboard, three nav layouts cycled live (console or BLE), plus two race-committee-only panels for fleet OCS detection:
See docs/hardware.md's Display section for all three nav modes and
both RC panels.
cd firmware/sailframes_edge
# Open in Arduino IDE, or build with PlatformIOSee firmware/README.md for board settings, library dependencies, pin
assignments, SD card setup, and the full serial/telnet console command
reference.
cd hardware
kicad kicad_sailframes-e1.kicad_profirmware/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.
Apache 2.0.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 6 | Conn_01x04 | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J2, J4, J5, J6, J7, J8 |
| 4 | MountingHole_2.7mm_M2.5 | MountingHole:MountingHole_2.7mm_M2.5 | H1, H2, H3, H4 |
| 2 | 100K | Resistor_SMD:R_0805_2012Metric | R1, R2 |
| 2 | 4.7K | Resistor_SMD:R_0805_2012Metric | R3, R4 |
| 1 | Conn_01x02 | Connector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_Horizontal | J10 |
| 1 | Conn_01x06 | Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_Vertical | J9 |
| 1 | Conn_01x06 | Paul_Library:SD_CARD | J1 |
| 1 | Conn_01x10 | Connector_PinHeader_2.54mm:PinHeader_1x10_P2.54mm_Vertical | J3 |
| 1 | Hosyond_3.5_ST7796U | Connector_PinHeader_2.54mm:PinHeader_1x14_P2.54mm_Vertical | U2 |
| 1 | SW_SPDT | e1_Library:SW_Slide_SS12D10-G5_v3_SAILFRAMES | SW1 |
| 1 | ~ | ESP32-footprints-Lib:ESP32DEVIKITV1 | U1 |
It measures 60.5 × 91.5 mm and has 2 copper layers, 1.6 mm thick.
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.
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.
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).

gusmanb/logicanalyzer
24 channel, 100Msps logic analyzer hardware and software

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


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

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

Arrow-air/project-quiver
Project Quiver documentation, designs, and project artifacts.

