A collection of scripts for analyzing and patching the Snapmaker U1 GUI binary to add custom filament profiles, plus RFID/NFC debugging utilities.
This repository provides two main sets of tools:
- GUI Binary Patching - Modify the Snapmaker U1 GUI binary to add custom filament profiles
- RFID/NFC Debugging - Diagnose and troubleshoot RFID filament detection features
- Use at your own risk! Modifying firmware can potentially damage your device.
- No warranty! These scripts are provided as-is with no guarantees.
- Backup your original firmware before applying any patches.
- Test thoroughly after applying patches to ensure proper operation.
- Modifying firmware may void your warranty.
Scripts are organized by functional purpose:
GUI binary analysis and patching tools for adding custom filament profiles.
Key Scripts:
patch-gui-binary.py- Add new filament profiles (injection method)replace-gui-strings.py- Replace existing profiles in-place (recommended)analyze-gui.sh- Analyze binary structureverify-patches.sh- Verify patched binary
📖 Read the full GUI Patching Guide →
RFID/NFC debugging and diagnostic utilities (requires SSH access to printer).
Key Scripts:
debug-rfid.sh- General RFID/NFC diagnosticsdebug-ntag-reading.sh- Detailed NTAG215 tag reading analysischeck-firmware-version.sh- Check firmware version and featurescompare-rfid-modules.sh- Compare RFID modules
📖 Read the full RFID Debugging Guide →
# 1. Analyze the binary
cd gui-changes
./analyze-gui.sh /path/to/gui
# 2. Patch (recommended method: in-place replacement)
./replace-gui-strings.py /path/to/gui ../output/gui-patched
# 3. Verify
./verify-patches.sh ../output/gui-patchedSee the GUI Changes README for detailed instructions.
# Quick health check
cd rfid-helpers
./debug-rfid.sh snapmaker-u1 default
# Detailed diagnostics
./debug-ntag-reading.sh snapmaker-u1 default
# With custom password
PASSWORD=mypassword ./debug-rfid.sh 192.168.1.100 defaultSee the RFID Helpers README for detailed instructions.
- Operating System: Linux or macOS
- Tools:
bash,python3, standard Unix utilities (xxd,readelf,strings,file)
No special requirements beyond system tools.
sshpass(install via:brew install sshpasson macOS)- SSH access to your Snapmaker U1 printer
- Root credentials (default password:
snapmaker)
All scripts support -h, --help, or running without arguments to display detailed usage information.
Example:
./gui-changes/patch-gui-binary.py --help
./rfid-helpers/debug-rfid.sh --help.
├── gui-changes/ # GUI binary patching tools
│ ├── README.md # Detailed GUI patching guide
│ ├── analyze-*.sh # Binary analysis scripts
│ ├── find-*.sh # Pattern finding scripts
│ ├── check-*.sh # Space verification scripts
│ ├── patch-gui-binary.py # Injection patcher
│ ├── replace-gui-strings.py # In-place patcher (recommended)
│ └── verify-patches.sh # Patch verification
│
├── rfid-helpers/ # RFID/NFC debugging utilities
│ ├── README.md # Detailed RFID debugging guide
│ ├── debug-rfid.sh # General RFID diagnostics
│ ├── debug-ntag-reading.sh # NTAG215 tag analysis
│ ├── check-firmware-version.sh # Firmware version check
│ └── compare-rfid-modules.sh # Module comparison
│
└── output/ # Auto-created output directory
└── gui-patched # Default patched binary location
Note: The output/ directory is created automatically and is excluded from git.
- GUI Changes Guide - Complete guide for GUI binary patching
- RFID Helpers Guide - Complete guide for RFID/NFC debugging
Contributions are welcome! If you discover new offsets, find bugs, or add support for additional features, please open a pull request.
Areas for contribution:
- Additional filament profile presets
- Support for other firmware versions
- Improved RFID diagnostic tools
- Documentation improvements
This project is provided for educational and research purposes. Use responsibly and at your own risk.
This project is not affiliated with, endorsed by, or connected to Snapmaker or Polymaker. All trademarks belong to their respective owners.
For issues or questions:
- General issues: Open an issue on GitHub
- GUI Patching: See gui-changes/README.md
- RFID Debugging: See rfid-helpers/README.md
Remember: Always backup your original firmware before making any modifications!