Skip to content

Choose Your Extras

All extras are optional. The scanner works with just an ESP32 + NFC reader.

TFT Color Display

A 240x240 color TFT shows a graphical spool display with filament color, weight bar, brand/material name, and tag format icon.

Spec Value
Type 1.54" ST7789 (square) or 1.28" GC9A01 (round), 240x240 SPI
Wiring 5-6 pins (SCL, SDA, DC, CS, RES) + VCC + GND
Board Compatibility All boards (WROOM, S3-Zero with PN532, S3-DevKitC)

When to add it:

  • You want a color spool graphic at the scanner
  • You want to see filament color, weight bar, and tag format at a glance

When to skip it:

  • You only check spools via Home Assistant or the web UI
  • You want the simplest possible build (LCD is easier to wire)

S3-DevKitC is the best board for TFT + PN5180

The S3-DevKitC runs TFT and PN5180 on separate SPI buses — no pin sharing. On the S3-Zero, TFT is only compatible with the PN532 reader.

16x2 I2C LCD Display

Shows spool info directly on the scanner: material, color, remaining weight, and status messages.

Spec Value
Type 16x2 character LCD with I2C backpack
I2C Address 0x27 (most common)
Wiring 2 pins (SDA + SCL) + VCC + GND
Board Compatibility All boards (WROOM, S3-Zero, S3-DevKitC)

When to add it:

  • You want to see spool info without opening a browser
  • Your scanner is mounted away from a screen
  • You use the keypad (LCD shows tool assignment feedback)

When to skip it:

  • You only check spools via Home Assistant or the web UI
  • You want the smallest possible build

Status LED (SK6812 RGBW)

Shows scanner state with color-coded feedback: white during boot, blue when ready, filament color when a spool is scanned, flashing on write operations.

Spec Value
Type SK6812 RGBW (WROOM) or WS2812 RGB (S3-Zero/S3-DevKitC onboard)
Wiring 1 data pin + VCC + GND (WROOM only)
Board Compatibility External on WROOM, built-in on S3-Zero and S3-DevKitC

When to add it:

  • You're using an ESP32-WROOM and want visual feedback at the scanner

When to skip it:

  • ESP32-S3-Zero / S3-DevKitC — have onboard WS2812 RGB LEDs built in, no external LED needed
  • AFC BoxTurtle users — the middleware sends filament colors directly to the AFC lane LEDs, so you already get color feedback at the printer without a scanner LED

3x4 Matrix Keypad

Enables scan-to-tool assignment for toolchanger and multi-tool setups. Scan a spool, type the tool number, press # to confirm.

Spec Value
Type 3x4 membrane matrix keypad
Wiring 7 pins (4 rows + 3 columns)
Board Compatibility WROOM or S3-DevKitC recommended

Workflow: Scan spool > Type tool number (e.g. 12) > Press # to confirm > Scanner sends ASSIGN_SPOOL TOOL=T12 to Moonraker

When to add it:

  • You have a toolchanger or multi-tool setup (AFC, tradrack, etc.)
  • You want to assign spools to tools without using Klipper screen or web UI

When to skip it:

  • Single-tool printer
  • You assign spools through Home Assistant or macros

Warning

Using LCD + keypad together on the ESP32-S3-Zero is not recommended due to limited GPIO...it can be done but soldering to the exposed pins on the back is tough. Use the WROOM board for LCD + keypad builds.

Summary

Extra Pins Used WROOM S3-Zero S3-DevKitC Recommended For
TFT 5-6 (SPI) Yes PN532 only Yes Color spool graphic
LCD 2 (I2C) Yes Yes Yes Simple text display
LED 1 (data) External Built-in Built-in Status at a glance
Keypad 7 (matrix) Yes Limited Yes Toolchanger/multi-tool