
Ethersweep
Neumi/ethersweep
Open Source, easy to use Ethernet connected stepper motor controller. Built in FreeCAD, KiCAD and Arduino.

An automated, programmatically designed, placed, and routed High-Speed Galvanically Isolated Telemetry Node in KiCad 10.0.
W5500 Board is an open-source printed circuit board by MohammedBACHIRIx, from the MohammedBACHIRIx/code-to-pcb-w5500 repository on GitHub. It is a 2-layer board with 39 parts on 34 nets, routed with 33 tracks and 0 vias.
It is built around the W5500. Its parts include 23 capacitors, 7 resistors, 6 ICs, 2 connectors and 1 crystal.
An automated, programmatically designed, placed, and routed High-Speed Galvanically Isolated Telemetry Node in KiCad 10.0. This repository showcases the "What You See Is What You Code" (WYSIWYC) approach to hardware design, representing schematics and layout designs as clean, version-controlled Python scripts.
The automated toolchain shifts hardware design from manual GUI layout to versioned, executable code:
| Layer | Engine | Implementation File | Purpose |
|---|---|---|---|
| 1. Logic Layer | circuit-synth (Python) | generate_board.py | Programmatic schematic definition, pin mapping, and net connection. |
| 2. Verification Layer | Python / KiCad CLI | verify_board.py | Automated ERC execution, parsing KiCad's JSON report, and filtering violations. |
| 3. Layout & Translation | KiCad 10.0 pcbnew API | auto_layout.py | Netlist loading, programmatic component placement, and proximity-based decoupling cap clustering. |
| 4. Routing Layer | KiCad 10.0 pcbnew API | route_board.py | Programmatic point-to-point trace routing for high-speed differential pairs, crystal loops, and power lines. |
| 5. Manufacturing Layer | KiCad CLI | tape_out.py | Run DRC check, export Gerbers, drill files, assembly positions, and zip fabrication package. |
The telemetry node bridges local SPI communications to a Wiznet W5500 Ethernet controller across a galvanically isolated barrier (8mm creepage and clearance gap) with separate power domains and ground planes.
graph TD
subgraph Host Domain ["Host System Domain (Non-Isolated)"]
J2[2x5 Pin Host Header] -->|VCC_5V| U5[Host LDO: AMS1117-3.3]
U5 -->|VCC_3V3| U3_A[Si8641 Side A]
U5 -->|VCC_3V3| U4_A[Si8642 Side A]
J2 -->|SPI_HOST| U3_A
J2 -->|RST/INT_HOST| U4_A
GND[GND Plane]
end
subgraph Isolation Barrier ["8mm creepage & clearance gap"]
U3_A -.-|Galvanic Isolation| U3_B[Si8641 Side B]
U4_A -.-|Galvanic Isolation| U4_B[Si8642 Side B]
U1[DC-DC: Mornsun B0505S-1WR3] -.-|Power Isolation| U1_Out[Isolated 5V]
end
subgraph Isolated Domain ["Network Domain (Isolated)"]
U1_Out -->|ISO_5V| U6[Isolated LDO: AMS1117-3.3]
U6 -->|ISO_3V3| U3_B
U6 -->|ISO_3V3| U4_B
U6 -->|ISO_3V3| U2[W5500 Ethernet Controller]
U3_B -->|SPI_ISO| U2
U4_B -->|RST/INT_ISO| U2
U2 -->|Differential PHY| J1[Hanrun HR911105A MagJack]High-frequency decoupling capacitors are programmatically clustered within 1.5mm of the target IC power pins using the KiCad 10.0 pcbnew Python API:
AVDD / VDD).F.Cu, 0.3mm / 12 mils): Direct differential traces between W5500 TXP/TXN/RXP/RXN and the Hanrun MagJack.F.Cu, 0.2mm / 8 mils): Minimized-area loop connecting the W5500 XI/XO pins to the Y1 crystal and C21/C22 load capacitors, returning directly to the nearest digital ground pin.F.Cu, 0.5mm / 20 mils): Thick power lines routing 5V/3.3V power rails to support peak current demands.Running tape_out.py executes the full post-routing workflow:
positions.csv).W5500_Board_Tapeout.zip.circuit-synth and reportlab (installed inside virtual env)Use KiCad's Python environment to execute the steps:
# 1. Generate schematic and netlist
python generate_board.py
# 2. Run ERC verification and compile reports
python verify_board.py
# 3. Perform component auto-layout and pad matching
python auto_layout.py
# 4. Route differential signals, crystal loops, and power tracks
python route_board.py
# 5. Perform DFM check and generate manufacturing package
python tape_out.py| Qty | Value | Footprint | References |
|---|---|---|---|
| 14 | 0.1uF | C_0603_1608Metric | C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C18, C23, C24 |
| 5 | 10uF | C_0805_2012Metric | C2, C3, C4, C5, C17 |
| 3 | 10k | R_0603_1608Metric | R3, R4, R5 |
| 2 | 18pF | C_0603_1608Metric | C21, C22 |
| 2 | 330R | R_0603_1608Metric | R6, R7 |
| 1 | 10nF | C_0603_1608Metric | C19 |
| 1 | 12.4k 1% | R_0603_1608Metric | R1 |
| 1 | 1M | R_0603_1608Metric | R2 |
| 1 | 1uF | C_0603_1608Metric | C20 |
| 1 | 25MHz | Crystal_SMD_3225-4Pin_3.2x2.5mm | Y1 |
| 1 | Hanrun_HR911105A | RJ45_Hanrun_HR911105A_Horizontal | J1 |
| 1 | Host_Interface | PinHeader_2x05_P2.54mm_Vertical | J2 |
| 1 | Mornsun_B0505S-1WR3 | Converter_DCDC_TRACO_TMA-05xxS_12xxS_Single_THT | U1 |
| 1 | Si8641 | SOIC-16W_7.5x10.3mm_P1.27mm | U3 |
| 1 | Si8642 | SOIC-16W_7.5x10.3mm_P1.27mm | U4 |
| 1 | TLV1117LV33_Host | SOT-223-3_TabPin2 | U5 |
| 1 | TLV1117LV33_Isolated | SOT-223-3_TabPin2 | U6 |
| 1 | W5500 | LQFP-48_7x7mm_P0.5mm | U2 |

Neumi/ethersweep
Open Source, easy to use Ethernet connected stepper motor controller. Built in FreeCAD, KiCAD and Arduino.

tombueng/LuxDMX
Open-source Art-Net / sACN (E1.31) → DMX512 gateway for ESP32 / ESP32-S3 / Ethernet. Live web UI shows all 512 channels in real time, flags console conflicts, and drives galvanically-isolated DMX.


OpenJBOD/rp2040
This repository contains the hardware design files OpenJBOD RP2040 Baseboard.

CappyT/freedo
Local coordinator for tado V3+ heating devices, with a Home Assistant integration and add-on

Neumi/fastLOGIC
An affordable Arduino-based board designed for straightforward (industrial) logic control, ideal for building small-scale automation and control solutions.

slintak/NPR70
The New Packet Radio on 70 cm band. Based on the project NPR from F4HDK.

festlv/rioctrl-hw
Hardware design for modular CNC controller
39 parts, built around the W5500. 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 MohammedBACHIRIx/code-to-pcb-w5500 repository on GitHub, at the commit this page was made from: the board is W5500_Board/W5500_Board.kicad_pcb and its schematic W5500_Board/W5500_Board.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 MohammedBACHIRIx before reusing the design.