Skip to content

Quick Start

Lucio edited this page May 24, 2026 · 10 revisions

Quick Start — Snapmaker U1

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.


Prerequisites

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.


Step 1 — Add your printer

Open the Bespok3d app. In the Printers tab:

  1. Click Add printer
  2. If your printer appears in the discovery list, select it — mDNS finds it automatically
  3. 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.


Step 2 — Enroll your printer

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:

  1. Click on your printer to open the detail view
  2. Click Enroll
  3. Enter your SSH credentials (user: root, password: snapmaker by default)
  4. 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.

What the enrollment steps do

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.

If a step fails

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.


Step 3 — Verify

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.


Step 4 — Install plugins

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.


Troubleshooting

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.

Clone this wiki locally