
OBC PCB
timohueser/OpenBikeComputer
Open source Bikecomputer with a focus on exploration and adventure.

Overenginnered Solution for Float Electronics
Float pcb is an open-source printed circuit board by MATE-Leviathan, from the MATE-Leviathan/dory repository on GitHub. It is a 4-layer board with 79 parts on 63 nets, routed with 296 tracks and 67 vias.
It is built around the ESP32-S3-WROOM-1U-N4, ESDS314 and AO3400A, with the CPT-9019A-SMT-TR among its other parts. Its parts include 27 resistors, 14 capacitors, 8 connectors, 6 diodes and 3 ICs. It belongs with the ESP32 boards of this library.

A custom control and power distribution board for NCSSM Morganton Robotics.

This board started as a wiring problem.
On the robot, too many things were being connected with loose jumper wires, splitters, adapters, and one-off harnesses. It worked, but it was annoying to build, annoying to trace, and even more annoying to debug when something came loose. Every extra wire was another failure point, and every repair meant spending time figuring out which connection had moved instead of working on the robot.
Float PCB is meant to clean that up. It brings the common controller, power, sensor, light, and debug connections onto one board so the robot is easier to assemble, easier to service, and less dependent on fragile wiring.
The design went through several revisions while the board moved from a simple rectangular breakout toward the current round layout with cleaner connector placement, clearer labels, and more intentional branding.


BATT_ADC test point.The board is built around an ESP32-S3-WROOM-1U module and breaks out the useful robot-facing signals to keyed or serviceable connectors. The PCB is a 64 mm diameter, 4-layer circular board with front and back signal routing plus two internal power layers. Power enters through an XT30 connector, then the onboard regulators generate the rails needed by the controller and peripherals.
The intent is not to replace every subsystem on the robot. The goal is to provide a cleaner central board for the connections that otherwise turn into messy wiring: power, I2C devices, lights, switches, a buzzer, servo control, battery monitoring, and spare expansion lines.
The current plan is to use the onboard ESP32 as the robot-side controller and pair it with a separate ESP32-based base station. The base station will communicate with the ESP32 on the Float PCB, giving the robot a cleaner wireless control/debug path without needing to plug directly into the board every time.
An accompanying web interface is also planned. The site will be built with Svelte and use Web Serial so a laptop can talk to the ESP32 base station directly from the browser. The goal is to make setup, monitoring, and debugging accessible without requiring a custom desktop app.
float_pcb.kicad_pro — KiCad project file.float_pcb.kicad_sch — schematic source.float_pcb.kicad_pcb — PCB layout source.jlcpcb/production_files/ — generated BOM, CPL, and Gerber ZIP for JLCPCB.jlcpcb/gerber/ — expanded Gerber and drill outputs.float_pcb.csv — project BOM/export data.digikey/order.csv — DigiKey ordering file.images/ — README and board/team branding assets.The repository includes production outputs under jlcpcb/production_files/:
GERBER-float_pcb.zipBOM-float_pcb.csvCPL-float_pcb.csvBefore ordering, re-open the project in KiCad, refill zones, run DRC/ERC, and regenerate production files from the latest schematic and PCB layout. The checked-in files are useful for handoff, but the KiCad sources should be treated as the source of truth.
For component ordering, use digikey/order.csv as the DigiKey order file.
Built for NCSSM Morganton Robotics as a practical fix for too much robot wiring.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 8 | 10k | Resistor_SMD:R_0603_1608Metric | R1, R4, R5, R23, R24, R25, R26, R27 |
| 5 | 4k7 | Resistor_SMD:R_0603_1608Metric | R2, R15, R16, R21, R22 |
| 4 | 100n | Capacitor_SMD:C_0603_1608Metric | C5, C6, C7, C9 |
| 3 | ESDS314 | Package_TO_SOT_SMD:SOT-23-5 | D4, D5, D6 |
| 3 | LOGO | LOGO | G***, G***, G*** |
| 3 | MH | MountingHole:MountingHole_2.2mm_M2 | H1, H2, H3 |
| 2 | 100k | Resistor_SMD:R_0603_1608Metric | R6, R8 |
| 2 | 10u | Capacitor_SMD:C_0805_2012Metric | C2, C3 |
| 2 | 1k | Resistor_SMD:R_0603_1608Metric | R17, R20 |
| 2 | 220k | Resistor_SMD:R_0603_1608Metric | R7, R13 |
| 2 | 22p | Capacitor_SMD:C_0603_1608Metric | C10, C11 |
| 2 | 30k | Resistor_SMD:R_0603_1608Metric | R12, R14 |
| 2 | 33u | Capacitor_SMD:C_1206_3216Metric | C12, C13 |
| 2 | 5k1 | Resistor_SMD:R_0603_1608Metric | R9, R10 |
| 2 | I2C | Connector_JST:JST_XH_B4B-XH-A_1x04_P2.50mm_Vertical | J4, J5 |
| 2 | SW_Push | Button_Switch_SMD:SW_SPST_TL3342 | BOOT1, ENABLE1 |
| 2 | TPSM863252 | float_pcb_footprints:TPSM86325x_RDX0007A | U2, U3 |
| 1 | 0 | Resistor_SMD:R_0603_1608Metric | R19 |
| 1 | 10n | Capacitor_SMD:C_0603_1608Metric | C8 |
| 1 | 135k | Resistor_SMD:R_0603_1608Metric | R11 |
| 1 | 1u | Capacitor_SMD:C_0603_1608Metric | C1 |
| 1 | 22u | Capacitor_SMD:C_0603_1608Metric | C4 |
| 1 | 28k7 | Resistor_SMD:R_0603_1608Metric | R3 |
| 1 | 2k2 | Resistor_SMD:R_0603_1608Metric | R18 |
| 1 | 3V3 | LED_SMD:LED_0603_1608Metric | D2 |
| 1 | 3V3 | TestPoint:TestPoint_Pad_D1.5mm | TP11 |
| 1 | 470u | Capacitor_THT:CP_Radial_D6.3mm_P2.50mm | C14 |
| 1 | 5V | LED_SMD:LED_0603_1608Metric | D3 |
| 1 | 5V | TestPoint:TestPoint_Pad_D1.5mm | TP8 |
| 1 | AO3400A | Package_TO_SOT_SMD:SOT-23 | Q1 |
| 1 | BATT | LED_SMD:LED_0603_1608Metric | D1 |
| 1 | BATT | TestPoint:TestPoint_Pad_D1.5mm | TP2 |
| 1 | BATT_ADC | TestPoint:TestPoint_Pad_D1.5mm | TP5 |
| 1 | BOOT | TestPoint:TestPoint_Pad_D1.5mm | TP4 |
| 1 | Batt | Connector_AMASS:AMASS_XT30U-M_1x02_P5.0mm_Vertical | J1 |
| 1 | CPT-9019A-SMT-TR | buzzer:CPT-9019A_CUD | LS1 |
| 1 | Conn_01x03 | Connector_JST:JST_XH_B3B-XH-A_1x03_P2.50mm_Vertical | J6 |
| 1 | Conn_01x05 | Connector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_Vertical | J7 |
| 1 | EN | TestPoint:TestPoint_Pad_D1.5mm | TP3 |
| 1 | ESP32-S3-WROOM-1U | RF_Module:ESP32-S3-WROOM-1U | U1 |
| 1 | GND | TestPoint:TestPoint_Pad_D1.5mm | TP1 |
| 1 | Light | Connector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | J8 |
| 1 | SCL1 | TestPoint:TestPoint_Pad_D1.5mm | TP6 |
| 1 | SCL2 | TestPoint:TestPoint_Pad_D1.5mm | TP9 |
| 1 | SDA1 | TestPoint:TestPoint_Pad_D1.5mm | TP7 |
| 1 | SDA2 | TestPoint:TestPoint_Pad_D1.5mm | TP10 |
| 1 | Switch | Connector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | J2 |
| 1 | USB_C | Connector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_Horizontal | J3 |
79 parts, built around the ESP32-S3-WROOM-1U-N4, ESDS314, AO3400A and CPT-9019A-SMT-TR. 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 MATE-Leviathan/dory repository on GitHub, at the commit this page was made from: the board is float_pcb.kicad_pcb and its schematic float_pcb.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask MATE-Leviathan before reusing the design.

timohueser/OpenBikeComputer
Open source Bikecomputer with a focus on exploration and adventure.

soldernerd/InclinationMeter
A battery-powered, Bluetooth-enabled precision electronic level instrument for machine tool geometry inspection and granite surface plate qualification.

Dschadu/Geistwerk-BigCore
An ESP32-based open hardware control board designed for Bottango-powered animatronic and motion projects.





alexew0923/Smartwatch
A custom smartwatch built with 1.28 inch round TFT touchscreen display and ESP32