Skip to content

3D Printing Stack

A small fleet, a lot of moving parts, and the open-source patches that make them behave as one coherent printing platform.

This site documents how the various tools — some upstream, some forks, some written from scratch — fit together. If you've landed here trying to figure out "do I need this repo, that branch, and that env var?", start with Architecture → Fleet overview.

The reference fleet

The printers below are the ones this stack is developed and tested against. They're not a requirement — the stack works on any Klipper host (RPi, BTT CB1/Pi 4 carriers, generic Linux SBCs) plus the J1S bridge. The reference fleet just happens to be what's available for end-to-end testing.

Printer Host (reference) Firmware Notes
Voron 2.4 (StealthChanger) Recore A7 Klipper + klipper-toolchanger 5 toolheads on RP2040 toolboards
Voron Trident 300 Recore A8 Klipper Single-tool, NFC-equipped
Voron V0 Recore A6 Klipper Small single-tool, NFC-equipped
CR-30 (Klipper modded) Recore A8 Klipper Belt printer, NFC-equipped
Elyarchi Alcheman Proprietary controller (ships with Klipper + Fluidd preinstalled) Klipper NFC-equipped
Snapmaker J1S RPi 3 (custom image) Snapmaker stock + snapmaker_moonraker bridge Closed firmware, bridged to Mainsail

Every printer in the fleet runs a PN532 NFC reader on a USB-UART cable and the klipper-nfc-daemon, sharing a single Spoolman instance.

The stack is controller-agnostic

Nothing in klipper-nfc-daemon, snapmaker_moonraker, or the Spoolman NFC fork is specific to any of the controllers above. Swap a Recore for a Raspberry Pi, a BTT Pi-equivalent, or any other Klipper-capable host and the workflow is identical.

What's documented here

  • Architecture

    Block diagrams of every printer, where the data lives, and which process talks to which.

    Fleet overview

  • Components

    One page per repo. What each project does, what's vanilla vs forked, and why.

    snapmaker_moonraker

  • Workflows

    What the operator does, plus end-to-end sequence diagrams: NFC spool selection, the J1S upload pipeline, a Voron toolchange, bringing up a new printer.

    How the user works with the fleet

  • How-to guides

    Concrete recipes — manage spool inventory, write and re-use NFC tags, flash an RP2040, build the Pi image, install the NFC daemon, add a toolhead.

    Manage spool inventory

  • Reference

    The unglamorous bits: tag formats, the save_variables keys the daemon writes, intercept tables, bill of materials.

    Bridge intercepts

Why this exists

Each individual project — the Voron, the J1S, NFC spool management, Spoolman, the bridge — is documented (well or badly) elsewhere. What's not documented anywhere is how the patches and small custom tools combine into a single workflow where:

  • You scan an NFC-tagged spool on any printer in the fleet
  • The right tool on the right printer learns which filament is loaded
  • Print-start macros read the right temps, the right pressure advance, the right offsets
  • Mainsail shows the right preheat preset
  • Spoolman tracks usage per printer, per tool, per spool

That's the integration story this site tells.

Status

Work in progress

This site went live on 2026-05-20 and is filling out as the underlying stack stabilizes. Pages marked are stubs awaiting content.

License

Documentation MIT. Each linked project carries its own license; see the repo map for the breakdown.