Skip to the content
PCBKitNew board
4 layers20 × 45 mmModule, the printed circuit board in 3D

Gumstick: ESP32 + iCE40UP5K FPGA module (v1 DF40 board-to-board, v2 M.2 gold-finger draft) and its programming carrier. KiCad 10.

Size
20 × 45 mm
Copper layers
4
Thickness
1 mm
Parts
52
Nets
92
Pads
297
Tracks, vias
647, 150
Pours
7
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
20 Oct 2026
Updated
21 Oct 2026

Overview

Module is an open-source printed circuit board by OrbitalCommons, from the OrbitalCommons/gumstick repository on GitHub, published under the MIT licence. It is a 4-layer board of 20 × 45 mm with 52 parts on 92 nets, routed with 647 tracks and 150 vias.

It is built around the ICE40UP5K-SG48I, ESP32-S2FH4 and TPS62160DGKR, with the RC0402FR-07100KL, RC0402FR-0710KL and LQG15HS2N2S02D among its other parts. Its parts include 28 capacitors, 8 resistors, 4 ICs, 4 inductors and 3 connectors. It belongs with the computers and single-board computers boards and the ESP32 and FPGA and CPLD boards of this library.

Main components

12

README

current-df40-connectors/README.md

ESP32 + FPGA module

For new carriers, use the ordered-v1 interface control document. It supersedes historical integration dimensions and pin notes below.

A 20 × 45 mm, four-layer development module extracted from the original Eagle/Fusion MainBoard. It combines an ESP32-S2FH4 with an iCE40UP5K-SG48I, a U.FL jack for an external antenna, an RGB indicator and onboard power regulation. Routing is complete for the complementary connector pair and centered ICs. Trace centerlines use 90/45-degree geometry with standardized power widths. KiCad reports zero DRC violations, unconnected items, schematic-parity issues, and ERC violations. RF, thermal, and manufacturing review remain prototype validation requirements. The ordered v1 snapshot preserves the manufactured revision. Current working fabrication outputs and historical review notes are not a substitute for that snapshot. The width-cleanup report records the final placement improvements and the clearance-limited neck-downs retained.

Two underside Hirose DF40 40-pin connectors carry power, programming and GPIO signals. J1 is a receptacle and J2 a plug; both are horizontal. The complementary genders prevent reversed full mating with the carrier pair. The programming carrier supplies USB, buttons and mating connectors; the StratumZero is a separate application carrier.

Power

The board takes 5 V from the carrier. U3 produces 3.3 V; U4 produces the FPGA's 1.2 V core supply. All FPGA I/O banks use 3.3 V. The optional 1.8 V regulator and voltage-selection jumper have been removed.

L1 and L2 are Murata BLM18KG101TN1D 0603 ferrite beads, 100 ohm at 100 MHz, not 1 nH inductors. They form the ESP32 and FPGA PLL supply filters. L3 is the separate 2.2 nH RF matching inductor.

Mechanical and assembly notes

  • J1, H1 and J2 lie on the longitudinal centerline, with 25 mm connector spacing and the hole 12.5 mm from each connector. Use the H1-relative body datums in the v1 ICD; older top-edge offsets were stale.
  • U1 and U2 are centered across the 20 mm board width.
  • H1 has a 3.2 mm hole and a 7 mm screw-head/spacer keepout. Match the carrier spacer height to the connector stack height so tightening cannot crush them.
  • The ordered board uses external U.FL only. Reserve cable/plug access and validate the chosen antenna in the carrier/enclosure; chip-antenna notes are historical.
  • Vias must remain outside component solder pads and the complete QFN package bodies. The via-access audit passes with no pad or QFN-body overlaps. Confirm the stackup and validate IC temperatures with the revised ground fanouts.
  • Silkscreen keeps main IC, connector and solder-jumper references. Other component references remain available on fabrication layers.

D1 is the original FC-B1010RGBT-HG common-anode LED. Its RGB cathodes connect to the FPGA's RGB current drivers and share J2 pins 26, 27 and 29. Firmware must use those drivers correctly; the carrier pins are not unloaded independent GPIOs.

Files

The ESP32-C3 is not pin-compatible with the S2. It remains an architecture option requiring a new footprint and pinout; the current design retains S2.

Original exports are preserved in ../../source/fusion, with the native import reference in ../mainboard-reference. The module restores Eagle's C49/C50 power assignments that were split by the initial native import.

TP1 exposes FPGA_CRESET_N (active-low reset); TP2 exposes FPGA_CDONE. The application-specific SYNC_IO connection is removed. ESP GPIO38 is exposed on J1.39 and FPGA physical pin 44 / G6 on J2.32; they are not joined on the module. ESP32 package pins 31–36 remain unconnected externally because they serve the S2FH4 internal flash.

See carrier mating requirements for the connector MPNs, 2 mm stack, mounting-tab requirements, and carrier contact mapping.

Parts

52
QtyValueFootprintReferences
10.1uFModule:C44_CAPC1005X60C44
10.1uFModule:C42_CAPC1005X60C42
10.1uFModule:C48_CAPC1005X60C48
10.1uFModule:C41_CAPC1005X60C41
10.1uFModule:C50_CAPC1005X60C50
10.1uFModule:C35_CAPC1005X60C35
10.1uFModule:C39_CAPC1005X60C39
10.1uFModule:C40_CAPC1005X60C40
10.1uFModule:C38_CAPC1005X60C38
10.1uFModule:C49_CAPC1005X60C49
10.1uFModule:C37_CAPC1005X60C37
10.1uFModule:C52_CAPC1005X60C52
10.1uFModule:C46_CAPC1005X60C46
10RModule:R3_RESC1005X40R3
1100kRModule:R62_R_0402_1005MetricR62
1100ohm @100MHzModule:L2_L_0603_1608MetricL2
1100ohm @100MHzModule:L1_L_0603_1608MetricL1
110kRModule:R22_RESC1005X40R22
110kRModule:R20_RESC1005X40R20
110kRModule:R29_RESC1005X40R29
110kRModule:R28_RESC1005X40R28
110uFModule:C34_C_0603_1608MetricC34
110uFModule:C45_C_0603_1608MetricC45
110uFModule:C43_C_0603_1608MetricC43
110uFModule:C33_C_0603_1608MetricC33
110uF / 10VModule:C60_C_0603_1608MetricC60
112pFModule:C6_CAPC1005X60C6
112pFModule:C7_CAPC1005X60C7
11uFModule:C32_CAPC1005X60C32
11uF / 6.3VModule:C63_C_0603_1608MetricC63
11uF / 6.3VModule:C62_C_0603_1608MetricC62
11uF / 6.3VModule:C66_C_0603_1608MetricC66
12.2nHModule:L3_INDC1006X60NL3
12.2uHModule:L4_L_XFL3012_222MECL4
122uF / 10VModule:C61_C_0603_1608MetricC61
122uF / 10VModule:C67_C_0603_1608MetricC67
124kRModule:R65_R_0402_1005MetricR65
13.3pFModule:C1_CAPC1005X60C1
13.3pFModule:C2_CAPC1005X60C2
140MHz / CL10pFModule:Y1_JGHC_S2240000101050Y1
175kRModule:R64_R_0402_1005MetricR64
1DF40C(2.0)-40DS-0.4V(51)Module:J1_DF40C_40DS_2mmJ1
1DF40C-40DP-0.4V(51)Module:J2_DF40C_40DPJ2
1ESP32-S2FH4Module:U1_QFN56_ESP32-S2FH4_EXP-MU1
1FC-B1010RGBT-HGModule:D1_RGBLEDD1
1FPGA_CDONEModule:TestPoint_0p8TP2
1FPGA_CRESET_NModule:TestPoint_0p8TP1
1MountingHole_3.2mm_M3MountingHole_3.2mm_M3H1
1TLV75512PDBVRModule:U4_SOT-23-5U4
1TPS62160DGKRModule:U3_VSSOP-8_3x3mm_P0.65mmU3
1U.FL-R-SMT-1(01)Module:J3_U.FL_Hirose_U.FL-R-SMT-1_VerticalJ3
1iCE40UP5K-SG48Module:U2_ICE40-QFNU2

Questions

How big is the Module PCB?

It measures 20 × 45 mm and has 4 copper layers, 1 mm thick.

What parts does the Module use?

52 parts, built around the ICE40UP5K-SG48I, ESP32-S2FH4, TPS62160DGKR and RC0402FR-07100KL. 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 Module KiCad files?

From the OrbitalCommons/gumstick repository on GitHub, at the commit this page was made from: the board is current-df40-connectors/module.kicad_pcb and its schematic current-df40-connectors/module.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Module design in my own project?

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

More from OrbitalCommons/gumstick

2
  • 4 layers160 × 145 mmCarrier, the printed circuit board in 3D

    Carrier

    OrbitalCommons/gumstick

    Gumstick: ESP32 + iCE40UP5K FPGA module (v1 DF40 board-to-board, v2 M.2 gold-finger draft) and its programming carrier. KiCad 10.

    222 parts1MIT
  • 4 layers22 × 42 mmModule, the printed circuit board in 3D

    Module

    OrbitalCommons/gumstick

    Gumstick: ESP32 + iCE40UP5K FPGA module (v1 DF40 board-to-board, v2 M.2 gold-finger draft) and its programming carrier. KiCad 10.

    46 parts1MIT

Similar boards

  • 2 layers52 × 59 mmBluetoothPedal Main, the printed circuit board in 3D

    BluetoothPedal Main

    skngh/RidgeField

    Bluetooth guitar pedal using the Daisy Seed. Sends controls from a guitar mounted box to the enclosure on your pedalboard.

    40 parts9MIT
  • 4 layers70 × 52 mmPager carrier rev a, the printed circuit board in 3D

    Pager carrier rev a

    vyquocvu/analog-ai-chip

    This directory contains the editable KiCad 10 source for the 70 mm × 52 mm, four-layer Pager-1 main carrier. The display, keypad, protected Li-Po pack, and analog accelerator are external assemblies.

    32 parts1MIT
  • 4 layers125 × 85 mmMotherboard, the printed circuit board in 3D

    Motherboard

    morzack/ece592-nfc-caravan-pcbs

    Design files for breakout and motherboard PCBs for Sky130 NFC chip designed in NCSU's Tapeout Course (spr2025)

    194 parts1
  • 4 layers30 × 30 mmController, the printed circuit board in 3D

    Controller

    andrewsharmon/rp2350-stepper-controller

    Low-cost 10-axis sine-microstepping controller for small steppers on the RP2350 (PIO + DMA). WIP.

    63 partsMIT
  • 2 layers66.8 × 34 mmESP8266, the printed circuit board in 3D

    ESP8266

    MaloufSleep/ME-ESP8266

    Malouf Electronics - ESP8266 Dev Board

    127 parts204MIT
  • 6 layers65 × 85 mmTrackball, the printed circuit board in 3D

    Trackball

    efogtech/endgame-trackball-hardware

    Because it's cheaper than 4 layers. Yes, seriously.

    260 parts26
  • 8 layers28 × 125 mmCompact tablet, the printed circuit board in 3D

    Compact tablet

    CopperPilot/tablet

    An 8.4-inch tablet around a chip-down RK3566 + LPDDR4X: 8-layer 0.8 mm mainboard, USB-C daughter board, 1600x2560 dual-DSI display, CNC aluminium shell. Designed end to end by CopperPilot, open for review.

    431 partsCERN-OHL-S-2.0