Skip to the content
6 layers56 × 85 mmSunSproutHub, the printed circuit board in 3D

An esp32-c5 powered board that adds dual source battery charging, fuel management, and differential i2c bus. This was largely developed to be a complement with my other soil sensor project.

Size
56 × 85 mm
Copper layers
6
Thickness
1.6 mm
Parts
142
Nets
98
Pads
440
Tracks, vias
1,040, 185
Pours
460
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
13 Sep 2026
Updated
5 Nov 2026

Overview

SunSproutHub is an open-source printed circuit board by JohnNeville, from the JohnNeville/SunSprout repository on GitHub, published under the CERN-OHL-S-2.0 licence. It is a 6-layer board of 56 × 85 mm with 142 parts on 98 nets, routed with 1,040 tracks and 185 vias.

It is built around the ESP32-C5-WROOM-1U-N8R8-V1.2, PCA9615DPZ and TPS631000DRL, with the BQ25798RQMR, BQ34Z100PWR-G1 and CL05B104KB54PNC among its other parts. Its parts include 40 capacitors, 30 resistors, 11 connectors, 7 transistors and 6 ICs. It belongs with the power boards and the ESP32 and RISC-V boards of this library.

Main components

12

README

hardware/hub/README.md

SunSproutHub — KiCad project

The hub board's KiCad 10 project. Open SunSproutHub.kicad_pro.

For the design reasoning behind each IC and its passives, see docs/hub/modules/.

Layout

PathContents
SunSproutHub.kicad_schRoot/hierarchical top sheet
sheets/Hierarchical sub-sheets (charger, fuel gauge, regulator, user I2C)
SunSproutHub.kicad_pcbBoard layout, hand-routed
SunSproutHub.kicad_druCustom design rules
../libraries/Project-specific and vendored symbol/footprint libraries (shared with Satellite)
spice_models/ngspice decks used to verify the reverse-polarity FETs

Board revisions

The revision is set by the REV_NUM text variable in SunSproutHub.kicad_pro, which the silkscreen prints alongside the commit hash. Change the title block revision in the PCB to match.

ChangeBumpExample
Fixes and part changes that keep the same ICs and board dimensionsMinor1.0 → 1.1
A change that replaces the main ICs or changes the board dimensionsMajor1.x → 2.0

All Rev 1.x boards share the same outline, mounting holes and connector positions, so the documentation refers to them as Rev 1.x. Rev 1.0 is the first prototype, built from commit 1645733.

What you can do without any extra setup

KiCad writes the full geometry of every symbol and footprint directly into the .kicad_sch and .kicad_pcb files at placement time. The schematic and the board are therefore self-contained. After cloning you can open both, run ERC and DRC, inspect every part, and export gerbers and a pick-and-place file, with no libraries beyond the ones KiCad ships with.

External library dependencies

3D models are not external. The board file carries an embedded copy of every 3D model (KiCad's "Collect and Embed 3D Models"), so the board renders completely with nothing installed.

Footprints are mostly in-repo too. Three library entries still resolve outside it, and they are only consulted when you update a footprint from its library — not to open, review, render, or fabricate the board, because the geometry is already in the board file.

LibraryResolves viaParts
SnapedaKICAD_3RD_PARTYJ201, J202, U3, U8, U4, U5, U201, D5, U202, Q301-Q304
PCM_JLCPCBPCM package (CDFER, MIT)The 0402 capacitors
PCM_SparkFun-ConnectorPCM packageThe test points
PCM_Capacitor_SMD_AKLPCM packageC17 only, which is DNP and not fitted

If KiCad reports these as missing, the board is still correct. To silence the warnings, install the matching PCM packages and point KICAD_3RD_PARTY at your own third-party library directory, or remove the unused entries from fp-lib-table.

The USBC1 USB-C footprint and the CN5 screw terminal are project footprints, in ../libraries/footprints/project.pretty/. The Espressif module's footprint and 3D model are vendored under ../libraries/vendor/.

A note on licensing

Every library this design still depends on has stated terms: SnapEDA is CC BY-SA 4.0 with the Design Exception 1.0, CDFER's library is MIT, and Espressif's is CC BY-SA 4.0. All three are credited in NOTICE.md. Earlier revisions used EasyEDA/LCSC content, whose redistribution terms are not published; it has since been replaced throughout and no longer appears in the design or the embedded model set.

Regenerating the documentation assets

The board renders, schematic PDF, STEP model, interactive BOM, and pinout SVG under website/static/ are all build artifacts of the files here. Regenerate them from the repository root after any schematic or layout change:

bash
tools/generate-docs-assets.sh

Docker is the only prerequisite. No local KiCad installation is required.

Parts

142
QtyValueFootprintReferences
12100nFPCM_JLCPCB:C_0402C16, C18, C28, C201, C202, C203, C303, C307, C313, C320, C401, C403
1010uFCapacitor_SMD:C_0603_1608MetricC13, C27, C308, C309, C310, C311, C312, C314, C315, C319
510uFCapacitor_SMD:C_0805_2012MetricC301, C302, C304, C305, C306
51uFCapacitor_SMD:C_0603_1608MetricC1, C2, C19, C21, C402
54.7kResistor_SMD:R_0603_1608MetricR20, R21, R201, R202, R301
5AO3400ASnapeda:SOT95P280X125-3NQ3, Q301, Q302, Q303, Q304
410kResistor_SMD:R_0603_1608MetricR1, R2, R24, R401
4MountingHole_2.7mm_M2.5MountingHole_2.7mm_M2.5MH1, MH2, MH3, MH4
3Fid6, Fid6, Fid7
3100RResistor_SMD:R_0603_1608MetricR304, R402, R403
3100kResistor_SMD:R_0603_1608MetricR17, R19, R23
34.7uFCapacitor_SMD:C_0805_2012MetricC15, C26, C316
35.1kResistor_SMD:R_0603_1608MetricR5, R6, R305
3Fiducial_1mm_Mask2mmFiducial:Fiducial_1mm_Mask2mmFid1, Fid8, Fid9
3GNDPCM_SparkFun-Connector:TestPoint-1.0mmTP4, TP5, TP6
3SW_PushButton_Switch_SMD:SW_SPST_TS-1088-xR020SW1, SW2, SW3
20RResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR9, R11
222Resistor_SMD:R_0603_1608MetricR7, R8
247nFCapacitor_SMD:C_0603_1608MetricC317, C318
247uFCapacitor_SMD:C_0805_2012MetricC14, C25
2JST_PA_S02B-PASK-2project:JST_PA_S02B-PASK-2_1x02_P2.00mm_HorizontalJ302, J401
2QwiicConnector_JST:JST_SH_BM04B-SRSS-TB_1x04-1MP_P1.00mm_VerticalJ6, J203
2RJHSE5380Snapeda:AMPHENOL_RJHSE5380J201, J202
2~Jumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mmJP2, JP3
110mΩResistor_SMD:R_1206_3216MetricR404
1110kResistor_SMD:R_0603_1608MetricR302
1130kResistor_SMD:R_0603_1608MetricR303
11755736project:DB125-2.54-2P-GN-SCN5
11uHInductor_SMD:L_Changjiang_FTC252012SL2
12.2uHInductor_SMD:L_Changjiang_FTC404030SL1
130kResistor_SMD:R_0603_1608MetricR306
1330ΩResistor_SMD:R_0603_1608MetricR3
13V3_SYSPCM_SparkFun-Connector:TestPoint-1.0mmTP8
13V3_USERPCM_SparkFun-Connector:TestPoint-1.0mmTP7
1510kResistor_SMD:R_0603_1608MetricR15
1680ΩResistor_SMD:R_0603_1608MetricR10
191kResistor_SMD:R_0603_1608MetricR16
1BATTERYConnector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_HorizontalJ4
1BOOTPCM_SparkFun-Connector:TestPoint-1.0mmTP18
1BQ25798RQMRSnapeda:RQM0029A-MFG_ModifiedCornersAndCourtyardU8
1BQ34Z100PWR-G1Snapeda:PW0014A_LU3
1BZT52C12SPCM_JLCPCB:D_SOD-323D2
1CHGLED_SMD:LED_0603_1608MetricLED2
1C_0805PCM_Capacitor_SMD_AKL:C_0805_2012MetricC17
1Conn_01x03Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ2
1DMP3098L-7Package_TO_SOT_SMD:SOT-23Q2
1ESP32-C5-WROOM-1UEspressif:ESP32-C5-WROOM-1UU1
1FG_PWRJumper:SolderJumper-3_P1.3mm_Bridged12_RoundedPad1.0x1.5mm_NumberLabelsJUMP_FG_PWR2
1FG_TS_NODEPCM_SparkFun-Connector:TestPoint-1.0mmTP11
1GPIO_HEADER_Lproject:LeftSide_PinHeader_1x09_P2.54mm_VerticalJ7
1GPIO_HEADER_RConnector_PinHeader_2.54mm:PinHeader_1x09_P2.54mm_VerticalJ8
1LOGOproject:LogoG***
1MDD3415Package_TO_SOT_SMD:SOT-23Q1
1NetTie_VDC_VAC2_DETNetTie:NetTie-2_SMD_Pad0.5mmNT3
1NetTie_VUSB_VAC1_DETNetTie:NetTie-2_SMD_Pad0.5mmNT2
1PCA9615Snapeda:TSSOP10_SOT552-1_NXP-LU201
1PESD5V0S1BADiode_SMD:D_SOD-523D3
1REGN_RAILPCM_SparkFun-Connector:TestPoint-1.0mmTP13
1RESETPCM_SparkFun-Connector:TestPoint-1.0mmTP19
1SCL_INTPCM_SparkFun-Connector:TestPoint-1.0mmTP3
1SDA_INTPCM_SparkFun-Connector:TestPoint-1.0mmTP2
1STATUSLED_SMD:LED_0603_1608MetricLED1
1SYS_RAILPCM_SparkFun-Connector:TestPoint-1.0mmTP12
1SolderJumper_3_OpenJumper:SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mm_NumberLabelsJUMP_CHGR_GND2
1TPS22918DBVRSnapeda:SOT95P280X145-6NU5
1TPS631000Snapeda:SOT50P160X60-8NU4
1TS_NODEPCM_SparkFun-Connector:TestPoint-1.0mmTP10
1TYPE-C-31-M-12project:USB-C_TYPE-C-31-M-12USBC1
1U0RXDPCM_SparkFun-Connector:TestPoint-1.0mmTP16
1U0TXDPCM_SparkFun-Connector:TestPoint-1.0mmTP17
1USBLC6-4SC6-ESproject:USBLC6-4SC6-ES_WIthNetTieD5
1USBLC6-4SC6-ESproject:SOT23-6L_STM_w_NetTies_1346abD201
1VBATPCM_SparkFun-Connector:TestPoint-1.0mmTP14
1VBAT_PROPCM_SparkFun-Connector:TestPoint-1.0mmTP15
1VBUS_INTERNALPCM_SparkFun-Connector:TestPoint-1.0mmTP9
1VUSBPCM_SparkFun-Connector:TestPoint-1.0mmTP20

More from JohnNeville/SunSprout

1
  • 4 layers27.3 × 51.1 mmSunSproutSatellite, the printed circuit board in 3D

    SunSproutSatellite

    JohnNeville/SunSprout

    An esp32-c5 powered board that adds dual source battery charging, fuel management, and differential i2c bus. This was largely developed to be a complement with my other soil sensor project.

    46 partsCERN-OHL-S-2.0

Similar boards

  • 4 layers55.1 × 58 mmLINC, the printed circuit board in 3D

    LINC

    noahhusby/LINC

    The Laboratory Instrument Network Controller (LINC) is a modern network GPIB interface for test equipment

    39 parts1CERN-OHL-P-2.0
  • 2 layers46 × 90.7 mmAuraClicker, the printed circuit board in 3D

    AuraClicker

    AayushmanDas/AuraClicker

    Presentation device

    29 partsMIT
  • 4 layers110 × 80 mmAkkupack ng, the printed circuit board in 3D

    Akkupack ng

    eurovibes/akkupack-ng

    A AKKU-Pack gas gauge

    156 parts
  • 2 layers46 × 21 mmUsb, the printed circuit board in 3D

    Usb

    efogdev/nrf54l15-module

    nRF54L15 module with full IO set and external DC-DC regulator for maximum efficiency

    28 parts12
  • 2 layers50 × 50 mmM5 spi module, the printed circuit board in 3D

    M5 spi module

    hornet0018/pcb-designs

    27 parts
  • 4 layers68.6 × 53.3 mm101 PCB, the printed circuit board in 3D

    101 PCB

    ICRS/101

    The all-new open source Robotics 101 course from ICRS. It's specifically designed to be run in hackspaces, after school clubs and university societies.

    89 parts10CC-BY-4.0
  • 4 layers85 × 65 mmPower Board, the printed circuit board in 3D

    Power Board

    AdvikChitre/MSL_Imperial_2023

    Repository for Imperial College London Robocup MSL team 2023

    175 parts2

Questions

How big is the SunSproutHub PCB?

It measures 56 × 85 mm and has 6 copper layers, 1.6 mm thick.

What parts does the SunSproutHub use?

142 parts, built around the ESP32-C5-WROOM-1U-N8R8-V1.2, PCA9615DPZ, TPS631000DRL and BQ25798RQMR. 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 SunSproutHub KiCad files?

From the JohnNeville/SunSprout repository on GitHub, at the commit this page was made from: the board is hardware/hub/SunSproutHub.kicad_pcb and its schematic hardware/hub/SunSproutHub.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the SunSproutHub design in my own project?

Its repository publishes it under the CERN-OHL-S-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).