NFC parser for Bambu Lab filament spool RFID tags on Flipper Zero.
- Parses Bambu Lab spool RFID tags
- Shows material type and detailed variant (e.g., PLA Basic, PLA Matte)
- Displays filament code and color name
- Production date information
- Shows physical properties: weight, diameter, spool width, filament length
- Temperature settings: hotend min/max, drying temp/hours
- Works with stock firmware (no custom flash needed)
Watch the demo video on YouTube.
- Download
bambu_parser.falfrom the Releases page - Copy to Flipper Zero SD card:
/ext/apps_data/nfc/plugins/. You can write to the card directly or via qFlipper - Disconnect USB (see the note under Usage), then restart the NFC app.
- Scan a Bambu Lab spool with the NFC app (or load a saved dump)
- You can skip the key matching step on the next screen once the Bambu tag is read. This step is not needed.
- The "Bambu Lab Spool" section will appear showing:
- Material type and detailed variant
- Filament code and color name
- Production date
- Temperature settings (hotend min/max, drying temp/hours)
- Physical properties (weight, diameter, spool width, length)
Unplug USB before scanning. With a USB host session attached β qFlipper especially β the NFC app can exhaust the heap mid-read and the Flipper reboots with "Out of memory". See #3.
There are two build paths, and both produce the same release-mode
dist/bambu_parser.fal.
Note for contributors: both paths are release builds, so
furi_assertcompiles to nothing in every artifact this repo ships. It is gated on#ifdef FURI_DEBUG(furi/core/check.h:77), and onlyDEBUG=1builds defineFURI_DEBUG. Do not readNDEBUGas the signal β fbt defines it in every configuration,DEBUG=1included. Usefuri_check, or an explicitif, for any invariant that has to hold in production β an assert will not survive into the released.fal.
Builds against the Flipper SDK that ufbt downloads for you. No firmware
submodule, no firmware toolchain, a build takes seconds. Use this for
day-to-day work on the plugin.
-
Clone the repository (no
--recursiveneeded) and install ufbt:git clone https://github.com/uzyn/flipper-bambu.git cd flipper-bambu pip install --upgrade ufbt -
Build the plugin:
make ufbt-build
Output:
dist/bambu_parser.fal -
Deploy straight to a connected Flipper Zero:
make ufbt-deploy
This writes
/ext/apps_data/nfc/plugins/bambu_parser.fal. Restart the NFC app to load it. If you have more than one serial device attached, pass the port explicitly:make ufbt-deploy FLIPPER_PORT=/dev/cu.usbmodemflip_XXXXXXXX
Builds inside a checkout of flipperzero-firmware (a ~500 MB submodule plus
its toolchain). Use this when you need to change firmware code alongside the
plugin, or to reproduce a release build exactly. This is what CI uses to
produce the released artifact.
-
Clone the repository with submodules:
git clone --recursive https://github.com/uzyn/flipper-bambu.git cd flipper-bambuIf you have already cloned the repository, run
git submodule update --init --recursiveinstead. -
Build the plugin:
make build
Output:
dist/bambu_parser.fal -
Copy
dist/bambu_parser.falto Flipper Zero SD card:/ext/apps_data/nfc/plugins/
make test- Filament database sourced from queengooborg/Bambu-Lab-RFID-Library
- Tag format research from Bambu-Research-Group/RFID-Tag-Guide
GPL-3.0 β U-Zyn Chua https://uzyn.com

