Skip to main content

TV Dashboard & Control Room

O.D.I.N. provides three display modes optimized for large screens, control room setups, and OBS streaming.


TV Dashboard​

Overview​

The TV Dashboard is a full-viewport display optimized for wall-mounted monitors and TV screens in a print farm.

  • Route: /tv
  • Opens in a new tab from the Cameras page (TV icon button)
  • No sidebar — full-screen layout
No Authentication Required for TV Dashboard

The TV dashboard (/tv) does not require authentication. It can be displayed on a wall screen without logging in. Sensitive data (credentials, user info) is not shown — only printer status, job progress, camera feeds, and alert counts.

Layout​

Header bar:

  • App branding (name + logo)
  • Live count of currently printing printers
  • Live clock and date

Printer card grid:

  • Responsive grid with camera thumbnails (WebRTC), printer name, status badge, active job name, progress bar, and ETA
  • Cards auto-size to fill the available grid space

Auto-pagination:

  • Farms with more than 12 printers paginate automatically, cycling through pages every 30 seconds
  • Page position dots are shown at the bottom of the screen

Stats bar:

  • Count of unread print-failure, low-spool and overdue-maintenance alerts, displayed at the bottom

Exiting​

Press Escape or click the X button to close the TV Dashboard.


Control Room Mode​

Control Room Mode provides a full-screen multi-camera grid with no UI chrome.

  • Activation: Press F on the Cameras page
  • Deactivation: Press Escape

All active camera feeds are displayed simultaneously in a grid that auto-sizes to fit the screen. No printer cards, no sidebar, no header — cameras only.


OBS Streaming Overlay​

The OBS overlay provides a browser source for live streaming. It shows one printer's camera feed plus real-time status data.

Route​

/overlay/:printerId

No authentication is required — the overlay endpoint is public so OBS can load it without credentials.

Layout​

  • Left 70%: Live WebRTC camera feed for the selected printer
  • Right 30%: Status panel with:
    • Printer name
    • Active job name
    • Progress bar and percentage
    • Layer count (current/total)
    • ETA
    • Nozzle and bed temperatures

Data is polled from GET /api/overlay/{printerId} every 5 seconds.

Query Parameters​

ParameterValuesDescription
cameratrue (default), falseShow or hide the camera feed panel
themedark (default), lightColor theme of the overlay

Example:

http://your-odin-host/overlay/3?camera=true&theme=dark

OBS Setup Steps​

  1. In OBS, add a new Browser Source
  2. Set the URL to http://your-odin-host/overlay/{printerId}
  3. Set Width to 1920 and Height to 1080 (or your stream resolution)
  4. Check Shutdown source when not visible to save resources when the scene is inactive
  5. The overlay will automatically show the live camera and job status

A Copy Overlay URL button is available on each printer card. It mints a camera-only API token (sole scope read:cameras, valid for at most 365 days) and copies the overlay URL with that token. Overlay URLs carrying an older token with other or additional scopes no longer show the camera; copy the URL again from the printer card.


See Also​