Skip to content

Latest commit

 

History

History
329 lines (217 loc) · 10.4 KB

README.md

File metadata and controls

329 lines (217 loc) · 10.4 KB

OpenSpool

Your filament wants to be free


Checkout the official documentation on https://openspool.io 👈


Centered GIF

Adhere NFC stickers on all your filament. Build an ESP32 OpenSpool reader and place it next to your printer. Touching the filament to the reader will automatically update your Bambu Printer filament settings. Almost as seamlessly as if you were using Bambu filament with an AMS.

🖨️ Protocol

Protocol Read Write Type
OpenSpool NTAG 215/216
Bambu 🚧 In progress MiFare Classic 1k
OpenTag 🚧 In progress 🚧 In progress NTAG 216
Creality 🗓️ Planned 🗓️ Planned MiFare Classic 1k
PrusaRFID

🧬 OpenTag Protocol

Many 3d printer fillament companies are uniting around a open standared called OpenTag. It planned to be finalized in early-mid 2025. OpenSpool will support OpenTag formatted tags as soon as it is finalized. See here for more information.

🧬 OpenSpool Protocol

OpenSpool aims to use the simplest possible protocol for RFID tags. All you need is a NTAG215/216

NDEF Record

Example record stored on NFC tag.

type = application/json
payload =

{
    "protocol": "openspool",
    "version": "1.0",
    "type": "PLA",
    "color_hex": "FFAABB",
    "brand": "Generic",
    "min_temp": "220",
    "max_temp": "240"
}

Web Preview

Spool information can be seen using your phone.

https://openspool.io/tag_info?color_hex=FFAABB&type=PLA&brand=Generic&min_temp=220&max_temp=240&protocol=openspool&version=1.0

🐼 Integrations

Currently OpenSpool works with Bambu printers over mqtt. Other integrations are planned. Pull Requests welcome

Integration Supported
Bambu
OctoPrint 🚧 In Progress
Prusa Connect 🗓️ Planned
SpoolMan 🗓️ Planned
Klipper / Moonraker 🗓️ Planned
Anker

🔧 Hardware

OpenSpool requires an ESP32-S3 and PN532 NFC Reader (SPI Mode).

Buy a kit on tindie.com

Hardware Link 1 Link 2
Wemos D1 Mini s3 Aliexpress
PN532 (Small) Amazon Aliexpress
NTAG 215/216 (13.56Mhz NFC Tags >500 bytes) Amazon
WS2812B LED Amazon
2.54mm Headers Amazon
3.3v - 5v Logic Level Converter Amazon
female-female jumper wire) Amazon

If you are unable to find a Wemos D1 Mini s3, you can stil buy an s2, as it is pin compatable. However be advised the s2 has less memory and may expierence occassional disconnects from the printer

Hardware Link 1 Link 2
Wemos D1 Mini S2 (Beware of Fakes!) Amazon Aliexpress
Tag Bytes Supported
NTAG 213 144 bytes
NTAG 215 504 bytes
NTAG 216 888 bytes

Wiring Diagram

Be sure to put the PN532 into SPI mode (not i2c or UART)

🤖 Firmware

The recomended method to install firmware is by navigating to openspool.io in Chrome/Edge and using the web based programming tool.

Alternativly the firmware can be installed with make commands as shown below.

OSX/Linux

brew install esphome

git clone https://github.com/spuder/OpenSpool
cd OpenSpool/firmware

Press and hold the D0 button while pressing the reset button on the Wemos D1 Mini.
A new usb serial device will appear.

ls /dev/cu*

Upload firmware and restart

USB_ADDRESS=/dev/cu.usbmodemXXXXX make lolin_s2_mini

or

USB_ADDRESS=/dev/cu.usbmodemXXXXX make lolin_s3_mini

🛜 First Time Configuration

A new wifi network will appear called OpenSpool, join the network, navigate to 192.168.4.1, insert your wifi credentials and reboot.

You can then navigate to the web interface at openspool-xxxxxx.local or ip address.

🎛️ Configuration

On first boot, you will need to specify your 3d printer IP Address, Serial Number and Lan Access Code.

Do not put your printer into LAN Only Mode, it is not required.

After changing these 3 settings, you will need to reboot the ESP32. Upon successful connection to the 3d printer, you will observe a checkmark next to MQTT in the web interface.

Factory Reset

Press and hold the D0 button for 10 seconds. This will erase wifi credentials and bambu access credentials from esp32.

🔧 Troubleshooting

LED is breathing blue

This means the OpenSpool is hosting a wireless access point called 'OpenSpool'. Connect to it then navigate to 192.168.4.1 to configure wifi.

LED is solid white

OpenSpool has succesfully joined the wifi network and is ready to scan for RFID tags

NFC Tags aren't reading reliably

If using the red NP5332 reader (smaller model), it detects tags best on the corners of the antenna.

If using the blue PN532 reader (larger model), it detects tags best directly in the center of the antenna.

Be sure you aren't using a counterfit PN532

MQTT Disconnects

The A1/P1 have a limit of 4 mqtt connections. If more than 4 connections are reached clients may be asked to disconnect.

If a client attempts to write invalid data any mqtt topic, the printer will ask the client to disconnect. All esphome resources must use state_topic: with a null value to prevent esphome from broadcasting on any topic.

TLS Errors

Reach out to the discord for help verifying that the Root Certificate is correct.

Advanced Troubleshooting

Use the MQTTX client to observe the messages that OpenSpool and Bambu Printer are sending.

mqttx sub -t 'device/$SERIAL_NUMBER/report' -u -P $LAN_ACCESS_CODE --mqtt-version 3.1.1 -h $IP_ADDRESS -p 8883 -l mqtts --insecure

🎥 Demo

👥 Contributors

spuder
Spencer Owen
phillipthelen
Phillip Thelen
thijstriemstra
Thijs Triemstra
thomasjpatterson
secprepper

📜 Certifications

OSHWA Certification: US002704

ESPHome Device Listing

🪪 License