Skip to main content

Devices

The Devices section is where you register and manage the hardware controllers that make up your layout. Each device represents a physical piece of hardware โ€” a DCC-EX CommandStation, an Arduino Mega, an ESP32, or a Raspberry Pi Pico W โ€” connected to your DEJA Server via USB or WiFi/MQTT.

Devices on the Cloud dashboard

Adding a Device

Click the Add tile to expand the device registration form. Specify:

  • Device ID -- A unique identifier (e.g., commandstation-1, turnout-board-east).
  • Device Type -- One of the supported types:
    • dcc-ex -- DCC-EX CommandStation (USB serial)
    • deja-arduino -- Arduino Mega 2560 IO board (USB serial)
    • deja-esp32 -- ESP32 IO board (USB serial, same sketch as deja-arduino)
    • deja-esp32-wifi -- ESP32 IO board (WiFi + MQTT)
    • deja-mqtt -- Raspberry Pi Pico W IO board (WiFi + MQTT, CircuitPython)
  • Connection -- USB serial or WiFi/MQTT. Auto-defaulted from the device type โ€” deja-esp32-wifi and deja-mqtt default to wifi, everything else to usb.
  • Port -- The serial port path (for USB devices, e.g., /dev/ttyACM0).
  • Topic -- The MQTT topic prefix (for WiFi devices, default DEJA).
  • WiFi / MQTT credentials -- For deja-esp32-wifi and deja-mqtt, surface fields for SSID, password, and broker IP that get baked into the firmware at deploy time.

๐Ÿ“Ÿ See Arduino & ESP32 Setup and Pico W Setup for the firmware setup steps for each device type.

Device Details

Click any device card to view its details page. This includes:

  • Connection status -- USB or WiFi, port/topic, and live connected/disconnected indicator.
  • Assigned turnouts -- Table of all turnouts wired to this device with index, name, pins, type, and state.
  • Assigned effects -- Table of all effects on this device with name, type, and pin.
  • Developer configuration -- Auto-generated config.h snippet (Arduino, ESP32, ESP32 WiFi) or settings.toml + config.json (Pico W) for firmware flashing, plus the exact PlatformIO and Arduino CLI commands needed to build and upload โ€” pulled from getCliDeployCommands() so they always match what deja deploy runs.

Managing Devices

  • Drag to reorder -- Prioritize devices by dragging cards in the list.
  • Connect/disconnect -- Quick-connect buttons on the dashboard with port selection.
  • Reconnect -- One-tap reconnect for devices that lost connection.
  • Refresh ports -- Re-scan for available serial ports.

Related Pages

  • Connect -- Manage live connections between Cloud and your hardware.
  • Layout Configuration -- Tags, ports, modules, and layout metadata.
  • Turnouts -- Assign turnouts to registered devices.
  • Effects -- Assign effects to registered devices.