-
-
Notifications
You must be signed in to change notification settings - Fork 0
Plugins
Plugins are self-contained packages that add capabilities to your printer — camera streaming, filament tracking, remote screen, and more. Each plugin installs into a dedicated directory on the printer and integrates with Klipper, Moonraker, and the web interface without touching the factory firmware.
The plugin catalog is the main view in the app. When you have at least one printer configured, it shows all available plugins. You can:
- Search by name, identifier, or description
- Filter by category — Camera, Filament, Screen; or view all grouped by section
- Filter by trust tier — Project, Community, or any
- Switch between grid and list view using the layout toggle in the toolbar
- Adjust density — Compact, Comfortable, or Spacious (set in Settings → General)
Click any plugin card to open its detail panel, which shows the full description, required capabilities, configuration fields, dependencies, and the files and endpoints it creates on the printer.
Plugin cards show a channel pill for non-stable releases (RC, Testing, Experiment). Which channels appear in the catalog is controlled in Settings → Repositories → Release Channels.
All plugins listed here are confirmed working on the Snapmaker U1.
Hardware-accelerated camera streaming for MIPI and USB cameras. Taps the SoC's video pipeline instead of CPU-encoding every frame, delivering smooth MJPEG and WebRTC streams even with two cameras attached.
- Category: Camera
-
Endpoints:
/webcam/,/webcam2/,/webrtc/ - Publisher: Bespok3d (Project tier)
Streams the printer's on-device touchscreen to a browser tab using framebuffer capture. Useful for monitoring and operating the printer remotely without a separate screen.
- Category: Screen
-
Endpoints:
/screen/ - Publisher: Bespok3d (Project tier)
Reads OpenSpool-encoded NTAG215 RFID cards from the U1's built-in SPI reader. On every card tap, it writes the filament metadata to a shared file that other plugins and Moonraker components can read.
- Category: Filament
-
Writes:
/oem/printer_data/config/bespok3d/data/rfid_data.json - Compatible with: OpenSpool-encoded NTAG215 tags
- Publisher: Bespok3d (Project tier)
Connects your printer to a Spoolman spool-tracking server. Reads the RFID data file on startup and on every card tap, keeping the active spool and length-used figures in sync automatically.
- Category: Filament
- Requires: RFID Spool Reader (for automatic spool detection)
- Configuration: Spoolman server address (IP or hostname)
- Publisher: Bespok3d (Project tier)
With a managed printer selected, open any plugin's detail panel and press Install. The app transfers the plugin package to the printer over the daemon connection and shows live progress. When the installation finishes, the plugin appears in your installed list immediately — no app restart or page refresh needed.
To remove a plugin, open its panel and press Uninstall.
Some plugins require a configuration field before install (for example, the Spoolman Bridge asks for your Spoolman server address). The field appears in the panel when the printer is managed. The value is normalised automatically — you can paste a full URL or just the hostname.
Once a plugin with browser-accessible endpoints is installed, the printer selector in the header gains a › zone on the right side of the managed printer row. Hovering it opens a flyout listing every openable endpoint — Fluidd, Moonraker API, camera streams, and any endpoints declared by installed plugins. Clicking an entry opens it in your default browser.
Plugins survive Snapmaker OTA firmware updates. All plugin files live in /userdata/bespok3d/ — the persistent partition that OTA never wipes. What OTA does wipe is /home/lava/ (Klipper source, Moonraker source) and the overlay write layer.
Bespok3d detects that the daemon was lost and shows a recovery banner the next time you open the app. Recovery is one click. After re-enrollment, all installed plugins are re-applied automatically in dependency order. See Printers — OTA recovery for the full flow.
The daemon itself is stored in /userdata/bespok3d/ and survives OTA. Recovery re-installs it as part of re-enrollment.
Some plugins contain patches that must match the exact content of the file they target. When a firmware update changes that file, the patch context lines no longer match.
Plugins handle this through conflict_resolutions in their manifest: a condition (e.g. fw_max: "1.4.0.244") selects an alternate patch file for printers running an older firmware version. The daemon reports its firmware version via the capabilities endpoint, and the app selects the right patch automatically at install time.
- Plugin update management (update badge is shown; one-click update coming)
- USB airgap install — drop a signed
.b3pbundle on a USB stick; auto-installs on the printer - Third-party plugin sources — subscribe to community-curated catalogs
Bespok3d - open source under AGPL-3.0. Look mom, custom printer and no SSH.
Get started
Reference
Advanced