Skip to main content
DEJA.jsDEJA.js
DEJA.jsday-ZHAH · jay-ess

Simple to start. Built to grow.
The cloud platform for DCC-EX.

DEJA.js connects your DCC-EXDCC-EX EX-CommandStation to your phone, tablet, and computer using a modern, high performance, secure tech stack. Throttle, manage, and automate your layout from any browser — no app store required.

You tap

Throttle app — tap to control speed

Server routes

deja — tamarack

$

✓ Ready

← throttle {addr:3, speed:50}

<t 3 50 1>

DCC-EX Translates

DCC-EX EX-CommandStation — Arduino Mega with Motor ShieldDCC-EX

Train moves

Scroll
Quick Start

Running trains in three steps.

01

Sign Up

Create your free DEJA Cloud account. Choose a plan that fits your layout. Your roster, settings, and layout data sync instantly across every device.

Sign Up
03

Run

Open the Throttle app on any device — phone, tablet, or desktop. Scan the QR code to launch it instantly on your phone.

Scan to open on phone

See It In Action

Watch the 2-minute quickstart

DEJA.js — Getting Started

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

Downloading DEJA Server v1.2.0...

Installing dependencies...

✓ DEJA Server v1.2.0 installed

→ Starting server...

✓ Server running on ws://localhost:8082

✓ EX-CommandStation connected on /dev/ttyUSB0

ℹ Signed in · Layout: Pittsburg & Shasta 1:87

Video coming soon

Check back shortly

~2 min
Throttle App

DEJA.js ThrottleDEJA.JSThrottle

Precision locomotive control.

Precise speed control, function mapping, EZ Consist, and CV programming — from any browser. No app store, no install. Add it to your homescreen and open it with a tap.

  • 🎚️Speed & Direction Smooth 0–126 step control with momentary and toggle functions
  • 🚂EZ Consist Build multi-loco consists with independent function control per unit
  • 🗂️Roster Snap a photo and AI fills in the roster entry — addresses, names, road numbers, and function mapping
  • 🚦Track Diagrams Turnouts, routes, and signals — all automated from a clickable track map
  • 🎆Effects, WLED & Sounds Toggle lights and relays, activate WLED scenes, and play your sound library from any device
  • Accessible by Design Large, chonky touch targets and four throttle styles to match how you operate. · · ·
  • ⚙️CV Programming Read and write decoder CVs directly from the Throttle app
📱

Web App — works on any device

Open throttle.dejajs.com in Safari or Chrome and tap "Add to Homescreen". Full-screen, no browser chrome.

DEJA Throttle — mobile Buttons throttle
DEJA Throttle — mobile Slider throttle
DEJA Throttle — Buttons throttle in Conductor view
Server + CLI

One command. Everything connects.

The DEJA Server is a lightweight CLI that bridges your DEJA Cloud to your EX-CommandStation. It runs on any computer connected to an EX-CommandStation. Install it once, start it with a single command, and your entire layout — throttles, turnouts, signals, effects — is live.

  • 🕹️WiThrottle server — ProtoThrottle, Engine Driver, ThrottleCard, and JMRI-style throttles connect directly
  • 🔌USB serial bridge to DCC-EX EX-CommandStation at 115,200 baud
  • 📡Connect DEJA IO devices via USB or WiFi — MQTT and WebSockets offer wireless extensibility
  • ☁️DEJA Cloud sync — layout commands flow from cloud to track instantly
  • 🔐Secure by design — browser-based CLI device authorization, credentials stay on your machine
  • 🏗️Robust at scale — dozens of simultaneous operators, locomotives, and devices, with everything DEJA Cloud has to offer
  • 🔄Self-updating via deja update — always on the latest version
macOSLinuxRaspberry Pi

install

bash
$ curl -fsSL https://install.dejajs.com | bash
Downloading DEJA Server v1.2.0...
Installing dependencies...
DEJA Server v1.2.0 installed
Starting server...
Server running on ws://localhost:8082
EX-CommandStation connected on /dev/ttyUSB0
Signed in · Layout: Pittsburg & Shasta 1:87

deja cli

deja
$ deja start # Start the server
$ deja stop # Stop the server
$ deja restart # Restart the server
$ deja update # Update to latest version
$ deja status # Check server health
$ deja logs # Stream server logs
$ deja init # Re-initialize layout
Cloud App

DEJA.js CloudDEJA.JSCloud

Command central for your layout.

Configure your roster, wire up turnouts and signals, manage devices and connections, and control your layout from anywhere.

  • 🗂️Roster Management Add locos with addresses, names, road numbers, and photos — or snap a photo and let AI fill in the details and function mapping
  • 🤝Members & Guests Invite co-operators with a shareable link or printable QR code, approve join requests one by one, or let people in the room join instantly with the rotating room code on the Monitor kiosk
  • 🔌Device & Connection Management Connect via USB, WebSocket, or MQTT — configure DEJA IO devices or use custom integrations
  • 🔀Turnouts & Routes Map physical turnouts and build automated route sequences
  • 🚦Signals Configure signal heads and assign them to track blocks
  • 🗺️Track Diagrams Draw your layout as a schematic track map — turnouts, routes, and signals stay live and clickable
  • 🎆Effects, WLED & Sounds Toggle lights and relays, activate WLED scenes, and play your sound library from any device
  • 🖥️DCC Console Send raw DCC-EX commands and view live serial output
☁️

Instant sync across all devices

Change a setting on your desktop — it instantly updates on your phone, tablet, and every connected device.

DEJA Cloud — roster with locomotive images
DEJA IO

Expand your layout. On your terms.

DEJA IO lets you connect common devices — Arduino, Raspberry Pi Pico W, ESP32, or your own custom build — communicating over any supported protocol to expand what your layout can do.

Protocols

MQTTUSB SerialWebSocketWiThrottle

DCC-EX Track Modes

🚂DCC Main⚙️ProgrammingDC / PWM📡Booster

Hardware Devices

🚂

EX-CommandStation

USB Serial

The DCC-EX hardware that drives your track. Connects to the DEJA Server over USB at 115,200 baud.

🔌

Arduino Mega

USB Serial

Connect via USB to DEJA Server for pin-level control of outputs, sensors, and signal heads. WiFi support coming soon.

📡

ESP32

USB SerialMQTT

Connect via USB, or go WiFi-native over MQTT for pin-level control without a cable. WebSocket support coming soon.

📶

Raspberry Pi Pico W

MQTT

WiFi-native CircuitPython device. Connects over your network via MQTT — no USB cable required. WebSocket support coming soon.

💡

WLED

WiFi

Register any WLED controller as a device and trigger its scenes from Throttle, Cloud, or Tour.

Expansion Capabilities

Lights
Sounds
Servos
Sensors
Relays
Signals
Turnouts
Outputs
Platform

Built for the way you operate.

🤖

AI Roster Enrichment

Snap a photo — AI fills in your roster entry, function mapping and all. Review and accept field-by-field.

☁️

Cloud Sync

Roster, turnouts, and settings sync instantly across all devices through DEJA Cloud.

📱

Any Device

Web app works on phone, tablet, and desktop. PWA install — no app store.

🔒

Private Platform

Subscription-gated access. Your layout data is yours — secured end-to-end by DEJA.js.

Real-Time

Commands reach your track in under 100ms via WebSocket + serial bridge.

🔧

DCC-EX Native

Built specifically for DCC-EX. Full protocol support — not a general-purpose tool.

🎮

WiThrottle Compatible

Built-in WiThrottle server replaces JMRI for that role. Engine Driver, ThrottleCard, ProtoThrottle, and other WiThrottle clients connect directly — including ThrottleCard’s Apple Watch and game-controller support.

🎆

Effects, WLED & Sounds

Toggle lights and relays, activate WLED scenes, and play your sound library from any device on your network.

📡

MQTT Ready

Optional MQTT broker integration for advanced automation and sensor inputs.

🗺️

Track Diagrams

Drag-and-drop schematic editor — turnouts, routes, and signals, all automated from a clickable track map.

🔀

Multi-Track

Support for Main, Programming, DC/PWM, and Booster modes on separate EX-CommandStations.

🚦

Signal Control

Configure signal heads with full aspect control tied to block occupancy.

Roadmap
In development
WiThrottle supportCloud-hosted monitorVisual Automation BuilderEXRAIL Automation Studio
In progress
Architecture diagramsConnection test flowCloud setup refinementsMulti-device support
Coming soon
📱 iOS Native App🤖 Android Native App🗺️ Layout Map Editor📊 Operations Mode🔔 Push Notifications🔗 Multi-layout Support🤖 AI Conductor
FAQ

Common questions.

Support

Help when you need it.

From our Discord community to hands-on consulting — we've got you covered.

Community (Discord)

Ask questions, share layouts, and connect with other DEJA.js users. Free for all.

Join Discord →

AI Chat Support

Coming Soon

Get instant answers about setup, configuration, and troubleshooting from our AI assistant.

Support Tickets

Paid plans include support tickets with a guaranteed response time. Priority handling for Engineer and Conductor.

View Plans →

Consulting Services

Per-incident help, prepaid hours, or direct consultation with Track and Trestle Technology for complex layouts and custom integrations.

Get in Touch →
DEJA.jsDEJA.js

Ready to run trains?

Sign up free — you'll be driving in minutes.

No credit card required for free tier · Cancel anytime

DEJA.js is developed by Track and Trestle Technology, LLC

We offer consulting services for DEJA.js projects — big or small. Get in touch →