Skip to the content
PCBKitNew board
4 layers150 × 107.5 mmBase, the printed circuit board in 3D

Open source EtherCAT slaves for machine tools running LinuxCNC: hardware, firmware and tooling.

Size
150 × 107.5 mm
Copper layers
4
Thickness
1.6 mm
Parts
517
Nets
372
Pads
1,760
Tracks, vias
4,360, 1,113
Pours
26
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
17 Oct 2026
Updated
2 Nov 2026

Overview

Base is an open-source printed circuit board by bornier-dev, from the bornier-dev/bornier repository on GitHub. It is a 4-layer board of 150 × 107.5 mm with 517 parts on 372 nets, routed with 4,360 tracks and 1,113 vias.

It is built around the STM32H523VET6, CA-IS3092W and LAN9253-I/R4X, with the TPS54360BDDAR, TPS1H000AQDGNRQ1 and LTV-357T-C among its other parts. Its parts include 255 resistors, 99 capacitors, 75 diodes, 32 ICs and 14 connectors. It belongs with the STM32 boards of this library.

Main components

12

README

README.md

Bornier

Open source EtherCAT slaves for machine tools running LinuxCNC: hardware, firmware and tooling.

Status: design phase. Nothing here is usable yet. The base board schematic is complete and checked; PCB layout comes next. The firmware is a build scaffold running on a NUCLEO-H563ZI development board, without the EtherCAT stack yet.

Goals

  • A family of standard-compliant EtherCAT slaves for CNC retrofits: motion (step/dir, encoders, probe), digital and analog I/O, spindle control, Modbus gateway.
  • Works with any EtherCAT master; developed and tested against LinuxCNC with the IgH master (lcec).
  • Firmware builds on the LinuxCNC PC itself with a free toolchain (arm-none-eabi-gcc, CMake) and updates over EtherCAT (FoE).
  • Hardware designed in KiCad, published in full.

Out of scope: functional safety. E-stop and STO stay hardwired.

Architecture

text
          EtherCAT (daisy chain)
LinuxCNC PC ──► [Base board A] ──► [EtherCAT drive] ──► [Base board B] ──► ...
 (IgH master)        │ HE10 ribbon (local bus, not EtherCAT)
                     ├── I/O module 1
                     └── I/O module n
  • One generic base board per EtherCAT slave. More axes come from more boards on the EtherCAT chain (8 axes with two boards, 12 with three).
  • Extension modules on DIN rail, chained to the base board by HE10 ribbons: slow I/O on SPI chips, without an MCU. A base board and its modules form a single modular slave.

Base board

Schematic and PCB in hardware/base/, generated by script (see below); the PCB is being placed.

BlockContent
CoreMicrochip LAN9253 EtherCAT slave controller (two ports, RJ45 with magnetics), STM32H523 MCU in LQFP-100 over SPI/OCTOSPI, one shared 25 MHz MEMS oscillator
Power12 V or 24 V logic supply (10.8–30 V): fuse, TVS, reverse polarity protection, bucks to 5 V and 3.3 V; USB micro-B for bench power and DFU flashing
Motion4 axes, each on a dual RJ45: drive port (differential step/dir, enable, alarm, current-limited supply output) and encoder port (RS-422, TTL or HTL, 5 V or supply voltage); fast probe input
Spindle0-10 V speed reference, PWM, enable and direction
ModbusIsolated RS-485, switchable termination
SafetyE-stop state input (wired, not a safety function), external watchdog on the MCU reset
Local busHE10 2 × 17 connector to the extension modules: SPI, 12 chip selects, I²C, IRQ, LATCH, OE

The STM32H523 footprint takes any STM32H5 in LQFP-100 (H523, H533, H562, H563) without a PCB change. The board is meant to be fed by a dedicated supply in the same cabinet; the simulation of the input stage and its limits is in hardware/base/sim/.

The board is 107.5 × 150 mm. It mounts on a DIN rail in a Phoenix Contact UM-BASIC 108 profile (housing kit UM-BASIC-KIT-B108-L150-7035), resting on the profile walls at the top level, or screws onto a panel through four M3 holes at the corners, one of them plated to earth the board. A plated hole takes the Phoenix PE contact, which earths the board to the DIN rail. Every edge connector sits on a long edge: the profile closes the short ones; the USB jack is vertical.

Repository layout

DirectoryContents
firmware/C++23 firmware on the OpSy RTOS, generated STM32H563 register headers, board support for the NUCLEO-H563ZI, bring-up example and on-target tests
hardware/lib/kicadgen, the Python schematic generator and checker (ERC, netlist), and the symbols, footprints and 3D models missing from the KiCad libraries, with their generators
hardware/base/Base board: schematic generator (gen/), KiCad project (kicad/), Gerbers (fab/), circuit simulation (sim/)
tools/hil/Hardware-in-the-loop test scripts
tools/udev/udev rules for debug probes on Linux

The schematic is generated: edit the scripts in hardware/base/gen/, then run python hardware/base/gen/schematic.py, which regenerates it and runs the checks. The PCB is edited in KiCad: after a schematic change, update it from the schematic (Tools > Update PCB from Schematic).

Building, flashing and coding rules: CONTRIBUTING.md.

Licensing

PartLicense
Hardware (KiCad projects)CERN-OHL-W-2.0
Firmware and toolsMPL-2.0
DocumentationCC-BY-4.0

Each file carries an SPDX header naming its license.

Official builds and forks

Official releases will carry the Bornier EtherCAT Vendor ID. Forks distributing hardware or firmware must use their own Vendor ID.

EtherCAT® is a registered trademark and patented technology, licensed by Beckhoff Automation GmbH, Germany.

Parts

517
QtyValueFootprintReferences
55100nFCapacitor_SMD:C_0402_1005MetricC11, C12, C13, C14, C15, C16, C17, C18, C22, C23, C24, C26, C28, C30, C31, C312 +39
534.7kResistor_SMD:R_0402_1005MetricR12, R100, R101, R103, R104, R110, R111, R113, R114, R118, R119, R121, R122, R126, R127, R129 +37
4510kResistor_SMD:R_0402_1005MetricR20, R106, R132, R158, R189, R190, R191, R192, R193, R194, R195, R196, R197, R198, R199, R200 +29
3649.9Resistor_SMD:R_0603_1608MetricR15, R16, R203, R204, R205, R206, R207, R208, R209, R210, R211, R212, R213, R214, R215, R216 +20
331kResistor_SMD:R_0402_1005MetricR14, R18, R25, R26, R29, R30, R188, R228, R238, R240, R247, R248, R251, R253, R303, R304 +17
261µF 50VCapacitor_SMD:C_0603_1608MetricC20, C25, C27, C29, C32, C46, C47, C48, C50, C54, C310, C311, C314, C315, C317, C318 +10
243.3kResistor_SMD:R_1206_3216MetricR102, R109, R112, R117, R120, R125, R128, R135, R138, R143, R146, R151, R154, R161, R164, R169 +8
24BAT54SPackage_TO_SOT_SMD:SOT-23D29, D30, D31, D32, D33, D34, D36, D37, D38, D39, D40, D41, D43, D44, D45, D46 +8
224.7kResistor_SMD:R_1206_3216MetricR13, R60, R108, R116, R124, R134, R142, R150, R160, R168, R176, R184, R185, R249, R250, R306 +6
18100kResistor_SMD:R_0402_1005MetricR1, R3, R11, R19, R58, R64, R223, R224, R225, R229, R233, R237, R239, R300, R308, R311 +2
13TPD4E05U06DQARPackage_SON:USON-10_2.5x1.0mm_P0.5mmD60, U2, U7, U8, U13, U15, U18, U20, U31, U32, U33, U34, U35
92.2kResistor_SMD:R_0402_1005MetricR8, R10, R81, R107, R133, R159, R226, R227, R236
810µF 25VCapacitor_SMD:C_0805_2012MetricC9, C10, C19, C43, C76, C83, C85, C300
8120Resistor_SMD:R_0603_1608MetricR232, R234, R235, R242, R243, R244, R245, R246
8SS56BDiode_SMD:D_SMBD2, D3, D4, D5, D28, D35, D42, D49
7SMBJ33CADiode_SMD:D_SMBD1, D13, D17, D21, D25, D63, D65
7TPS1H000AQDGNRQ1Package_SO:HVSSOP-8-1EP_3x3mm_P0.65mm_EP1.57x1.89mmU10, U21, U23, U25, U27, U302, U303
61N4148WSDiode_SMD:D_SOD-323D15, D19, D23, D27, D57, D70
6AO3422Package_TO_SOT_SMD:SOT-23Q1, Q2, Q3, Q4, Q6, Q7
5220R@100MHzInductor_SMD:L_0603_1608MetricFB1, FB2, FB3, FB4, FB5
5LTV-357T-CPackage_SO:SO-4_4.4x3.6mm_P2.54mmU12, U14, U17, U19, U39
41nF 2kVCapacitor_SMD:C_1206_3216MetricC37, C86, C301, C302
447kResistor_SMD:R_0402_1005MetricR2, R4, R187, R301
4AM26LV32EIDRPackage_SO:SOIC-16_3.9x9.9mm_P1.27mmU22, U24, U26, U28
4ENC 5V|VINConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJP1, JP2, JP3, JP4
4HC-WK88-H132-1X2-55BBornier:RJ45x2_HongCheng_HC-WK88-H132-1X2-55BJ6, J7, J8, J9
4SN75ALS191DRPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU11, U16, U300, U301
4green ENALED_SMD:LED_0603_1608MetricD12, D16, D20, D24
4red ALMLED_SMD:LED_0603_1608MetricD14, D18, D22, D26
312.1kResistor_SMD:R_0402_1005MetricR6, R17, R302
3M3MountingHole:MountingHole_3.2mm_M3H2, H3, H4
3greenLED_SMD:LED_0603_1608MetricD6, D7, D300
22.2µF 100VCapacitor_SMD:C_1210_3225MetricC2, C3
2470pFCapacitor_SMD:C_0402_1005MetricC21, C80
1+3V3TestPoint:TestPoint_Pad_D1.5mmTP7
1+5VTestPoint:TestPoint_Pad_D1.5mmTP6
1+VINTestPoint:TestPoint_Pad_D1.5mmTP4
1+VIN_OUTTestPoint:TestPoint_Pad_D1.5mmTP5
1100µF 10VCapacitor_SMD:C_1210_3225MetricC5
11µHInductor_SMD:L_1008_2520MetricL2
13.5A 63VFuse:Fuse_1206_3216MetricF1
147µF 63VCapacitor_SMD:CP_Elec_6.3x7.7C1
18.2µHInductor_SMD:L_Sunlord_MWSA1004SL1
1AO3401APackage_TO_SOT_SMD:SOT-23Q11
1BOOTBornier:SW_XKB_TS-1187ASW1
1CA-IS3092WPackage_SO:SOIC-16W_7.5x10.3mm_P1.27mmU38
1ESC_IRQTestPoint:TestPoint_Pad_D1.5mmTP1
1ESTOP | PROBEConnector_Phoenix_MC:PhoenixContact_MC_1,5_4-G-3.81_1x04_P3.81mm_HorizontalJ14
1GNDTestPoint:TestPoint_Pad_D1.5mmTP3
1HY911105AE INConnector_RJ:RJ45_Hanrun_HR911105A_HorizontalJ3
1HY911105AE OUTConnector_RJ:RJ45_Hanrun_HR911105A_HorizontalJ4
1LAN9253-I/R4XPackage_DFN_QFN:QFN-64-1EP_9x9mm_P0.5mm_EP6x6mm_ThermalViasU4
1LOCAL BUSConnector_IDC:IDC-Header_2x17_P2.54mm_VerticalJ10
1M24C16-RMN6TPPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU6
1M3 CHASSISMountingHole:MountingHole_3.2mm_M3_PadH1
1MODBUSConnector_Phoenix_MC:PhoenixContact_MC_1,5_4-G-3.81_1x04_P3.81mm_HorizontalJ13
1OPA2990IDRPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU36
1PE CONTACTMountingHole:MountingHole_3.2mm_M3_PadH5
1POWERConnector_Phoenix_MC:PhoenixContact_MC_1,5_4-G-3.81_1x04_P3.81mm_HorizontalJ1
1PSM712-LF-T7Package_TO_SOT_SMD:SOT-23D66
1SMF15ADiode_SMD:D_SOD-123FD59
1SN74AHCT1G125DBVRPackage_TO_SOT_SMD:SOT-23-5U37
1SPINDLE AConnector_Phoenix_MC:PhoenixContact_MC_1,5_4-G-3.81_1x04_P3.81mm_HorizontalJ11
1SPINDLE BConnector_Phoenix_MC:PhoenixContact_MC_1,5_4-G-3.81_1x04_P3.81mm_HorizontalJ12
1SS8550Package_TO_SOT_SMD:SOT-23Q5
1STM32H523VET6Package_QFP:LQFP-100_14x14mm_P0.5mmU9
1SYNC0TestPoint:TestPoint_Pad_D1.5mmTP2
1SiT8008BI-71-33E-25.000000Oscillator:Oscillator_SMD_SiT_PQFN-4Pin_2.0x1.6mmX1
1TC2030Connector:Tag-Connect_TC2030-IDC-FP_2x03_P1.27mm_VerticalJ5
1TLP2361Package_SO:SO-5-6_4.55x3.7mm_P1.27mmU29
1TPS2553DBVRPackage_TO_SOT_SMD:SOT-23-6U30
1TPS3808G33DBVRPackage_TO_SOT_SMD:SOT-23-6U5
1TPS3828-33DBVRPackage_TO_SOT_SMD:SOT-23-5U40
1TPS54360BDDARPackage_SO:TI_SO-PowerPAD-8_ThermalViasU1
1TPS62A02ADRLRPackage_TO_SOT_SMD:SOT-563U3
1USB micro-BConnector_USB:USB_Micro-B_Molex-105133-0001J2
1green DIRLED_SMD:LED_0603_1608MetricD64
1green ENLED_SMD:LED_0603_1608MetricD62
1green ESTOP OKLED_SMD:LED_0603_1608MetricD69
1green MCULED_SMD:LED_0603_1608MetricD11

The 509 most common of 517 parts.

Questions

How big is the Base PCB?

It measures 150 × 107.5 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Base use?

517 parts, built around the STM32H523VET6, CA-IS3092W, LAN9253-I/R4X and TPS54360BDDAR. 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 Base KiCad files?

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

Can I use the Base design in my own project?

Its repository states no licence, so its author keeps all rights: ask bornier-dev before reusing the design.

Similar boards

  • 2 layers41.8 × 36.4 mmHexpansion L80, the printed circuit board in 3D

    Hexpansion L80

    TechCabin/EMFBadge-Hexpansions-GPS

    A GPS Hexpansion module and basic software implementation for the Tildagon badge.

    22 parts12
  • 2 layers48.8 × 49.9 mmHexpansion, the printed circuit board in 3D

    Hexpansion

    Corteil/EMF_space_unicorn

    code and PCB design files for my Space Unicorn hextension for EMF 2026

    50 parts1GPL-2.0
  • 4 layers83 × 86.5 mmBTS MainBoard Power, the printed circuit board in 3D

    BTS MainBoard Power

    bebenlebricolo/BTS-MainBoard-Power

    Beer thermoregulation system mainboard - power section

    94 partsGPL-3.0
  • 4 layers170.2 × 79 mmInt brain pcb, the printed circuit board in 3D

    Int brain pcb

    eccentricOrange/int-brain-stm32

    217 parts
  • 4 layers34.5 × 34.5 mmMySXRelay, the printed circuit board in 3D

    MySXRelay

    mczerski/MySXRelay

    62 parts
  • 4 layers94.3 × 95.7 mmMotor bldc esc V1, the printed circuit board in 3D

    Motor bldc esc V1

    middelhauvephilipp-stack/motor_control_pcb_design

    117 partsCERN-OHL-P-2.0
  • 2 layers68.4 × 36.7 mmEmf beacon, the printed circuit board in 3D

    Emf beacon

    PolybiusBiotech/led_beacon

    The PCBA and firmware for the controllable LED Beacons.

    134 parts