Output Connection - Robot {robot.id} Configure where this robot sends its movements. Multiple outputs can be active simultaneously.
{#if error} Connection Error {error} {/if} {#if showUSBCalibration}
Hardware Calibration Required
Before connecting to the physical robot, calibration is required to map the servo positions to software values. This ensures accurate control. {#each robot.getUncalibratedUSBDrivers() as usbDriver} {:else}
No USB drivers require calibration
{/each}
{:else}
Active Outputs
{outputDriverCount} Connected
Local Hardware (USB) Send commands directly to physical robot hardware
Remote Control Broadcast robot movements to remote robots or AI systems from anywhere in the world

Create New Room

Create a room to broadcast this robot's movements

Join Existing Room: {robotManager.rooms.length} room{robotManager.rooms.length !== 1 ? "s" : ""} available
{#if robotManager.rooms.length === 0}
{robotManager.roomsLoading ? "Loading rooms..." : "No rooms available. Create one to get started."}
{:else} {#each robotManager.rooms as room}

{room.id}

{room.has_producer ? "🔴 Occupied" : "🟢 Available"} 👥 {room.participants?.total || 0} users
{#if !room.has_producer} {:else} {/if}
{/each} {/if}
{#if producers.length > 0} Connected Outputs
{#each producers as producer}
{producer.name} {producer.id.slice(0, 12)}
{/each}
{/if} {/if}