A tool to create NFC tags compatible with the Anycubic ACE Pro for third party filament spools.
Tip: Try to get the software up and running before buying the hardware to ensure that everything works fine
The following hardware is needed (buy them via my affiliate links to support this project without additional costs):
- A supported reader from this list:
- NTAG213 NFC stickers. Buy some here (affiliate link)
- (NTAG215 and NTAG216 probable also work)
- (Optional) Reusable ACE Pro rings for cardboard spools with NFC sticker slot. Get the for free here
Note: You will need two NFC stickers per spool of filament.
- Download the latest
.exe
file of the application here - Install drivers for your reader (find ACR122U drivers here)
- Start the application on your Windows device by just double-clicking it
- Open the web interface in your browser (e.g. Google Chrome) by entering http://localhost:8080 into the top bar
- Make sure that a ACR122U (affiliate link) is connected to your computer
- Done. Have fun using the software :)
Note: This is not needed if you just download the
.exe
file
- Install the requirements with
pip install -r requirements.txt
- Create the binary for your system:
pyinstaller AnycubicNFCApp.spec
- The executable can be found in the
dist
folder
For a more comprehensive guide, you can check out my YouTube video here (German)
- Make sure that python 3.11 is installed on your computer (the version 3.11 is important, older versions should be good but newer version lead to errors)
- Clone this repository and go to the root directory (the one with the
requirements.txt
) with a shell (on most operating systems, you can open the folder and then right-click and select something likeopen shell here
) - Do the upcoming steps within the shell hust opened
- Install the requirements with the command
pip install -r requirements.txt
(trypip3 install -r requirements.txt
ifpip
isn't found) - Install drivers for your reader (find ACR122U drivers here)
- Start the tool with the shell command
python -m anycubic_nfc_app
(trypython3 -m anycubic_nfc_app
ifpython
isn't found) - Open the web interface in your browser (e.g. Google Chrome) by entering http://localhost:8080 into the top bar
- Make sure that a ACR122U (affiliate link) is connected to your computer
- Done. Have fun using the software :)
Within the tool, you can create dumps of original Anycubic spool tags to support my research. The dump of one of the two spool sides is enough.
You can send me your dumps via email to anycubic-nfc-research@molodos.com. Please include details on which exact spool you scanned (material, color, etc.).
Thanks for your support!
Try updating your ACE Pro (you can do that on the top right of the "Workbench" in Anycubic Slicer Next)
There currently seems to be a problem with displaying some filaments in the slicer "Workbench" tab correctly. Probably because they are not available with official RFID chips in the store yet. But: When syncing the ACE Pro in the "Prepare" tab in your slicer, the right filament is selected.
Currently, only the following filaments are displayed correctly in the "Workbench" tab: PLA, PLA+, PLA High Speed (if you own official spools of other types with RFID chips, create a spool dump in the application and send it to me, to support my research and add it to the app. Read more in this section)
Make sure that the filament in the ACE Pro is available in the filament dropdown in your slicer. If not, select " Add/Remove filament" on the bottom of the list, add the filament to the list and try syncing again.
Currently, there is another known problem where PLA+ is recognized as PLA. As I have not found a workaround yet, I believe that it is a bug in the slicer that will also occur with official PLA+ filament from Anycubic.
If the application fails to start, the error is the python version in most cases. Make sure to use version 3.11 or older. Newer versions can lead to crashes.
While brands are sort of written to the tags (e.g. the Tag contains AC
for Anycubic
), the information is not used by
the slicer. Because of that, I did not add support for writing custom brands as they would not have any benefit but more
like a risk that Anycubic could ignore non-Anycubic tags in the future.
Readers not on the hardware list are currently not supported. But you can still try using them by adding start options to the application. The following two options are available:
Option | Description |
---|---|
--print_readers |
Add this option to print a list of connected card readers to the shell, when starting the application (use it to find the name for the second option) |
--preferred_reader "<string>" (example: --preferred_reader "acr122" ) |
Use this option to set your preferred reader to be selected from the connected readers (it selects the last reader in the list, which contains the string in its name) |
The additional options can be added to the command starting the application:
- Option 1 (launching the exe from a shell):
AnycubicNFCApp.exe --print_readers --preferred_reader "acr122"
- Option 2 (python script):
python -m anycubic_nfc_app --print_readers --preferred_reader "acr122"
If you tested a reader successfully, and you want me to add it for official support, you can do this by sending me the
list of connected readers displayed with the option --print_readers
and the reader connected as well as the name of
the displayed readers which works when putting it into the --preferred_reader
parameter. Make sure to test that
reading and writing works.
Special thanks to u/SnooCheesecakes1269, u/kivulhepy, u/Nearby_Farmer_4983 for providing me with NFC tag dumps, so I was able to reverse-engineer the format of the tags.