-
-
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 did
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. In the Printers tab:
- Click Add printer
- If your printer appears in the discovery list, select it — mDNS finds it automatically
- If it doesn't appear, enter its IP address manually and click Add
The printer will show up 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/workspace - Hooks into the boot sequence
- Installs and starts the Bespok3d daemon
To start enrollment:
- Click on your printer to open the detail view
- Click Enroll
- 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 | Creates /oem/.debug to enable persistent overlay |
| Rebooting | Restarts the printer; app waits up to 5 minutes |
| Persisting WiFi | Saves WiFi credentials so they survive future reboots |
| 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 | Moves DHCP leases to persistent storage; pins the WiFi MAC address |
| Patching nginx | Hooks into the web server 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 Python source |
| 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's running |
| 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. You can retry from the failed step without redoing the 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 connections.
The in-app plugin browser is coming soon. For now, the POC plugins install over SSH from the command line — see Plugins for the list and install instructions.
Printer not appearing in discovery mDNS discovery requires the printer and your computer to be on the same network segment. If your router isolates WiFi clients from each other, use the manual IP option instead.
WiFi lost after reboot during enrollment The app prompts you to reconnect your printer to WiFi if it doesn't come back within 60 seconds. If the printer's IP changes after reconnecting, the app will detect the new IP via mDNS and continue automatically.
A step fails with an SSH error
SSH errors are usually transient. Use Retry from this step — the step will reconnect and try again. If it keeps failing, check that the printer is reachable (ping <printer-ip>) and that your SSH credentials are correct.
Enrollment completed but status doesn't show managed Reload the printer list. If it still shows as online/unmanaged, open the printer's history to see the enrollment log and check which steps completed.
Bespok3d - open source under AGPL-3.0. Look mom, custom printer and no SSH.
Get started
Reference
Advanced