-
-
Notifications
You must be signed in to change notification settings - Fork 0
Printers
Printers are managed in Settings → Printers. The main app window shows the plugin catalog for whichever printer is selected in the header; use the printer selector in the top bar to switch between printers.
Bespok3d scans your local network using mDNS (Bonjour/Zeroconf) every 15 seconds. Printers running Moonraker will appear in the Add printer discovery list automatically — no IP address required.
If your network blocks mDNS between devices (common on guest WiFi or corporate networks), use the manual IP option instead. You can find the U1's IP address in the Snapmaker touchscreen UI under Settings → Network.
Click Add printer in the app header:
- Select a printer from the discovery list, or switch to Manual and enter an IP address or hostname
- Give it a nickname
- Click Add
The printer appears in the header selector immediately. At this point it's online but not yet managed — the Bespok3d base layer hasn't been installed yet.
Each printer shows a status dot next to its name:
| Dot | Meaning |
|---|---|
| 🟢 Green | Managed — daemon is running and reachable on port 4269 |
| 🟡 Yellow | Online — printer is reachable but the daemon is not running (not yet enrolled, or daemon stopped) |
| 🔴 Red | Offline — printer not reachable at the last check |
| ⚪ Grey | Checking — status not yet determined |
Status is refreshed every 15 seconds while the app is open. Managed status is saved to disk and restored when you relaunch the app — a previously enrolled printer will show as managed immediately on next open.
Enrollment installs the Bespok3d base layer and daemon on your printer. It is a one-time process, and every step is idempotent — safe to re-run if anything goes wrong.
See Quick Start for a step-by-step walkthrough.
If enrollment fails partway through, click Retry from this step on the enrollment screen. You do not need to start over — steps that already completed are skipped.
In Settings → Printers, click the History button on any enrolled printer to see a log of every enrollment step, when it completed, and which adapter was used. Useful for confirming what version of the base layer is installed or diagnosing issues.
In Settings → Printers, each row shows an editable icon and name. Click the icon area to open the picker: choose an accent colour, upload a custom image, and adjust zoom. Changes are saved immediately.
In Settings → Printers, click Remove printer on any row and confirm. Removing a printer:
- Deletes the app's local record of the printer
- Removes it from the printer selector and all dropdowns
It does not uninstall the Bespok3d base layer or daemon from the printer hardware. The printer keeps running exactly as before. If you re-add the same printer, you can re-enroll it without any manual cleanup.
For the Snapmaker U1, enrollment writes the following to persistent storage (all locations survive OTA firmware updates):
| Location | What it is |
|---|---|
/userdata/bespok3d/ |
Bespok3d workspace root |
/userdata/bespok3d/var/lib/demon/ |
Daemon Python source |
/userdata/bespok3d/etc/daemon/server.{crt,key} |
Daemon TLS certificate and key (unique per printer) |
/userdata/bespok3d/auth/acl.json |
Access control list — your GPG public key and bearer token |
/userdata/bespok3d/etc/init.d/autostart/s10bespok3d-daemon |
Daemon autostart entry |
/userdata/cfg/wpa_config.conf |
WiFi credentials backed up to persistent storage |
/etc/udev/rules.d/70-wlan0-mac.rules |
Pins the WiFi MAC address to prevent IP churn |
The following overlayfs files are also written (survive reboots as long as debug mode is active):
| File | What was changed |
|---|---|
/etc/init.d/S99bespok3d |
Added — the plugin init dispatcher |
/etc/init.d/S90lmd |
One line inserted delegating to S99bespok3d at boot |
/etc/nginx/sites-enabled/fluidd |
One include line added for plugin location blocks |
/etc/wpa_supplicant.conf |
Symlinked to /userdata/cfg/wpa_config.conf
|
Klipper and Moonraker config files are extended with [include] directives pointing to Bespok3d's plugin drop-in directories. No existing config is overwritten.
Bespok3d - open source under AGPL-3.0. Look mom, custom printer and no SSH.
Get started
Reference
Advanced