System Requirements
WebSerial (USB connections) only works in Chromium-based browsers. Safari and Firefox do not support it.
Quick Start
1
Clone the repository
2
Install dependencies
3
Start the dev server
4
Open in your browser
Navigate to http://localhost:4000. You will see the dashboard.
Available Scripts
Demo Mode
Demo mode is the fastest way to explore Mission Control without hardware.NEXT_PUBLIC_DEMO_MODE=true and starts the dev server. Seven simulated drones (ArduPilot, PX4, and iNav) appear on the dashboard with realistic telemetry, GPS tracks, and flight modes. All configuration panels work with mock parameters.
You can also activate demo mode by adding ?demo=true to any URL:
Environment Variables
Create a.env file in the project root for optional features. A .env.example file is included in the repo.
Electron Desktop App
Build a standalone desktop application for macOS, Windows, or Linux.1
Build the Next.js app and compile Electron
2
Find the output
The built application is in the
dist/ directory. On macOS, look for the .dmg file. On Windows, the .exe installer. On Linux, the .AppImage or .deb.Electron Architecture
The Electron app wraps the same Next.js standalone server. No proxy layer is needed. The main process starts the Node.js server and opens a BrowserWindow pointed athttp://127.0.0.1:4000.
Convex Backend (Optional)
If you want cloud features (authentication, fleet sync, community changelog, cloud relay), deploy a Convex backend.convex/ directory in the repo contains the standalone backend with around 30 custom tables plus the auth tables. Community users can deploy their own instance without depending on any external service.
Updating
Pull the latest changes and reinstall dependencies:Troubleshooting
Port 4000 is already in use
Port 4000 is already in use
Another process is using port 4000. Kill it or change the port:
WebSerial not available
WebSerial not available
WebSerial requires a Chromium-based browser (Chrome 89+, Edge 89+). It is not available in Firefox or Safari. Make sure you are not running in an incognito window with restricted permissions.
Convex connection fails
Convex connection fails
Check that your
NEXT_PUBLIC_CONVEX_URL is correct and the Convex backend is running. Cloud features are optional. The GCS works fine without Convex for local connections.Electron build fails on macOS
Electron build fails on macOS
Make sure Xcode command line tools are installed:
xcode-select --install. Electron Builder needs native compilation tools for the packaging step.