Frequently Asked Questions
Everything you need to know about setting up and running DEJA.
Getting Started
What is DEJA?
DEJA is a modern, cloud-synced control ecosystem for DCC-EX model railroads. It includes a local Server that talks to your DCC-EX EX-CommandStation over USB, a web-based Throttle for driving trains and managing your layout, and the `deja` command-line tool — all backed by real-time sync across every device on your network.
Is DEJA really free?
Yes — every feature, no limits, no card. Optional donations during setup support development, and we make a living building and supporting layouts through Track & Trestle.
Can I support DEJA?
Yes, if you'd like to. When you set up Throttle you can chip in $5 a month or make a one-time donation, or skip it. Nothing is locked either way. Monthly donations can be managed or cancelled from your Profile.
How does DEJA compare to older software like JMRI?
DEJA is a ground-up alternative built with modern web technology — Vue 3, TypeScript, Firebase, and MQTT — with cloud sync at the core. Open the Throttle on your phone, a tablet, and a laptop at the same time and they all stay in sync instantly. No Java, no XML files, no DecoderPro imports. Install in about two minutes with a single command.
Where do I start?
Three steps: (1) Create a free account at throttle.dejadcc.com and complete the onboarding wizard — it creates your layout and shows you the install command. (2) On the computer connected to your DCC-EX EX-CommandStation, run `curl -fsSL https://install.dejadcc.com | bash` (macOS, Linux, Raspberry Pi) or `irm https://install.dejadcc.com/install.ps1 | iex` in PowerShell (Windows). Then run `deja login` — it opens your browser so you can approve the link to your account — and `deja start` to launch the Server. (3) Open throttle.dejadcc.com on any device and start driving.
Server Installation & CLI
What hardware do I need to run the DEJA Server?
Any computer connected to your DCC-EX EX-CommandStation over USB. macOS (Intel or Apple Silicon), Linux (x86_64 or ARM64), and Raspberry Pi 4/5 all work out of the box. Windows 10/11 (x64 or ARM64) is supported natively — open PowerShell and run `irm https://install.dejadcc.com/install.ps1 | iex`. A Raspberry Pi is the most common choice for a dedicated layout PC.
What software do I need installed before running the Server?
Just Node.js 20 or later. The installer downloads a pre-built Server bundle and sets up everything else — you don't need pnpm, Git, or any build tools. On Linux and Raspberry Pi, your user may also need to be in the `dialout` group to access the USB serial port; the installer will tell you if it does.
How do I install the DEJA Server?
One command in a terminal on the computer connected to your EX-CommandStation: curl -fsSL https://install.dejadcc.com | bash On Windows, open PowerShell and run: irm https://install.dejadcc.com/install.ps1 | iex The installer is the same for everyone. When it finishes, run `deja login`: the CLI shows a short code and opens Throttle in your browser — check the code matches and click Authorize, and the Server is linked to your account and layout. Then `deja start` launches it. Full instructions live at dejadcc.com/docs/server/installation.
What is the `deja` CLI?
`deja` is the command-line tool that manages the local Server. Use it to start and stop the Server (`deja start`, `deja stop`), check its status (`deja status`), tail logs (`deja logs -f`), update to the latest release (`deja update`), and deploy firmware to Arduino and Pico W devices (`deja deploy`). Running `deja start` opens an interactive terminal UI with live logs and a status bar.
How do I update the Server to the latest release?
Run `deja update`. It downloads the latest release from GitHub, swaps in the new Server bundle, and keeps your config and account intact. Updates never happen automatically — you stay in control.
Hardware & Devices
What devices can I use as a throttle?
Anything with a modern web browser. The Throttle app runs on iPhone, iPad, Android phones and tablets, laptops, and desktops. Just open throttle.dejadcc.com — no app install, no pairing. Multiple operators can each use their own device at the same time and everything stays in sync through the Cloud.
What microcontrollers are supported for expanding my layout?
DEJA IO ships with ready-to-deploy firmware for Arduino boards (Mega and compatibles), ESP32 (over USB or WiFi), and CircuitPython boards (Raspberry Pi Pico W). Use them to add lights, sensors, servos, relays, signals, and turnouts. Deploy firmware to a device straight from the terminal with `deja deploy`. WLED controllers are supported too — register one as a device and trigger its scenes from any DEJA app. (Sound effects play through the DEJA Server, not the IO boards.)
How does the system physically connect to my layout?
The DEJA Server runs on a computer connected to your DCC-EX EX-CommandStation with a USB cable. The Server syncs state with DEJA Cloud (Firebase) in real time, so every Throttle session instantly reflects the same layout state. Additional IO devices (Arduino, ESP32, Pico W, WLED) connect to the Server over USB, MQTT, or WebSocket on your local network.
How difficult is it to configure an Arduino, ESP32, or Pico W for lights, sensors, or servos?
Much easier than hand-rolling firmware. In Throttle you register the device and map each pin as an input or output. DEJA generates the config file and `deja deploy` flashes it to the board for you. No sketch editing, no library hunting.
Can DEJA generate DCC-EX automation code for my EX-CommandStation?
Yes. Throttle can generate a `myAutomation.h` file for your DCC-EX EX-CommandStation from your layout's roster, turnouts, routes, and signals. Download it from the EX-CommandStation's device page under Devices and flash it to your EX-CommandStation to enable on-device automation without hand-writing C++.
Managing Your Layout: Locos, Devices & Automation
Where do I manage my layout?
In Throttle at throttle.dejadcc.com — the same app you drive with. Its editors cover locomotives, turnouts, signals, effects, sensors, routes, automations, and track diagrams, plus your account and connected IO devices. (Links to the old Cloud app now redirect to Throttle.)
How do I create a DEJA account?
Sign up at throttle.dejadcc.com with email/password, Google, or GitHub. Accounts are activated immediately — no approval wait. A short onboarding wizard then walks you through naming your layout, an optional donation you can skip, and installing the Server — one install command, then `deja login` to link it to your account from your browser.
How do I register my DCC-EX EX-CommandStation?
You don't have to — every new layout comes with a DCC-EX EX-CommandStation device already set up on USB. Plug the EX-CommandStation into the computer running the DEJA Server and start it with `deja start`; the device on Throttle's Devices page turns green when the Server connects, and you're ready to drive.
How do I add locomotives so I can drive them?
Your layout starts with one locomotive already in the Roster — DEFAULT DCC #3, on address 3, the address new decoders ship with — so you can drive straight away. To add your own, use Quick Add on the Roster (a DCC address and an optional name) or choose Add with details to also pick a color, roadname, and function labels. As soon as you save, the loco is ready to drive. You can edit function mappings and consist pairings from the same editor.
What else can I manage in Throttle?
Everything about your layout: turnouts, signals, routes, sensors, effects, WLED looks and signal zones, sounds, automations, and a visual Track Diagram editor. External IO devices (Arduinos, Pico W boards) are configured here too — DEJA generates their firmware config and the CLI deploys it.
Can I create a visual diagram of my layout?
Yes. Throttle includes a Track Diagram editor where you drag and connect track nodes, stations, turnouts, and waypoints to build a schematic of your layout. Diagrams sync across devices and can be used as a visual control surface for throwing turnouts and monitoring routes.
Can sensors trigger effects or automations automatically?
Yes. Register a sensor on a supported IO device, then link it to an effect in Throttle — a light, relay, or other pin toggle — and it fires in real time when the sensor triggers. Great for grade crossings and block-occupancy indicators. For more than one action, Throttle's Automations start a multi-step sequence when a sensor activates or clears (or when a turnout or signal changes) — throwing turnouts, setting routes, signals, and effects, and driving locos along the way. You build them from blocks in the Automations studio.
Can the system handle multiple operators at once?
Yes. DEJA is designed for multi-throttle operation. Club members and guests can each open the Throttle on their own phone or tablet and drive different locomotives at the same time, with every change synced through the Cloud. Ideal for club layouts, exhibitions, and operating sessions.
Throttle & Remote Access
Is the mobile Throttle app easy to use on small touch screens?
Yes. The Throttle was designed mobile-first with big, accessible "EZ-touch chonky buttons" and a layout tuned for one-handed operation on a phone while you're walking your layout. It works equally well in landscape on a tablet.
Can I access my layout from outside my home?
Yes — and it's free. Your Server streams live device data to your layout's private DEJA Cloud channel while you have a device log open, and Throttle's Devices page shows it from anywhere: each device's serial log, the DCC-EX console, and a live Activity feed of turnout, effect, signal and sensor changes. Nothing to configure: no port forwarding, no router setup, no extra software.
Does DEJA work with WiThrottle clients like Engine Driver or ThrottleCard?
Yes. The DEJA Server runs its own built-in WiThrottle server, so it can replace JMRI for that role — Engine Driver, ThrottleCard, ProtoThrottle hardware, and other WiThrottle-compatible clients connect straight to the DEJA Server and drive locomotives right alongside the DEJA Throttle app. ThrottleCard in particular adds Apple Watch control and game-controller support (Xbox, PlayStation, MFi) on top of that same connection.
Can I automate trains or set up automated demonstrations?
Yes. Throttle's Automations chain steps into a sequence — set a loco's speed and functions, throw turnouts, set routes, signals, and effects, wait for a sensor or a delay, branch and repeat. Run one by hand, at startup, or from a sensor, turnout, or signal. You build them from blocks in the Automations studio, and Test run lets you try one before you save. Throttle can also generate a `myAutomation.h` file so your EX-CommandStation runs EXRAIL automation on its own.
How do I keep track of all my different devices, locos, and turnouts?
DEJA uses a custom color-coding system across the platform. Assign a swatch, tag, or custom color to any loco, turnout, signal, effect, or device in Throttle's editors, and that color follows the item everywhere it appears for instant visual identification.
Troubleshooting & Support
I'm having connectivity or command issues on my layout. How can I debug them?
Start with Throttle's Devices page — each device's live serial log, the Activity feed of turnout, effect, signal and sensor changes, and the DCC-EX console with its command log. For Server-side issues, run `deja status` to check the connection and `deja logs -f` to tail the live log. The Troubleshooting guide at dejadcc.com/docs/server/troubleshooting walks through common problems (serial port permissions, EX-CommandStation not detected).
Where can I get help if I'm stuck?
Start with the documentation at dejadcc.com/docs. Join the community on Discord to ask other DEJA users. When you want it running tonight — or you're wiring a control panel or adding IO devices — book a paid one-to-one video session with Track & Trestle at dejadcc.com/support.