Adding Printers
O.D.I.N. supports four printer protocols. Each protocol has its own discovery and connection method. Once connected, printers report telemetry in real time and accept remote control commands.
Navigate to Settings > Printers > Add Printer and select your printer type.
Bambu Lab
Supported models: X1C, P1S, P1P, A1, A1 Mini, H2D
| Field | Where to Find It |
|---|---|
| IP Address | Printer LCD: Settings > Network |
| Access Code | Printer LCD: Settings > Network > Access Code |
| Serial Number | Printer LCD: Settings > Device Info |
O.D.I.N. connects via MQTT to receive telemetry (temperatures, print progress, AMS status, HMS errors). The access code authenticates the MQTT connection directly with the printer.
The access code changes if you re-bind the printer to Bambu Cloud. Update it in O.D.I.N. if you re-bind.
H2D Dual-Nozzle Support
The Bambu Lab H2D is automatically detected as a dual-nozzle printer. O.D.I.N. displays:
- Independent temperature readings for both nozzles
- Dual AMS unit status and filament mappings
- Per-nozzle active/standby state during prints
No additional configuration is required — dual-nozzle capabilities are enabled based on the printer's reported model.
Klipper / Moonraker
| Field | Default |
|---|---|
| IP Address | — |
| Port | 7125 |
O.D.I.N. connects to the Moonraker API via REST polling at 3-second intervals. Moonraker must be accessible from the O.D.I.N. container's network.
Supported operations:
- Real-time status (temperatures, progress, state)
- Start, pause, resume, cancel prints
- Send arbitrary GCode commands
- Upload files to the printer
Ensure Moonraker's [authorization] section allows connections from the O.D.I.N. container IP, or configure trusted clients appropriately.
# moonraker.conf — example trusted client entry
[authorization]
trusted_clients:
192.168.1.0/24
PrusaLink
| Field | Where to Find It |
|---|---|
| IP Address | Printer LCD: Settings > Network |
| API Key | Printer LCD: Settings > Network > PrusaLink > API Key |
O.D.I.N. connects via HTTP polling using the PrusaLink REST API. The API key is passed as a header for authentication.
PrusaLink firmware versions vary. Ensure your printer is running a recent firmware that exposes the full PrusaLink API. Older firmware may report limited telemetry.
Elegoo
| Field | Where to Find It |
|---|---|
| IP Address | Printer touchscreen: Settings > Network |
O.D.I.N. communicates using the SDCP (Smart Device Communication Protocol) for status monitoring and printer control.
Printer Settings
After adding a printer, configure these optional settings:
- Name — Display name shown across the dashboard and reports.
- Organization / Group — Assign the printer to an organization for multi-tenant management. This controls which users can see and operate the printer based on their group membership.
- Smart Plug — Configure a smart plug (IP and type) to enable remote power control. Useful for power cycling unresponsive printers or enforcing quiet hours.
Troubleshooting
| Symptom | Likely Cause |
|---|---|
| Printer shows "Offline" immediately | IP address unreachable from container. Check Docker network and firewall rules. |
| Bambu printer connects but shows no data | Access code is wrong or was recently changed. Re-enter it. |
| Moonraker printer times out | Port is wrong or Moonraker authorization is blocking the connection. |
| PrusaLink shows partial data | Firmware is outdated. Update to the latest PrusaLink-compatible firmware. |