Skip to main content

DCC-EX Console

The DCC-EX Console provides direct access to your DCC-EX EX-CommandStation. You can send raw commands, toggle power, check status, and monitor all command traffic in real time. This is the low-level interface for operators who need to debug, test, or perform operations not covered by the higher-level Roster, Turnouts, or Effects screens.

The console is available at /dccex and requires both authentication and an active DCC-EX device in your layout configuration.

DCC-EX Console

Command Grid

A sidebar next to the terminal shows a grid of preset command buttons, each mapped to a common DCC-EX operation:

ButtonDCC CommandWhat it does
Power<1> / <0>Toggle track power on or off. The button highlights while power is on.
Main Trk<1 MAIN>Power on the main track output.
Prog Trk<1 PROG>Power on the programming track output.
Join Trks<1 JOIN>Join the programming track to the main track.
E-Stop All<!>Emergency stop all locomotives.
Stop Loco<t {addr} 0 1>Prompts for a loco address, then stops that locomotive.
Status<s>Query the EX-CommandStation for its current status.
Reset<D RESET>Hardware reset (asks for confirmation first).
Turnouts<T>List configured turnouts.
Locos<JR>List the roster.
Save<E>Write the current configuration to EEPROM so it persists across power cycles.
Outputs<Z>List configured output pins.
Forget All<->Forget all locomotives (asks for confirmation first).
Read CV<R {cv}>Prompts for a CV number, then reads it.

Button Modes

Buttons behave differently depending on their type:

  • Toggle — Power toggles between on and off, highlighting while active.
  • One-shot — Most buttons send their command with a single click.
  • Prompt — Stop Loco and Read CV open a small dialog to collect a value (loco address, CV number) before sending.
  • Confirm — Reset and Forget All ask you to confirm before executing.

Custom Command Input

At the bottom of the terminal is a command prompt (>). Type any valid DCC-EX command string (without the angle brackets) and press Enter to transmit it. The angle bracket wrapping and newline termination are handled automatically by the server.

Examples of custom commands you might send:

CommandWhat It Does
t 3 50 1Set locomotive address 3 to speed 50, forward
F 3 0 1Activate function F0 (headlight) on address 3
T 1 1Throw turnout index 1
Z 13 1Set output pin 13 HIGH
sQuery EX-CommandStation status

After sending, the input is cleared and ready for the next command.

LCD Terminal

The main panel is a retro LCD-style terminal that streams DCC command traffic in real time. It reads from the layout's command log, so it reflects commands sent from any connected app — not just this console. At the top it shows the live connection status and the reported DCC-EX version.

Each log entry shows the command and its payload, in a monospace terminal style for quick scanning.

Command Cheat Sheet

Below the terminal, a command cheat sheet lists the most common DCC-EX commands grouped by category (power, throttle, turnouts/outputs, and system), color-coded to match the command grid. It links out to the full DCC-EX command reference.

DCC-EX console

Common Use Cases

Debugging Decoder Issues

Send status queries and function commands directly to isolate whether a problem is in the decoder, the command flow, or the UI layer:

=          # Get EX-CommandStation status
t 3 0 1    # Stop locomotive 3 (speed 0, forward)
F 3 0 1    # Turn on headlight for address 3
F 3 0 0    # Turn off headlight for address 3

Testing Turnout Wiring

Send turnout commands directly to verify that your turnout index and pin mapping are correct:

T 1 1      # Throw turnout index 1
T 1 0      # Close turnout index 1

Checking Output Pins

Verify that a specific Arduino pin is toggling correctly:

Z 13 1     # Set pin 13 HIGH
Z 13 0     # Set pin 13 LOW

Saving Configuration

After making changes through the EX-CommandStation's configuration commands, save to EEPROM so they persist:

E          # Save to EEPROM