Skip to main content
DEJA

Your bridge to the track.

The DEJA Server is a small program that runs on the computer connected to your EX-CommandStation. It takes the commands you send from the Throttle app and passes them to your DCC-EX hardware over USB. You set it up once, and it runs quietly in the background while you focus on running trains.

Runs on the computer you already have.

Any Mac, Windows PC, Linux box or Raspberry Pi near your layout will do. It just needs to reach your EX-CommandStation with a USB cable.

Mac
Intel or Apple Silicon
Windows
Windows 10 (1809+) or 11, x64 or ARM64
Linux
x86_64 or arm64
Raspberry Pi
Pi 4 or 5 with a 64-bit OS

Works with

Your EX-CommandStation
Any DCC-EX EX-CommandStation on USB. The server talks to it at 115200 baud.
Throttle, in any browser
Phones, tablets and laptops reach your server through DEJA Cloud — no port forwarding.
WiThrottle apps
Engine Driver and ProtoThrottle find the built-in WiThrottle server on your network (port 12090).
DEJA IO boards
Arduino, ESP32 and Pico W over USB, or WiFi through the built-in MQTT broker. The firmware comes with DEJA — configure and deploy it from Throttle, no code to write.

Up and running in six steps.

You'll need a free DEJA account — sign up first if you haven't.

Step 1: Install it — one line

Open a terminal on the computer by your layout and paste the line for your system.

Mac, Linux or Raspberry Pi

$curl -fsSL https://install.dejadcc.com | bash

Windows (PowerShell)

PS>irm https://install.dejadcc.com/install.ps1 | iex

It takes a couple of minutes and installs everything into one folder in your home directory (~/.deja). The download is checked before it's installed.

Node.js 20 or newer is the one thing the server needs. On Windows the installer sets it up for you; on a Mac, Linux or a Pi it checks and tells you exactly how to get it if it's missing.

Step 2: Connect your account

Link this computer to your DEJA account and pick which layout it runs:

$deja login

A code appears and your browser opens Connect your server. Check the code, choose your layout, and tap Authorize. That's it — the terminal says you're logged in.

No screen on your Pi? Over SSH the browser can't open, so the link is printed instead — open it on your phone or laptop. On Windows, the installer runs this step for you.

Step 3: Start the server

$deja start

The server starts and its console opens: the log scrolls above, and you type commands at the prompt below. Type help any time. Want your terminal back? Run it in the background instead:

$deja start -b

Check on it with deja status or deja logs -f.

Step 4: Pick your EX-CommandStation’s port — once

The server finds every USB port on the computer. Tell it which one is your EX-CommandStation: in Throttle, open Devices, choose the port for your EX-CommandStation and turn on Auto Connect. From then on it connects every time the server starts.

Prefer the terminal? In the console, type devices, pick the EX-CommandStation and press p to choose its port.

Bumped the cable? If the USB link drops, the server keeps retrying in the background and reconnects on its own when you plug it back in.

Step 5: Drive

Open Throttle on any phone, tablet or laptop and drive — your server is already linked. Engine Driver and ProtoThrottle find it on your network too.

Step 6: Keep it up to date

$deja update

Downloads the latest version, checks it, and installs it. Your settings and layout stay put, and if the server was running it comes straight back. Updates only happen when you run this — never on their own.

Day to day

The whole command line fits on one screen.

deja start
Start the server and open its console. Add -b to run it in the background.
deja stop
Stop the server.
deja restart
Stop, then start again.
deja status
Version, running or stopped, your account and layout, serial ports, log size.
deja logs -f
Follow the log. Use -n 200 for more lines.
deja resume
Wake a background server from standby.
deja update
Download, verify and install the latest version. Your settings stay put.
deja login
Link this computer to your DEJA account and layout.
deja config
Walk through settings — or config get / config set a single key.
deja devices
List your layout’s devices.
deja deploy
Flash firmware to an IO board.
deja help
Every command, with examples.

Inside the console

Type a command and press ↵. Full names work as they are; short forms take a slash — /r restarts, /q stops.

14:12:01 SRV server Ready · layout tamarack
14:12:03 DCC dccex → <t 77 50 1> throttle 77
14:12:03 DCC dccex ← <l 77 0 178 0>
● running ⏱ 2h 14m │ 📐 tamarack │ 🔌 2/2
›

Every line: time · source · device · what happened. → is a command going out to the EX-CommandStation, ← its reply.

Server

restart
Restart — the console stays open
stop
Stop the server and leave (also quit, exit)
status
Status, devices and throttles
resume
Wake up from standby

Devices

devices
Pick a device: ↵ connect · p port · f flash
connect / disconnect
Connect or drop one device
deploy
Flash firmware

DCC-EX

<1>
Anything in angle brackets goes straight to the EX-CommandStation
dcc
The DCC-EX command reference

Logs & more

filter error
Show only errors (or warn, or all)
recent · errors
Reprint recent lines, or the last 20 errors
export
Save this session’s log
room
Show the Room Code full screen
settings
Change settings without leaving

Keys

  • TabComplete a command
  • ↑ ↓Move through suggestions and history
  • EscClear the line
  • Ctrl+C twiceStop the server (the first press just warns you)

Standby keeps an idle layout safe. After 30 quiet minutes (change that, or turn it off, in deja config) the server gives a minute's warning, then stops every train, cuts track power and pauses cloud sync. Type resume in the console, or run deja resume, to wake it — track power stays off until you turn it back on.

If something's not right

The server can’t reach my EX-CommandStation

1. Check the USB cable is firmly in at both ends.

2. Make sure the right port is chosen: Throttle → Devices, or devices then p in the console. deja status lists every serial port the computer can see.

3. Turn on Auto Connect so it connects whenever the server starts.

Permission denied on the serial port (Linux or Raspberry Pi)

Your user needs access to serial devices. Run this once, then log out and back in:

$sudo usermod -a -G dialout $USER
The server won’t start

1. It says No layout configured? Run deja login and pick your layout.

2. Check Node.js is 20 or newer: node --version. (The Windows installer sets it up for you.)

3. Look at what happened with deja logs.

Start fresh

Run the install line again — it reinstalls in place and keeps your settings.

$curl -fsSL https://install.dejadcc.com | bash
PS>irm https://install.dejadcc.com/install.ps1 | iex

What's next