RotorLab logo RotorLabDocs

Troubleshooting

Short answers to the problems users hit most often. Each entry describes what you see, why it happens, and what to do.

Why can I not connect over USB on the Live FC page?#

USB connection uses the Web Serial API, which only Chrome and Edge on desktop support. In another browser the page says "This browser does not support Web Serial" when you press Connect. Switch to Chrome or Edge, or change the Connection dropdown to Network and use a WebSocket bridge instead. See Live telemetry.

Why does my LAN WebSocket bridge fail to connect?#

When the page is served over HTTPS the browser blocks insecure ws:// connections, so a bridge on your LAN must be reachable over wss:// (TLS). If you cannot put TLS on the bridge, use the Cloud relay instead: the agent dials out to the RotorLab server over WSS and no LAN TLS is needed.

The relay says my agent is offline. What do I check?#

The Live FC page shows whether a channel's agent is online before you connect. If it shows offline, either the agent is not running next to the flight controller, or the agent and the browser are on different channel labels. The agent picks its label with --channel (default default), and the browser picks which label to view, so both sides must use the same one. The agent reconnects on its own with capped backoff, so once started it should come back after network drops.

I am locked out after failed sign-ins. How long do I wait?#

Repeated failed sign-ins are throttled: after too many failures in a short window, further attempts return "Too many attempts. Try again later." The lockout clears on its own after a few minutes, and someone else failing sign-ins elsewhere cannot lock you out.

The API returns 429. What does that mean?#

Your daily API quota is spent, and so is any credit balance. Every metered request spends one unit; the daily quota resets at 00:00 UTC, and once it is exhausted requests draw from credits. When both are gone the API returns 429 with a Retry-After header saying how long to wait. Each metered response also carries X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Credits so you can watch it coming. See API quickstart.

An old build loads with no cruise curve. Why?#

A build saved before the forward-flight model existed loads with flat-plate drag area f set to 0, which is the legacy flat-cruise path, rather than silently inheriting the modern default. This preserves the numbers the build was saved with. Set f to a real value in the Forward flight group to get the full power-required curve. See Forward flight and VTOL.

The live pages show an overlay asking for an add-on. Why?#

Live telemetry and calibration are gated features: access is per organization and comes from a plan with live included or a purchased live add-on. When your plan lacks live access, the live and calibration pages show an overlay that links to the Add-ons section under My account. The gate is enforced on the server, so the overlay is informational, not the enforcement. See Plans and billing.

My log file is not recognized. Which formats work?#

RotorLab reads three flight-log formats, identified from the file's own bytes rather than its name: ArduPilot dataflash (.bin), MAVLink telemetry logs (.tlog), and PX4 ULog (.ulg). Anything else is refused with "Unrecognized log format". A file with the right extension can still be refused if its contents are not actually one of these formats, for example a truncated download or a re-encoded copy. See Log formats.