Skip to the content
PCBKitNew board
6 layers16 × 35 mmEtherrail controller, the printed circuit board in 3D

Etherrail controller

etherrail/traction-controller1

Traction Controller

Size
16 × 35 mm
Copper layers
6
Thickness
1.6 mm
Parts
113
Nets
69
Pads
377
Tracks, vias
703, 79
Pours
41
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
10 Nov 2023
Updated
28 Apr 2025

Overview

Etherrail controller is an open-source printed circuit board by etherrail, from the etherrail/traction-controller repository on GitHub. It is a 6-layer board of 16 × 35 mm with 113 parts on 69 nets, routed with 703 tracks and 79 vias.

It is built around the ESP32-C3-WROOM-02U-N4, DRV8870DDAR and MAX98357AEWL+T, with the XL-1010RGBC-WS2812B-DZ, S-LMBR340FT1G and BMI270 among its other parts. Its parts include 71 capacitors, 17 resistors, 14 ICs, 9 transistors and 1 diode. It belongs with the ESP32 and RISC-V boards of this library.

Main components

12

README

readme.md

EtherRail Traction Controller TC1000PX22+D+EA

The WiFi based controller for locomotives and other rolling stock. This device is a drop in replacement for any DCC boards.

Main Features

  • WiFi enabled
  • Plux2 Interface according to NEM 658
  • Inertia Sensor for speed control (instead of the common power control)
  • Sound up to 96kHz
  • 1A motor current (3.6A Peak)
  • Track power probe
  • Low production cost
  • Tip over, stall and push detection

Product Code

  • TC traction controller
  • 1000 1000mA nominal current
  • PX22 PluX22 plugging interface (NEM 658)
  • +D debugging version (USB compatible, status LEDs)
  • +CA external antenna

To Do

  • Test Boards (currently in production)
  • Add GPIO pins

Connectivity

The device connects with WiFi or Bluetooth. An external antenna should be attached.

Ineria Sensor

Usually, the trains are controlled by setting a motor power level, not a target speed. The IMU sensor integrates an accelerometer and a gyroscope, which can be used to estimate the actual speed of the train.

No more speed calibrations and motor ramps - the controller can automatically compensate for heavier trains or gradients. Stalling can be detect too, both total stalling and wheel-slip, which can then be counter acted with automatically induced power bursts. The controller can detect being pushed too, for example in a collision case. And even a tip over can be detected.

Track Power Probe

The traction controller constantly measures the track voltage. When an outage is detected (which usually happens every couple miliseconds, even with clean tracks), the controller goes into sleep mode to preserve energy on the on board capacitor bank.

This can be used to monitor the tracks quality and schedule maintenance before issues arise.

Sound

The board contains a 3.2W@4Ohm sound chip.

To be tested.

Function Outputs

600mA per channel.

Warning: The output are directly connected to the P-Channel mosfets, additional protected may be required for some output devices.

Expandability

The processor used on this device (ESP32C3) is more than capable for this task. We could add camera functionality with this chip! DCC emulation is theoretically possible.

The board currently contains a full USB debugging interface (pads only, but a programmer is included on the ESP).

Parts

113
QtyValueFootprintReferences
51CL21A476MQYNNNEeasyeda2kicad:C0805C23, C24, C25, C27, C28, C29, C30, C31, C32, C33, C34, C35, C36, C37, C38, C39 +35
9KY2004KNCeasyeda2kicad:DFN1006-3L_L1.0-W0.6-BLQ1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9
6100nFCapacitor_SMD:C_0201_0603MetricC12, C15, C16, C19, C20, C21
5270Resistor_SMD:R_0201_0603MetricR3, R14, R18, R20, R22
4270Resistor_SMD:R_0402_1005MetricR1, R2, R4, R24
310kResistor_SMD:R_0402_1005MetricR11, R13, R15
3XL-1010RGBC-WS2812Beasyeda2kicad:LED-SMD_4P-L1.0-W1.0-TL_XL-1010RGBC-WS2812BU3, U4, U9
2100nFCapacitor_SMD:C_0402_1005MetricC2, C22
210uFCapacitor_SMD:C_0402_1005MetricC3, C13
210uF 5VCapacitor_SMD:C_0402_1005MetricC11, C14
22.2kResistor_SMD:R_0201_0603MetricR9, R10
222uFCapacitor_SMD:C_0402_1005MetricC5, C10
247uF 25VCapacitor_SMD:C_1206_3216MetricC18, C59
2CL31A476MPHNNNEeasyeda2kicad:C1206C1, C6
2S-LMBR340FT1Geasyeda2kicad:SOD-123FL_L2.7-W1.8-LS3.8-RDU11, U14
1100kResistor_SMD:R_0402_1005MetricR6
1100nF 25VCapacitor_SMD:C_0402_1005MetricC17
110kResistor_SMD:R_0201_0603MetricR12
110nF 5VCapacitor_SMD:C_0402_1005MetricC26
115kResistor_SMD:R_0402_1005MetricR7
1ABS210_C525748easyeda2kicad:ABS_L5.1-W4.4-P3.35-LS6.4-BLD1
1AMS1117-3.3_C20628883easyeda2kicad:SOT-89-3_L4.5-W2.5-P1.50-LS4.1-BR-1U7
1AP63205WU-7easyeda2kicad:TSOT-23-6_L2.9-W1.6-P0.95-LS2.8-BLU12
1BMI270easyeda2kicad:LGA-14_L3.0-W2.5-P0.50-BRU6
1Conn_01x05_PinConnector_Pin:DebugPadJ1
1DRV8870DDAReasyeda2kicad:HSOP-8_L5.0-W4.0-P1.27-LS6.2-BL-EPU1
1ESP32-C3-WROOM-02URF_Module:ESP32-C3-WROOM-02UU10
1MAX98357AEWL+Teasyeda2kicad:WLP-9_L1.4-W1.3-P0.40-R3-C3-BRU8
1SN74HCS595BQBReasyeda2kicad:DQFN-16_L3.5-W2.5-P0.50-BL-EPU2
1TMS252012ALM-4R7MTAAeasyeda2kicad:L1008U13
1XDZ127-2-11-S-1.0-G1easyeda2kicad:HDR-SMD_22P-P1.27-V-M-R2-C11-LS5.5_1U5

Questions

How big is the Etherrail controller PCB?

It measures 16 × 35 mm and has 6 copper layers, 1.6 mm thick.

What parts does the Etherrail controller use?

113 parts, built around the ESP32-C3-WROOM-02U-N4, DRV8870DDAR, MAX98357AEWL+T and XL-1010RGBC-WS2812B-DZ. 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 Etherrail controller KiCad files?

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

Can I use the Etherrail controller design in my own project?

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

Similar boards

  • 8 layers35 × 35 mmOpenAIO, the printed circuit board in 3D

    OpenAIO

    OpenDrone-hw/OpenAIO

    Open-source AIO for 2-6S toothpick quads: flight controller, 4-in-1 AM32 ESC and ExpressLRS receiver, 25.5x25.5 mm.

    343 parts19CERN-OHL-S-2.0
  • 4 layers65 × 30 mmSoleil, the printed circuit board in 3D

    Soleil

    protolux-electronics/soleil_hardware

    Hardware design files for Soleil, an open source power management and sleep control board for Raspberry Pi

    81 parts22CERN-OHL-P-2.0
  • 2 layers62.6 × 20.9 mmCatkeeb devboard, the printed circuit board in 3D

    Catkeeb devboard

    acornitum/fucked-up-rp2040-devboard

    will be fixed sometime i swear

    40 parts1MIT
  • 2 layers70 × 19 mmHackducky v1, the printed circuit board in 3D

    Hackducky v1

    hackclub/hackducky

    The hackclub themed USB rubber ducky ! - Check out hackducky

    45 parts33
  • 2 layers56.8 × 66.2 mmHackapet v4, the printed circuit board in 3D

    Hackapet v4

    acornitum/hackapet-v4

    wip, hackapet pcb v4

    40 parts
  • 2 layers60 × 46 mmCardboard bot, the printed circuit board in 3D

    Cardboard bot

    ColumbiaGadgetWorks/cardboard-bot-v2

    60 × 46 mm, 2-layer, 2 oz copper, for a 2S or 3S LiPo on a screw terminal. JLCPCB assembles the SMD parts on the top side; CGW hand-solders the through-hole parts. Nothing goes on the back.

    67 parts