Native Companion Apps
O.D.I.N. has companion apps for iOS and Android that connect to your self-hosted instance. The apps provide mobile access to your print farm without exposing a full web UI.
Platforms
| Platform | Minimum Version | Distribution |
|---|---|---|
| iOS | iOS 16+ | App Store |
| Android | Android 10+ | Google Play |
Key Features
Real-Time Printer Status
Monitor your entire fleet from anywhere. The app displays the same live telemetry as the web dashboard — printer state, temperatures, print progress, and time remaining. Status updates stream over WebSocket so values stay current without manual refresh.
Push Notifications
Receive native push notifications for:
- Print completion — a job finished successfully
- Print failure — Vigil AI detected a failure or the printer reported an error
- AI detections — spaghetti, detachment, or first-layer issues flagged by Vigil
- Low filament — spool weight dropped below the configured threshold
Notification preferences are configurable per-event in the app settings.
Camera Feeds
View live WebRTC camera streams on mobile. The app uses the same go2rtc streaming infrastructure as the web UI, providing sub-second latency feeds from any configured camera.
Quick Actions
Control printers directly from your phone:
- Pause — pause the active print
- Resume — resume a paused print
- Cancel — cancel the active print
- Start job — start the next queued job on a printer
Job Queue
View and manage the job queue — reorder jobs, assign to printers, or cancel pending jobs.
Spool Inventory
Browse spool inventory, check remaining weights, and scan QR codes to look up spools.
Authentication
The app authenticates against your O.D.I.N. instance using the same credentials as the web UI. You can use:
- Username and password — standard login
- API token — a scoped
odin_token (see API Tokens)
MFA (TOTP) is supported if enabled on your account.
Connectivity Requirements
The app connects directly to your O.D.I.N. instance over HTTP/HTTPS. Your instance must be reachable from the device — either on the local network, via VPN, or through a reverse proxy / tunnel exposed to the internet.
WebRTC camera streams require the go2rtc ports to be accessible from the device. If you are behind a NAT or firewall, configure the appropriate port forwarding or use a TURN server.
See Also
- Native App Setup — how to connect the app to your O.D.I.N. instance
- Camera Streaming — camera configuration for WebRTC feeds
- API Tokens — create a scoped token for app authentication