Skip to main content

Frequently Asked Questions

Everything you need to know about setting up and running DEJA.js.

Getting Started

What is DEJA.js?

DEJA.js is a modern, cloud-synced control ecosystem for DCC-EX model railroads. It includes a web-based Throttle, a Cloud app for managing your layout, a local Server that talks to your DCC-EX EX-CommandStation over USB, a Monitor dashboard, a Tour app for guest-facing effect control and automated demos, and the `deja` command-line tool — all backed by real-time sync across every device on your network.

How does DEJA.js compare to older software like JMRI?

DEJA.js is a ground-up alternative built with modern web technology — Vue 3, TypeScript, WebSocket, 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 cloud.dejajs.com and complete the onboarding wizard — it creates your layout and gives you a personalized install command. (2) Paste that command into a terminal on the computer connected to your DCC-EX EX-CommandStation. It downloads the Server; then run `deja login` to link your account and `deja start` to launch it. (3) Open throttle.dejajs.com on any device on your network 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 is supported through WSL. 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.dejajs.com | bash The onboarding wizard's Setup Complete step generates a personalized install command that pre-fills your account and layout IDs — and you can always get a fresh one later from the Connect page, so `deja login` connects to the right place automatically. Full instructions live at dejajs.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`), deploy firmware to Arduino and Pico W devices (`deja deploy`), and manage a Cloudflare Tunnel for remote access (`deja tunnel`). 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.

Plans & Billing

What plans does DEJA.js offer?

Three. Hobbyist is free forever — up to 5 locomotives, 5 turnouts/signals/effects/sensors/routes each, unlimited sounds, 2 IO devices, and 1 layout. Engineer is $1.99/mo ($19.99/yr) and raises those to 25 each across 3 layouts, plus remote monitoring and the Tour App. Conductor is $19.99/mo ($199.99/yr) and removes the limits entirely, adding priority support with a 24-hour response time. Both paid plans start with a 30-day free trial. See dejajs.com/pricing.

Do I need a credit card to try DEJA.js?

No. DEJA.js is currently free to use — no credit card required. Sign up at cloud.dejajs.com, complete the onboarding wizard, install the Server, and start driving trains.

Can I upgrade to Engineer or Conductor at any time?

Yes. Upgrade, downgrade, or cancel whenever you like from the Settings page in the Cloud app — Manage in Stripe opens the billing portal for payment methods, invoices, and cancellation. Both paid plans start with a 30-day free trial, so you aren't charged until it ends.

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.dejajs.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.js 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, turnouts, and sound effects. 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.

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, Cloud, and Monitor session instantly reflects the same layout state. Additional IO devices (Arduino, ESP32, Pico W, WLED) connect to the Server over WebSocket or MQTT 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 the Cloud app you register the device and map each pin as an input or output. The Cloud generates the config file and `deja deploy` flashes it to the board for you. No sketch editing, no library hunting.

Can DEJA.js generate DCC-EX automation code for my EX-CommandStation?

Yes. The Cloud app 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 Devices page and flash it to your EX-CommandStation to enable on-device automation without hand-writing C++.

Cloud App: Layouts, Locos & Automation

What is the DEJA.js Cloud App and where do I access it?

The Cloud app at cloud.dejajs.com is the central hub for managing your layout — locomotives, turnouts, signals, effects, sensors, routes, automations, and track diagrams. It's also where you manage your account, subscription, and connected IO devices.

How do I create a DEJA Cloud account?

Sign up at cloud.dejajs.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, choosing a plan, entering payment info if you're upgrading, and installing the Server with a personalized install command.

How do I register my DCC-EX EX-CommandStation?

Open your layout in the Cloud app, go to Devices, click Add, select "DCC-EX EX-CommandStation", choose USB as the connection type, and submit. The device shows as disconnected until you start the local DEJA Server — then it turns green and you're ready to drive.

How do I add locomotives so I can drive them?

Go to Roster in the Cloud app and click Add Loco. Enter the DCC address, give it a name, and (optionally) pick a color and function labels. As soon as you save, the loco is available in the Throttle app. You can edit speed curves, function mappings, and consist pairings from the same page.

What else can I manage through the Cloud App?

Everything about your layout: turnouts, signals, routes, sensors, effects, WLED scenes, sounds, automations, and a visual Track Diagram editor (power districts are coming soon). External IO devices (Arduinos, Pico W boards) are configured here too — the Cloud generates their firmware config and the CLI deploys it.

Can I create a visual diagram of my layout?

Yes. The Cloud app 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, for the basic case today. Register a sensor on a supported IO device, then link it to an effect in the Cloud app — 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. Full multi-step Automations (chaining routes, signals, and effects together) is still in development — it's listed as coming soon on the Engineer and Conductor plans.

Can the system handle multiple operators at once?

Yes. DEJA.js 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?

The Engineer and Conductor plans include secure remote access through a Cloudflare Tunnel — run `deja tunnel start` on the Server machine and you get a secure public URL for the Monitor and other local endpoints, no port forwarding or router config required. Engineer starts at $1.99/mo, and both paid plans include a 30-day free trial.

Does DEJA.js 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?

Partially today. The Tour app gives guests a self-serve, guest-accessible view of your layout's effects for exhibitions and open houses. Sensor-triggered effects (see Cloud App FAQ) cover simple automation now. Fully scripted automated sequences and demo presets are on the roadmap — see Coming Soon on the homepage.

How do I keep track of all my different devices, locos, and turnouts?

DEJA.js uses a custom color-coding system across every app. Assign a swatch, tag, or custom color to any loco, turnout, signal, effect, or device in the Cloud app, and that color follows the item everywhere it appears — Throttle, Monitor, Tour, and Cloud — for instant visual identification.

Troubleshooting & Support

I'm having connectivity or command issues on my layout. How can I debug them?

Start with the Monitor app — it shows live WebSocket activity, DCC command traces, serial I/O from the EX-CommandStation, and device telemetry. For Server-side issues, run `deja status` to check the connection and `deja logs -f` to tail the live log. The Troubleshooting guide at dejajs.com/docs/server/troubleshooting walks through common problems (serial port permissions, EX-CommandStation not detected, tunnel not starting).

Where can I get help if I'm stuck?

Start with the documentation at dejajs.com/docs, available to everyone today. An in-app AI support chatbot is coming soon. Engineer adds support tickets with a 72-hour response time, and Conductor adds priority support with a 24-hour response time — that response guarantee is the main reason to choose Conductor. Live one-to-one setup sessions are available to Engineer and Conductor subscribers at $20 per session.