Skip to main content
DEJA.jsDEJA.js

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

DEJA.js connects your DCC-EX CommandStation to every device on your network. Throttle, manage, and automate your layout from any browser — no app store required.

Web app · iOS & Android coming soon · No app store required

You tap

Throttle app — slide to control speed

Server routes

deja — tamarack

$

✓ Ready

← throttle {addr:3, speed:50}

<t 3 50 1>

DCC-EX Translates

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

Train moves

Scroll
Quick Start

Up and running in 3 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
02

Install the Server

Plug in your DCC-EX CommandStation via USB and install the CLI. Upon successful installation, the installer will automatically run deja start for you.

bash
$curl -fsSL https://install.dejajs.com | bash
Need help? Read the Getting Started guide →
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

From zero to running trains in minutes.

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

✓ CommandStation connected on /dev/ttyUSB0

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

Video coming soon

Check back shortly

~2 min
DEJA.jsThrottle App

DEJA Throttle

Complete 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 it works like a native app.

  • 🎚️Speed & Direction Smooth 0–126 step control with momentary and toggle functions
  • 🚂EZ Consist Build multi-loco consists with independent function control per unit
  • ⚙️CV Programming Read and write decoder CVs directly from the Throttle app
  • 🗂️Roster Full loco roster with addresses, names, and road numbers
  • 🔀Turnouts & Routes Throw turnouts individually or trigger full preset routes
  • 📱PWA — No App Store Add to homescreen on iOS or Android for a native-feel experience
📱

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 — locomotive control
DEJA Throttle — mobile home

📱

More screens
coming soon

Server + CLI

One command. Everything connected.

The DEJA Server is a lightweight Node.js process that bridges your DCC-EX CommandStation to the cloud. Install it once, start it with a single command, and your entire layout — throttles, turnouts, signals, effects — is live.

  • 🔌USB serial bridge to DCC-EX CommandStation at 115,200 baud
  • 🌐WebSocket server for real-time browser ↔ hardware communication
  • ☁️DEJA Cloud sync — layout commands flow from cloud to track instantly
  • 🔄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
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
DEJA.jsCloud App

DEJA Cloud

Your layout, managed.

Configure your roster, wire up turnouts and signals, manage devices and connections, and control your layout from anywhere. Connects via USB, WebSocket, or MQTT — including DEJA IO devices.

  • 📋Roster Management Add locos with addresses, names, road numbers, and function maps
  • 🔌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
  • 🎆Effects Trigger sounds, lights, and automation events 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 view
DEJA Cloud signals view
DEJA IO

Expand your layout. Expand your world.

DEJA.js supports a growing range of DCC-EX track modes and hardware devices, giving you precise control over every inch of your layout — from decoder programming to physical expansion boards.

DCC-EX Track Modes

🚂

DCC Main

Standard DCC operations. Run locos with speed, direction, and function control.

⚙️

Programming

Dedicated track for reading/writing CV values to decoder chips.

DC / PWM

Power older DC locos without decoders using pulse-width modulation via DCC-EX.

📡

Booster

Boost DCC signal power to additional track segments for large layouts.

🔗

Multiple DCC-EX CommandStations

Connect multiple DCC-EX CommandStations to a single DEJA layout — each with independent track mode assignments. Run Main, Programming, DC/PWM, and Booster modes on separate hardware.

Hardware Devices

🔌

Arduino Mega

MQTT protocol

Connect via USB to DEJA Server. Pin-level control for outputs, sensors, and signal heads.

📶

Raspberry Pi Pico W

WiFi protocol

WiFi-native CircuitPython device. Connects over your network — no USB cable required.

Expansion Capabilities

Lights
Sounds
Servos
Sensors
Relays
Signals
Turnouts
Outputs
Platform

Built for serious layouts.

Every feature designed around how real model railroaders actually operate.

☁️

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.

🎆

Effects & Automation

Trigger sounds, lights, and automation events from any device on your network.

📡

MQTT Ready

Optional MQTT broker integration for advanced automation and sensor inputs.

🔀

Multi-Track

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

🚦

Signal Control

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

Coming Soon
📱 iOS Native App🤖 Android Native App🔌 WiThrottle Protocol🗺️ Layout Map Editor🎬 Automated Sequences📊 Operations Mode🔔 Push Notifications🔗 Multi-layout Support📱 iOS Native App🤖 Android Native App🔌 WiThrottle Protocol🗺️ Layout Map Editor🎬 Automated Sequences📊 Operations Mode🔔 Push Notifications🔗 Multi-layout Support
FAQ

Common questions.

Support

Help when you need it.

From community forums 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

Your railroad is ready.

Start running trains from anywhere, today.

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 →