> For the complete documentation index, see [llms.txt](https://modeltrainscript.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://modeltrainscript.gitbook.io/docs/manual/supported-systems.md).

# Supported systems

Model Train Script supports two command station families and includes a built-in demo mode for trying out the app without hardware.

## Demo mode

The built-in simulator lets you explore Model Train Script without a physical command station. It emulates a Z21 system including feedback modules, so you can build track plans, create vehicles, and develop automation scripts offline. A great way to get started.

## Z21

Model Train Script connects to Z21-compatible command stations over your local network using UDP (port 21105).

### Compatible hardware

The Z21 protocol is supported by multiple manufacturers. Any Z21-compatible system can be used, though Model Train Script is tested with a Roco Z21.

Known compatible manufacturers include:

* **Roco / Fleischmann** — Z21 (black/white)
* **Zimo** — MX10 / MX10EC
* **DigiKeijs** — DR5000
* **Yamorc** — YD7001
* **mXion** — mXion SS (a speed step workaround is available in the [profile configuration](/docs/manual/profile.md) for mXion devices)

### Features

* **Locomotive control** — Speed, direction, and functions (F0–F28). Supports 14, 28, and 128 speed steps.
* **Accessories** — Switch turnouts and signals, including extended accessories (0–255). Optional automatic deactivation timers for accessory outputs.
* **Feedback** — All three feedback buses are supported:
  * **R-Bus** — Up to 19 modules with 8 ports each.
  * **LocoNet** — Up to 2048 addresses. Supports RailCom address detection.
  * **CAN bus** — Up to 256 addresses with 8 ports each. Supports RailCom address detection.
* **CV programming** — Read and write CVs on the programming track and on the main (POM).
* **Track power** — Turn power on/off and monitor status (including short circuit detection).

### Network setup

Out of the box, a Z21 is configured to use a static IP address (default 192.168.0.111). For a better experience you might want to connect your command station to your router. A good tutorial can be found [here](https://www.youtube.com/watch?v=kvB5Jqqv5-M) on YouTube.

{% hint style="warning" %}
Due to a limitation of the Z21 protocol, only one device should have automation enabled at the same time. Configure this in [App Settings](/docs/manual/settings.md).
{% endhint %}

## ESU ECoS

Model Train Script connects to the ECoS command station over your local network using TCP (port 15471). It is tested with an ECoS 2.1.

### Features

* **Locomotive control** — Speed, direction, and functions. Vehicles can be imported directly from the ECoS including their names and function mappings.
* **Accessories** — Switch turnouts and signals.
* **Feedback** — ECoSLink (S88 and ECoSDetector modules) with RailCom support. Other buses like LocoNet or S88 over external interfaces are currently not supported.
* **Track power** — Turn power on/off and monitor status.

{% hint style="info" %}
CV programming is not supported via the ECoS connection. Use the ECoS interface directly for programming tasks.
{% endhint %}

{% hint style="warning" %}
PC Control must be enabled in the settings of your ECoS for Model Train Script to connect.
{% endhint %}

## Feature comparison

| Feature                             | Z21 | ECoS | Demo |
| ----------------------------------- | :-: | :--: | :--: |
| Locomotive control                  |  ✓  |   ✓  |   ✓  |
| Accessories                         |  ✓  |   ✓  |   ✓  |
| Extended accessories                |  ✓  |   —  |   ✓  |
| Accessory deactivation timers       |  ✓  |   —  |   ✓  |
| R-Bus feedback                      |  ✓  |   —  |   ✓  |
| LocoNet feedback                    |  ✓  |   —  |   ✓  |
| CAN bus feedback                    |  ✓  |   —  |   ✓  |
| ECoSLink feedback                   |  —  |   ✓  |   —  |
| RailCom address detection           |  ✓  |   ✓  |   ✓  |
| CV programming                      |  ✓  |   —  |   —  |
| Vehicle import from command station |  —  |   ✓  |   —  |
