---
title: "DCC-EX Command Station EX"
url: "https://maker.wiznet.io/matthew/projects/dcc-ex-command-station-ex/"
markdown_url: "https://maker.wiznet.io/matthew/projects/dcc-ex-command-station-ex/md"
type: "UCC: User Created Content"
author: "DCC-EX"
author_url: "https://github.com/DCC-EX/CommandStation-EX"
editor: "WIZnet"
editor_url: "https://maker.wiznet.io/"
original_author: "DCC-EX"
original_url: "https://github.com/DCC-EX/CommandStation-EX"
published: "2025-11-28"
language: "en"
likes: 0
views: 906
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# DCC-EX Command Station EX

> Open-source DCC command station firmware that turns an Arduino + W5500 Ethernet shield into a full LAN-connected hub for JMRI, WiThrottle, and EX-RAIL auto.

Original author: DCC-EX (source: https://github.com/DCC-EX/CommandStation-EX)

## Article

## CommandStation-EX — Open-Source DCC Command Station with W5500 Ethernet

### Introduction

This project is an open-source **DCC command station firmware** called
**EX-CommandStation (CommandStation-EX)** from the **DCC-EX** team. It turns an inexpensive microcontroller board (typically an **Arduino Mega**) plus a motor shield and a **WIZnet W5500-based Ethernet board** into a fully featured, LAN-connected **digital command station** for model railroads.

With this firmware you can:

- Drive a whole home or club layout in **NMRA DCC**

- Control it from **phones and tablets** (Engine Driver, WiThrottle, ThrottleCard, web throttles)

- Integrate with **PC software** (JMRI, Rocrail, etc.)

- Script automation and layout logic with **EX-RAIL**

- And do all of that over **USB, Wi-Fi, or Ethernet (via W5500)**.

**What is DCC?**
DCC (Digital Command Control) is the NMRA standard for digital control of model railroads. Instead of varying the track voltage like in analog DC, the rails carry a **constant-voltage digital signal**. Each locomotive has a **decoder** with its own address and listens only to the packets meant for it, so you can independently control speed, direction, lights, and sound for multiple trains on the same track.

---

### Overview — What CommandStation-EX Provides

### ![](https://maker.wiznet.io/upload/ckeditor5/1071068137%5F1764333498%2Epng)

At a glance, CommandStation-EX is:

- A **full NMRA DCC command station firmware**

- Running on:
  - Arduino Uno / **Mega 2560** (the common and recommended baseline)
  - Arduino Nano Every, ESP32, some STM32 “Blue Pill”-class boards, Teensy, and more

- Connectable via:
  - USB serial
  - Wi-Fi (ESP8266/ESP32 expansion)
  - **Ethernet**, using W5500-based boards: Arduino Ethernet Shield 2, WIZnet WIZ850IO, Nano Ethernet Shield, etc.

- Speaking two key protocols:
  - **DCC-EX Native Commands** — text commands like `<1 MAIN>` (track power ON), `<t …>` for speed/direction, `<W/R>` for CV operations
  - **WiThrottle Protocol** — used by Engine Driver, WiThrottle, ThrottleCard and many other throttle apps

- Integrating with:
  - Engine Driver / WiThrottle / ThrottleCard
  - EX-WebThrottle and EX-Toolbox
  - JMRI, Rocrail, and other DCC tools

On top of that, the ecosystem includes:

- **EX-RAIL** — a small scripting language/DSL for layout automation (shuttles, loops, signals, lighting, sound, etc.)

- IO expansion and helpers (EX-IOExpander, EX-Turntable, EX-FastClock, etc.)

In other words: **one open-source firmware, plus a handful of off-the-shelf boards, gives you a complete digital command station platform**.

---

### Project & Team — Who Is DCC-EX and Where Are They Active?

#### The Project

DCC-EX describes itself as an:

> “easy-to-use, affordable, do-it-yourself, open-source DCC/DC solution”

It started from Gregg Berman’s original **DCC++** but has since grown into a full ecosystem:

- **EX-CommandStation** (this project)

- **EX-RAIL** automation

- **EX-WebThrottle**, **EX-Toolbox** (Android tool app)

Plus multiple hardware reference designs and add-ons.

The core team is a group of **volunteer programmers and electronics engineers**, with an expanded group contributing documentation, hardware designs, testing, and support.

#### Where They Hang Out

**1. Discord — the main hub**

- On the DCC-EX site, Discord is explicitly listed as the **preferred support and community channel**.

- Multiple language channels (English, German, French, etc.) handle:
  - New build questions
  - Wiring and motor shield choices
  - EX-RAIL scripting help
  - Ethernet/Wi-Fi networking issues
  And most questions get answered within hours.

![](https://maker.wiznet.io/upload/ckeditor5/1071068137%5F1764333692%2Ejpg)

![](https://maker.wiznet.io/upload/ckeditor5/1071068137%5F1764333718%2Ejpg)

Repo: <https://discord.com/channels/713189617066836079/1252800244412973118>

**2. Facebook groups**

- The “**DCC-EX, DCC++, and Arduino Model Railroading**” group is a semi-official hub for sharing builds, problems, and success stories.

![](https://maker.wiznet.io/upload/ckeditor5/1071068137%5F1764333828%2Ejpg)

**3. YouTube**

- The **DCC-EX YouTube channel** publishes how-to videos for EX-CommandStation, CSB1 ready-made hardware, and EX-RAIL.

- Independent channels have produced popular videos like
  **“Amazing Digital Controller for Under £50”**, showing a DCC-EX build as a fully capable command station for under £50. Many users discover DCC-EX through these videos and then join the Discord/Facebook communities.

![](https://maker.wiznet.io/upload/ckeditor5/1071068137%5F1764333864%2Ejpg)

[Embedded media](https://www.youtube.com/embed/jv_xfwLZJd8)

**4. TrainBoard DCC Forum**

- On their “About” page, DCC-EX explicitly lists the **TrainBoard DCC++ Forum** alongside Discord as a place where you can “seek us out”.

- TrainBoard’s DCC forum has numerous threads tagged for **dcc++ex**, covering:
  - Quick build guides for EX-CommandStation
  - Static IP questions and Ethernet issues
  - Booster and power section design
  - Turnout wiring and running without a dedicated programming track

- Other blogs and forums often say things like “for deeper discussion, see the threads on TrainBoard and the documentation on dcc-ex.com,” which shows how much the TrainBoard content amplifies the project.

![](https://maker.wiznet.io/upload/ckeditor5/1071068137%5F1764333918%2Ejpg)

#### Influence & Ecosystem Impact

- **JMRI** lists **EX-CommandStation** as a supported command station, with dedicated connection instructions (USB, Wi-Fi, Ethernet).

- New hardware, like the **ThrottleCard** handheld throttle, explicitly supports **WiThrottle + DCC-EX Native** protocols — i.e., DCC-EX is treated as a first-class citizen alongside traditional vendors like Digitrax or NCE.

- Blogs and technical sites (e.g., loco.engineering, LWN’s coverage of Everything Open 2023) present DCC-EX as a flagship example of open-source model railroading, often highlighting that you can build a full-featured system for ~€60–70.

All together, DCC-EX is no longer “just a GitHub repo”; it is a widely recognized **DIY DCC platform** that influences how newcomers think about building their own command station.

---

### How It Works — Architecture & Data Flow

![](https://maker.wiznet.io/upload/ckeditor5/1071068137%5F1764334287%2Epng)

#### Hardware & Timer HAL

To support many MCUs, EX-CommandStation uses a hardware abstraction layer:

- Separate timer/interrupt implementations such as `DCCTimerAVR`, `DCCTimerSAMD`, `DCCTimerSTM32`, `DCCTimerESP`, `DCCTimerTEENSY`, etc.

- IO expansion and devices (sensors, servos, sound modules, LEDs) are abstracted via `I2CManager_*` and `IODevice*` classes, which makes it easy to tie them into EX-RAIL scripts and peripheral projects like EX-IOExpander or EX-Turntable.

#### DCC Signal Engine & Track Management

Core DCC logic lives in modules such as `DCC.cpp`, `DCCWaveform.cpp`, and `TrackManager.cpp`:

- Generating NMRA-compliant DCC waveforms (preamble, bit timings, packet formats)

- Controlling main and programming track power

- Service mode programming (CV read/write) and Ops mode programming

- Handling track/section mode (DCC vs DC) and block management

#### Protocol & Network Layer

EX-CommandStation understands two main text-based protocols:

**1.DCC-EX Native Commands**

- Human-readable ASCII commands in angle brackets.

- Examples:
  - `<1 MAIN>` — turn main track power ON
  - `<0 MAIN>` — main track OFF
  - `<t 3 45 1>` — set loco address 3 to speed 45, forward
  - `<W 1 5 128>` — write CV 5 = 128

- Used heavily by EX-WebThrottle, EX-Toolbox, and tools like JMRI’s DCC++ over TCP.

**2.WiThrottle Protocol**

- The widely used protocol for throttle apps such as Engine Driver, WiThrottle, ThrottleCard, etc.

- Handles:
  - Hello/handshake, client identity
  - Throttle acquisition/release
  - Speed, direction
  - Functions (lights, sound, smoke, etc.)
  - Turnout and route commands

No matter whether the client connects via **USB**, **Wi-Fi**, or **Ethernet**, what ultimately flows into the firmware is one of these **text command streams**. Ethernet — and specifically **W5500** — is “just” a transport for them, but it’s a very important one.

---

### Ethernet & W5500 — What Flows Over It and Why It Matters

![WIZ850io](https://wiznet.io/files/attach/product/WIZ850io.png)

#### Supported W5500 Hardware

![Arduino Ethernet Shield 2 – Internet Connectivity for Arduino Projects — Arduino Official Store](https://maker.wiznet.io/upload/ckeditor5/1071068137%5F1764334172%2Ejpeg)The official “Supported Ethernet Boards” list includes:

- **Arduino Ethernet Shield 2** — based on WIZnet **W5500**

- **WIZnet WIZ850IO** — compact W5500 module

- Sunfounder Ethernet Shield

- Arduino Nano Ethernet Shield

The docs also state that the **only Ethernet chip that is actively tested and supported is W5500**.

So in practice, **W5500 is the “official” Ethernet solution for EX-CommandStation**.

#### W5500’s Role in the System

You can think of W5500 as the **onboard network card + TCP/IP engine** for EX-CommandStation:

- The MCU (e.g. an Arduino Mega) talks to W5500 over **SPI**.

- W5500 provides **hardware MAC/PHY and TCP/UDP/IP** plus **eight simultaneous sockets**.

- CommandStation-EX uses those sockets to host:
  - A **WiThrottle server**
  - A **DCC-EX Native TCP server**
  - Possibly web-based tools or diagnostics (e.g. EX-WebThrottle, EX-Toolbox connections)

In short: **W5500 is what makes EX-CommandStation a first-class citizen on your layout LAN.**

#### What Data Actually Goes Over W5500?

**1. From clients to EX-CommandStation (control commands)**

Over TCP connections on W5500, clients send:

- **WiThrottle protocol packets** from apps like Engine Driver, WiThrottle, ThrottleCard:
  - Session setup and identification
  - Loco selection, speed, direction
  - Function toggles (lights, horns, sound slots, etc.)
  - Turnout and route control

- **DCC-EX Native command packets** from tools like EX-WebThrottle, EX-Toolbox, or JMRI’s DCC++ over TCP:
  - Track power ON/OFF (`<1 MAIN>`, `<0 MAIN>`)
  - Throttle commands (`<t …>`)
  - CV read/write (`<R …>`, `<W …>`)
  - EX-RAIL automation triggers and layout logic events

These are all **human-readable ASCII messages**, carried over W5500’s TCP sockets.

**2. From EX-CommandStation back to clients (feedback/state)**

EX-CommandStation also streams state back over W5500:

- Track power status (ON/OFF, short, faults)

- Current speed, direction, and function states for each loco

- Turnout and route states

- Results of CV reads and programming track operations

- Automation/EX-RAIL progress and event notifications

Clients use this to:

- Update throttle UI displays

- Refresh JMRI/Rocrail panels and track diagrams

- Keep hardware throttles (like ThrottleCard) in sync with the command station

**3. Multiple clients at once**

Because **W5500 supports up to eight sockets**, you can typically have:

- Several smartphone throttles

- One or more PC tools (JMRI, Rocrail)

- A web-based throttle or diagnostics tool

all connected concurrently to the same EX-CommandStation over the same W5500 Ethernet interface.

**One-line summary of W5500’s role:**

> W5500 turns EX-CommandStation into a LAN-connected control hub, where multiple throttles and tools exchange WiThrottle and DCC-EX Native commands with deterministic, wired reliability.

---

### Why This Project Matters (and Why It’s a Strong UCC)

**1.A de-facto standard DIY DCC command station**

- Many “build your own command station for under $50/£50” guides now default to **DCC-EX + Arduino + motor shield (+ optional W5500 Ethernet)**.

- It’s often recommended as a **first DCC system**: start with DCC-EX, then later choose whether you even need a commercial system at all.

**2.Community-driven feature loop**

- MRH, TrainBoard, and other forums note that ideas posted in the **Discord “Suggestions” channel** have become actual features in the firmware.

- That makes the DCC-EX team not just implementers, but **influencers of the broader DCC ecosystem**, especially around open protocols and automation.

**3.From a WIZnet viewpoint**

- W5500-based boards (Arduino Ethernet Shield 2, WIZ850IO, etc.) are explicitly documented as the **officially supported Ethernet hardware** for EX-CommandStation.

- In practice, that means W5500 is often the **default Ethernet chip** in home and club layouts using DCC-EX — not in a toy example, but in systems that run sessions and operations nights.

- For WIZnet makers, this is a great real-world reference for how W5500 can be used as a **multi-client, TCP/IP backbone in a live control system**, not just in one-off IoT demos.

---

### Quick Start Checklist

If you want to replicate a typical CommandStation-EX + W5500 setup:

**1.Hardware**

- Arduino Mega 2560 (recommended)

- Supported motor shield (per DCC-EX docs: e.g. L298-based shields)

- One of the supported **W5500 Ethernet boards**:

- Arduino Ethernet Shield 2

- WIZnet WIZ850IO (or a Nano Ethernet Shield with W5500)

**2.Firmware install**

- Download EX-CommandStation from `DCC-EX/CommandStation-EX` releases

- Use the **EX-Installer** or Arduino IDE to flash the firmware

**3.Ethernet config**

- Follow the “Supported Ethernet Boards / Ethernet Connection” sections in the docs

- Choose DHCP or static IP

- Set hostname and ports if needed

- Ensure your router and firewall allow the chosen ports

**4.Client integration**

- On PC: configure **JMRI** to connect to EX-CommandStation via USB or Ethernet

- On mobile: install **Engine Driver** or **WiThrottle** and connect via WiThrottle protocol

- Optionally try **EX-WebThrottle** or **ThrottleCard** for different UI and hardware options

---

본 프로젝트는 **오픈소스 DCC 중앙기(Command Station) 펌웨어**인 **DCC-EX EX-CommandStation (CommandStation-EX)**를 통해, 아두이노 + 모터쉴드 + **WIZnet W5500 Ethernet 보드**만으로도
“집·클럽 레이아웃 전체를 제어하는 디지털 제어 허브”를 만들 수 있게 해주는 컨텐츠입니다.

## CommandStation-EX — 오픈소스 DCC 중앙기 & W5500 Ethernet 연동

*(Curated from DCC-EX / Project: EX-CommandStation)*

### 1. Overview — 무엇을 하는 프로젝트인가?

**CommandStation-EX**는 NMRA DCC 규격을 따르는 **모델 철도용 디지털 중앙기(DCC Command Station)** 펌웨어입니다.

**지원 플랫폼**

- Arduino Uno / **Mega 2560(사실상 추천 기본 보드)**

- Arduino Nano Every, ESP32, 일부 STM32(‘Blue Pill’급), Teensy 등 다양한 MCU

**연결 수단**

- USB(시리얼 직결)

- WiFi(ESP8266/ESP32 등)

- **Ethernet (W5500 기반)** — Arduino Ethernet Shield 2, WIZnet WIZ850IO, Nano Ethernet Shield 등 공식 지원

**프로토콜 & 클라이언트**

- **DCC-EX Native Commands** (예: `<1 MAIN>` 로 선로 전원 ON, `<W CV>`/`<R CV>`로 CV 프로그래밍 등)

- **WiThrottle Protocol** (Engine Driver, WiThrottle, ThrottleCard 등 스마트폰 Throttle 앱의 표준 프로토콜)

- 연동: Engine Driver / WiThrottle / ThrottleCard / EX-WebThrottle / JMRI / Rocrail 등

**고급 기능**

EX-RAIL: 스크립트 기반 자동 운전(셔틀·루프 운전, 신호기, 조명, 사운드 등 제어)

EX-IOExpander, EX-Turntable, EX-FastClock 등 확장 모듈

I2C·센서·서보·MP3 사운드 등 IO HAL 포함

요약하면, **저렴한 MCU 보드 + 모터쉴드 + W5500 Ethernet 보드**에 이 펌웨어를 올리면,
상용 DCC 시스템에 버금가는 **풀스택 DCC 중앙기**를 DIY로 구현할 수 있게 해주는 프로젝트입니다.

---

### 2. Project & Authors — DCC-EX 팀과 커뮤니티

#### 2-1. DCC-EX 팀은 누구인가?

**프로젝트 정체성**

슬로건: *“Easy-to-use, affordable, do-it-yourself, open source DCC/DC solution”*

Gregg Berman의 **원조 DCC++**를 완전히 리라이트하여,
EX-CommandStation / EX-RAIL / EX-WebThrottle / EX-Toolbox 등 하나의 생태계를 구축.

**구성**

코어 팀: **자원봉사 프로그래머 + 전자 엔지니어**

확장 팀: 문서·하드웨어 설계·유저 지원에 참여하는 커뮤니티 멤버들

**위상**

JMRI 공식 문서의 “지원 Command Station” 목록에 **EX-CommandStation**이 포함되어 있으며,
Engine Driver·ThrottleCard·Rocrail/EX-WebThrottle 문서에서도 DCC-EX를 직접 언급합니다.

#### 2-2. 어디서 활동하나? — Discord / Facebook / YouTube / TrainBoard

**(1) Discord – 1차 활동 허브**

공식 사이트에서 “**가장 빠르고 선호되는 지원 채널은 Discord**”라 명시.

영어뿐 아니라 독일어·프랑스어 채널까지 운영하며,
하드웨어 선정·배선·EX-RAIL 스크립트·Ethernet 문제 등 질문이 올라오면
**수 시간 이내**에 팀/커뮤니티가 답변하는 “실시간 작업실”처럼 활용됩니다.

**(2) Facebook 그룹“DCC-EX, DCC++, and Arduino Model Railroading”** 그룹에서
DCC-EX 빌드 사진, 문제 해결, 신기능 테스트 결과가 꾸준히 공유됩니다.

**(3) YouTube**

DCC-EX 공식 채널: 설치 방법, CSB1 완제품 소개, EX-RAIL 활용 등 영상 제공.

외부 채널들:

*“Amazing Digital Controller for Under £50”* 같은 영상에서,
“50파운드 이하로 구축 가능한 강력한 중앙기”로 DCC-EX를 소개하며
입문자들이 이 영상을 통해 DCC-EX로 유입되는 흐름을 만들고 있습니다.

**(4) TrainBoard DCC 포럼**

DCC-EX About 페이지에서 **“우리 팀을 찾을 수 있는 곳”**으로
Discord와 함께 **TrainBoard DCC++ Forum**을 직접 언급합니다.

TrainBoard DCC 포럼에는 `dcc++ex` 태그로 묶인 스레드가 다수 존재하며,

“DCC-EX Command Station 쉬운 구축법”,

Static IP / 라즈베리파이 연동,

부스터 구성, Turnout 배선, Prog Track 없이 쓰는 법 등
**실제 현장에서 나오는 질문/답변**이 깊이 있게 쌓여 있습니다.

다른 포럼·블로그에서 “DCC-EX 자세한 논의와 예시는 TrainBoard와 dcc-ex.com을 참고하라”고
직접 링크를 거는 경우도 많아, **외부 커뮤니티로의 파급력**도 상당합니다.

---

### 3. How It Works — 구조와 동작 메커니즘

> GitHub 리포지터리 구조 및 문서를 바탕으로, 실제 동작 흐름을 요약합니다.

#### 3-1. 하드웨어/타이머 HAL

다양한 MCU 지원을 위해, 타이머/인터럽트 레벨이 아키텍처별로 분리되어 있습니다.

`DCCTimerAVR`, `DCCTimerSAMD`, `DCCTimerSTM32`, `DCCTimerESP`, `DCCTimerTEENSY` 등

I2C 확장·센서·서보·사운드 모듈은 `I2CManager_*`, `IODevice*` 계열 클래스로 추상화되어,
EX-RAIL 스크립트나 EX-IOExpander·EX-Turntable 등과 자연스럽게 연계됩니다.

#### 3-2. DCC 신호 생성 & 선로 제어

`DCC.cpp`, `DCCWaveform.cpp`, `TrackManager.cpp`가 담당:

NMRA DCC 파형 생성 (비트 타이밍, preamble, 패킷 구조 등)

메인/프로그램 트랙 파워 제어

서비스 모드(CV 읽기/쓰기) 및 Ops 모드(주행 중 프로그래밍)

블록/선로 타입(DCC/DC) 관리

#### 3-3. 프로토콜/네트워크 레이어

EX-CommandStation은 내부적으로 **두 가지 텍스트 기반 프로토콜**을 이해합니다.

**DCC-EX Native Commands**

형식: `< … >` 형태의 ASCII 텍스트 명령

예:

`<1 MAIN>` : 메인 트랙 전원 ON

`<0 MAIN>` : 메인 트랙 전원 OFF

`<t 3 45 1>` : 주소 3 기관차, 속도 45, 정방향

`<W 1 5 128>` : CV 5에 128 쓰기

역할: 선로 전원·속도·방향·펑션·CV 프로그래밍·블록/센서/IO 제어 전반.

**WiThrottle Protocol**

스마트폰 앱(Engine Driver / WiThrottle / ThrottleCard 등)이 사용하는 표준 프로토콜.

기능: 연결/로그인, 기관차 주소 선택, 속도/방향 제어, 펑션/Turnout/Route 제어 등.

이 두 프로토콜은

USB(Serial),

WiFi(ESP 모듈),

**Ethernet(W5500)**

같은 서로 다른 물리 경로를 타더라도, **최종적으로는 “텍스트 명령 스트림”** 형태로 EX-CommandStation에 들어옵니다.

---

### 4. Ethernet & W5500 — 어떤 데이터를 주고받고, W5500의 역할은?

#### 4-1. 공식 지원 W5500 보드

DCC-EX 공식 문서의 “Supported Ethernet Boards”에는 다음 보드들이 명시되어 있습니다:

**Arduino Ethernet Shield 2** — WIZnet **W5500** 사용

**WIZnet WIZ850IO** — W5500 기반 mini 모듈

Sunfounder Ethernet Shield

Arduino Nano Ethernet Shield

그리고 “**현재 공식적으로 테스트·지원하는 칩은 W5500**”이라고 못 박고 있습니다.

→ 즉, **W5500은 EX-CommandStation용 Ethernet의 사실상 표준 칩**입니다.

#### 4-2. W5500의 역할 (한 줄 정의)

> **W5500은 EX-CommandStation 안에서 “LAN 포트 + TCP/UDP/IP 엔진” 역할**을 수행합니다.

MCU(예: Arduino Mega)는 W5500과 **SPI**로 연결됩니다.

W5500이 제공하는 8개 소켓 위에서

WiThrottle 서버,

DCC-EX Native TCP 서버,

WebThrottle/진단 툴 등이 동시에 소켓을 열어 통신할 수 있습니다.

#### 4-3. W5500 위로 오가는 데이터

**(1) 클라이언트 → CommandStation (제어 명령)WiThrottle 프로토콜 패킷** (Engine Driver / WiThrottle / ThrottleCard):

- 연결 및 핸드셰이크

- 기관차 선택, 속도/방향 변경

- 펑션(라이트/사운드/연기 등) on/off

- Turnout/Route 제어

**DCC-EX Native Command 패킷** (EX-WebThrottle, JMRI DCC++ over TCP 등):

`<1 MAIN>` / `<0 MAIN>` : 선로 전원 ON/OFF

`<t …>` : 속도/방향/펑션

`<W/R>` : CV Write/Read

EX-RAIL과 연동되는 자동운전 트리거 등

이 모든 것은 **W5500의 TCP 소켓 위로 흘러가는 텍스트 데이터**입니다.

**(2) CommandStation → 클라이언트 (상태 피드백)**

선로 전원 상태 (ON/OFF, short, fault 등)

각 기관차의 현재 속도, 방향, 펑션 상태

Turnout / Route 상태 변경

CV 읽기 결과 / Prog Track ACK 에러 여부

자동운전(Automation) 진행 상황 등

클라이언트는 이를 바탕으로

Throttle UI 업데이트,

JMRI 패널/레이아웃 뷰 갱신,

하드웨어 Throttle(ThrottleCard 등)의 표시를 동기화합니다.

**(3) 여러 클라이언트 동시 접속**

W5500은 8개 동시 소켓을 지원하므로,

스마트폰 Throttle 여러 대,

PC(JMRI),

브라우저(웹 Throttle) 등이 동시에 접속해도 운전이 가능합니다.

---

### 5. 커뮤니티 & 인플루언서 효과 — 왜 “파급력이 있는” 컨텐츠인가?

**DIY DCC 중앙기의 사실상 표준 옵션 중 하나**

JMRI, ThrottleCard, 여러 튜토리얼 블로그/유튜브가 “DIY DCC 중앙기를 만들려면 DCC-EX + Arduino + 모터쉴드”를 가장 먼저 추천합니다.

“50달러/50파운드 이하로 구축하는 디지털 중앙기”라는 콘셉트로 반복 소개되면서,
**입문자에게 DCC-EX가 ‘첫 DCC 시스템’으로 자리 잡는 경우**가 많습니다.

**커뮤니티 제안 → 실제 구현 루프**

MRH 포럼, TrainBoard 등에서
“Discord의 Suggestion 채널에 올린 아이디어가 실제 기능으로 들어갔다”는 피드백이 존재합니다.

즉, DCC-EX 팀은 단순히 코드를 제공하는 수준을 넘어,
**오픈 DCC 생태계의 방향을 함께 설계하는 인플루언서적 역할**을 하고 있습니다.

**WIZnet 관점에서 보는 레퍼런스 가치**

W5500 기반 보드(Arduino Ethernet Shield 2, WIZ850IO 등)가 DCC-EX 공식 문서에 정식 지원으로 명시되어 있고,
실제로 집·클럽 레이아웃에서 **“중앙기를 LAN에 붙이는 기본 네트워크 칩”**으로 사용됩니다.

따라서 WIZnet Maker 입장에서 이 UCC는,
“W5500이 실전 모델 철도 프로젝트에서 어떤 데이터·역할을 맡는지”를 가장 잘 보여주는 사례 중 하나입니다.

---

### 6. Quick Reproduce (요약 체크리스트)

**하드웨어**

Arduino Mega 2560 (권장)

모터쉴드 (예: L298 기반, 공식 문서 호환 리스트 참고)

**W5500 기반 Ethernet 보드**

Arduino Ethernet Shield 2 또는 WIZ850IO / Nano Ethernet Shield

**펌웨어 설치**

GitHub `DCC-EX/CommandStation-EX` 릴리즈 다운로드

EX-Installer 또는 Arduino IDE로 펌웨어 업로드

**Ethernet 설정**

DCC-EX 문서의 Supported Ethernet Boards / Ethernet Connection 섹션 확인

DHCP 또는 Static IP 설정

필요 시 포트, 호스트네임, WiThrottle 서버 옵션 조정

**클라이언트 연동**

PC에서 JMRI → EX-CommandStation 연결 (USB 또는 Ethernet)

스마트폰에서 Engine Driver / WiThrottle / ThrottleCard 앱으로 접속

WiFi/유선 혼합 환경에서 Throttle 여러 대 + JMRI + WebThrottle 동시 사용 테스트

---

Source: https://maker.wiznet.io/matthew/projects/dcc-ex-command-station-ex/
