Dart Room

Install Dart Room on your Pi

Four steps, in this order. Steps 1–3 give you a scoring board that plays offline and online; step 4 adds voice. Each step is one command or one button.

What you need: a 3-camera dart rig (Raspberry Pi 5 with Raspberry Pi OS Bookworm/Trixie, or an amd64 PC on Ubuntu 24.04), SSH access, internet on the Pi, and a tablet or phone on the same network as the scoreboard.

1 · The trainer (scoring)

SSH into the Pi and paste:

curl -sSL https://dart-room.com/trainer/install.sh | sudo bash

Then dart-trainer to start it, open http://<your-pi-ip>:8788 on the tablet, tap Calibrate, then Confirm orientation — one time. The full trainer guide covers configuration, calibration, updating and troubleshooting. Coming from autodarts: the trainer pauses it while running and hands the cameras back when you stop.

2 · The online add-on

Online matches, pairing and the live match page are a separate package alongside the trainer:

sudo apt install dart-room-bridge && sudo systemctl restart dart-trainer

Without it the board plays offline exactly as before (the tablet says offline only).

3 · Pair the board

  1. Account & boards: press Generate pair code. It shows a short code (XXXX-XXXX).
  2. On the tablet: ⚙ Settings → dart-room.com. Type the code into the code field and tap Pair.
  3. Stay on Account — a Confirm button appears once the board has the code. Press it, copy the pair token, paste it into the pair token field on the tablet, tap Finish. The token stays on Account until the board has it.
  4. Still in Settings, turn on Allow dart-room.com to start matches on this board.

No terminal needed. If the section is missing from Settings, either the trainer is older than 0.9.91 (sudo apt update && sudo apt install --only-upgrade dart-trainer, then check dpkg -l dart-trainer | tail -1) or the dart-room-bridge add-on from step 2 is not installed or not running. If a code is refused, the section says why (wrong code, expired, already used, or board linked to another account). One-time per board; from then on you start a match from a room here and the board joins by itself.

4 · Voice (optional)

Puts the room's voice chat and the darts caller on the board's own audio (speaker or Bluetooth headset) — Raspberry Pi or amd64 PC, same OS targets as the trainer. Players without a board join the room's voice link from a phone or browser instead.

curl -sSL https://dart-room.com/setup.sh | bash

Installs the voice client, its config UI on http://<your-pi-ip>:8080, the caller forwarder and PipeWire audio (1–2 minutes). Then create or open a room here, copy its token and paste it in the config UI. Add --tune to the command for low-latency audio tweaks (CPU governor, WiFi power save; safe to re-run). Update by re-running the same command.

Troubleshooting

Tablet says “offline only”Step 2 is missing — install dart-room-bridge and restart the trainer.
Every score a sector offOrientation was never confirmed after Calibrate — see the trainer guide.
No audioCheck systemctl --user status pipewire; reboot after the first voice install.
Config UI offlinesudo systemctl status dart-room-ui
Package errorscat /etc/apt/sources.list.d/dart-room.list, then sudo apt update and retry.