A hardware bridge between NFC-tagged filament spools and a Klipper-based Toolchanger fleet. This project allows you to assign specific Spoolman IDs to specific Tool Slots (T0-T4) or MMU Lanes across multiple printers using a single handheld device.
- Multi-Printer Support: Manage up to 4+ printers from one device.
- Toolchanger/MMU Aware: Supports T0-Tx slot assignment for toolchangers, Lane X-X for MMUs or direct assignment for single-tool printers.
- Non-Blocking UI: Rotary encoder navigation that stays responsive even during WiFi handshake.
- Spoolman Integration: Automatically updates the "Location" field in your Spoolman database.
- Low Cost Solution: Only $20 in total if buying from amazon(probably way less on ali)
- Microcontroller: Wemos D1 Mini (ESP8266) - https://a.co/d/9gC2Cn6
- NFC Reader: PN532 (connected via I2C) - https://a.co/d/hoXc9qR
- Input: KY-040 Rotary Encoder - https://a.co/d/ijcQabb
- Display: SSD1306 128x64 OLED - https://a.co/d/3xR2ErH
- NFC Tags: NTAG215 - https://a.co/d/cjPsgJL
| Component | Pin | ESP8266 Pin |
|---|---|---|
| OLED/NFC SCL | SCL | D1 |
| OLED/NFC SDA | SDA | D2 |
| Encoder SW | Button | D3 |
| Encoder CLK | Phase A | D6 |
| Encoder DT | Phase B | D5 |
- Install the Encoder (by Paul Stoffregen), Adafruit PN532, Adafruit SSD1306, and Adafruit GFX libraries in Arduino IDE.
- Open
config.hand enter your WiFi credentials and Printer IP addresses. - Flash the firmware to your Wemos D1 Mini.
- Add the provided macros to your Klipper
macros.cfg.
- Select Printer: Scroll and click your target machine.
- Select Tool: Choose which tool slot you are loading.
- Scan: Click to enter Scan Mode and tap your filament's NFC tag (I'm using NTAG215 ymmv with others).
- Success: The variable is saved to Klipper-TC's
offset_save_file.cfgor other [save_variables] file and Spoolman is updated.