-
-
Notifications
You must be signed in to change notification settings - Fork 0
Quick Start
This guide walks you from a stock, factory-fresh Snapmaker U1 to a fully enrolled printer ready for plugins. The whole process takes about 10 minutes, most of which is the printer rebooting.
Before you start, make sure you have:
- A Snapmaker U1 connected to your WiFi network
- The Bespok3d app installed on your computer (macOS, Windows, or Linux) — [download link]
- Your U1's SSH password — the default is
snapmaker; change it in the Snapmaker UI if you already have
The app communicates with your printer over your local network. Both your computer and the printer must be on the same WiFi.
Open the Bespok3d app. Click Add printer in the top header:
- If your printer appears in the discovery list, select it — mDNS finds it automatically
- If it doesn't appear, switch to Manual and enter its IP address
The printer appears in the header's printer selector with a status dot. At this point it's online but not yet managed — the base layer hasn't been installed yet.
Enrollment installs the Bespok3d base layer on your printer. This is a one-time process that:
- Enables the overlayfs write layer so changes survive reboots
- Creates the
/userdata/bespok3d/persistent workspace - Hooks into the boot sequence so plugins start automatically
- Installs and starts the Bespok3d daemon
To start enrollment:
- Click Enroll next to your printer (or open Settings → Printers and click Enroll there)
- Enter your SSH credentials (user:
root, password:snapmakerby default) - Click Start enrollment
The enrollment progress screen shows each step as it runs. The printer will reboot once during enrollment — this is expected. The app waits for it to come back automatically.
| Step | What happens |
|---|---|
| Preparing the printer | Backs up WiFi credentials to persistent storage, creates /oem/.debug to enable the overlay write layer |
| Persisting WiFi | Moves DHCP leases to persistent storage and pins the WiFi MAC address |
| Rebooting | Restarts the printer; app waits up to 5 minutes |
| Creating workspace | Creates /userdata/bespok3d/ directory tree |
| Installing startup manager | Installs S99bespok3d — the plugin init dispatcher |
| Wiring into boot | Patches S90lmd to hand control to S99bespok3d at boot |
| Stabilising network | Clears stale DHCP lease data; pins the WiFi MAC address |
| Patching nginx | Adds an include hook so plugins can expose their own endpoints |
| Klipper/Moonraker includes | Creates include directories so plugins can drop in their own configs |
| Deploying daemon | Uploads the Bespok3d daemon |
| Generating TLS cert | Creates a self-signed cert for secure daemon communication |
| Enrolling credentials | Writes your GPG key and bearer token to the printer's access list |
| Starting daemon | Launches the daemon and verifies it responds |
| Verifying | Final sanity check: workspace present, startup script installed, daemon alive |
Total time: 3–8 minutes depending on your network speed and how long the printer takes to reboot.
The enrollment screen shows which step failed and the error message. Click Retry from this step to resume without redoing earlier steps — enrollment is fully idempotent.
After enrollment completes, the printer's status dot turns green and shows managed. The Bespok3d daemon is running on your printer and ready to accept plugin installs.
The plugin catalog is now available in the main app window. Browse all available plugins, filter by category and trust tier, and click any card to open its detail panel. The detail panel shows what the plugin does, what it requires, and what files and endpoints it creates on your printer.
One-click install is coming in a future update. The Install button is present but disabled while the daemon-side install route is being built.
Printer not appearing in discovery mDNS requires your computer and printer to be on the same network segment. Guest WiFi and some corporate networks block mDNS between clients — use the manual IP option if that's the case. You can find the U1's IP in its own touchscreen UI under Settings → Network.
Printer doesn't come back after the reboot step Wait a full minute — the U1 takes time to boot. If it still doesn't reconnect, the app will prompt you. Check that the printer is on, then use Retry from that step once it's back on the network.
A step fails with an SSH error
SSH errors are usually transient. Click Retry from this step — it will reconnect and try again. If it keeps failing, confirm the printer is reachable (ping <printer-ip>) and that your SSH credentials are correct.
Enrollment completed but the status dot doesn't show managed The app pings the daemon via TCP every 15 seconds. Wait one cycle, or close and reopen Settings → Printers to trigger a fresh check. If it still shows online/unmanaged, click View history on the printer to see the enrollment log and confirm the daemon-start step completed.
Bespok3d - open source under AGPL-3.0. Look mom, custom printer and no SSH.
Get started
Reference
Advanced