Connect the camera, the printer, and the laser/GPIO output. This is the first tab you touch every session — nothing downstream works until the printer reports connected and homed.
Click Scan for Cameras to enumerate Player One, Picamera2, and OpenCV devices in a background thread (the UI stays responsive during the scan). Pick a device, choose a resolution and an optional FPS cap, then Apply & Reconnect Camera.
If a Player One camera is detected but blocked by USB permissions, an in-app Install USB Rules button installs the udev rule and reloads udev — no replug needed.
Select the motion backend — Marlin (USB/serial: pick the serial port and baud rate) or Klipper (Moonraker HTTP API: host and port) — then Apply & Reconnect Printer.
Choose a mode: disabled, rpi_gpio (set the BCM pin), or klipper (set the ON/OFF G-code strings). Apply to make it available to Calibration's Quick Capture and the Experiment tab's laser-stimulus phases.
Live connection and homing indicators, polled every 2 seconds. If the printer is connected but not homed — either it reports (0,0,0) or it's sitting at the firmware park position — a warning banner appears with a Home All Axes button. Experiments (and relative jogs) stay blocked until homing succeeds.