DeskDot Open in browser GitHub
3D Printer running on a 32×32 LED panel
32×32 · Livereal render
DeviceLive

3D Printer

Print progress ring, ETA, nozzle and bed temperatures from OctoPrint or Moonraker.

At a glance

OutputLiveRendered by the engine and streamed over Bluetooth as its data changes (about 5–9 frames a second).
Settings8every one editable live in the studio, or by an agent with update_app_settings
Sourceprinter.pysrc/deskdot/apps/printer.py

Settings

Settings
SettingTypeDefaultOptions / range
Connection
ServerkindchoiceOctoPrint
OctoPrintMoonraker / Klipper
Hosthoste.g. octopi.local or 192.168.1.50 (blank = not set up)textemptyup to 120 characters
Portport0 = default (OctoPrint 80, Moonraker 7125)whole number00 – 65535
API keyapi_keyOctoPrint: Settings → Application Keys. Moonraker: only if required. Never logged.textemptyup to 120 characters
Display
LayoutlayoutchoiceProgress ring
Progress ringRows
Celebrate for (min)celebrate_minConfetti after a finished printwhole number100 – 120
Notify when done or failedalertson/offOnon / off
Take over the playlist while printingtakeoveron/offOffon / off

Try it

render a frame to PNG (no panel needed)
$ uv run deskdot preview printer --settings '{"kind":"moonraker"}' --out printer.png
show it on your panel (engine running)
$ curl -X POST http://127.0.0.1:8765/api/apps/printer/activate

Or ask your agent: “Show 3D Printer on my panel”. It calls show_app with "printer". New here? Set up DeskDot first.

More device apps