Implement modular filament scale and NFC UID management system#2
Closed
Copilot wants to merge 6 commits into
Closed
Implement modular filament scale and NFC UID management system#2Copilot wants to merge 6 commits into
Copilot wants to merge 6 commits into
Conversation
Co-authored-by: Janez76 <186037451+Janez76@users.noreply.github.com>
Co-authored-by: Janez76 <186037451+Janez76@users.noreply.github.com>
Co-authored-by: Janez76 <186037451+Janez76@users.noreply.github.com>
- Update fastapi from 0.109.0 to 0.109.1 (fixes ReDoS vulnerability) - Update python-multipart from 0.0.6 to 0.0.22 (fixes multiple vulnerabilities: * Arbitrary file write via non-default configuration * DoS via deformation multipart/form-data boundary * Content-Type Header ReDoS) All tests pass with updated dependencies. Co-authored-by: Janez76 <186037451+Janez76@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Add modular filament scale and NFC UID management system
Implement modular filament scale and NFC UID management system
Feb 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
Builds a Docker-deployable system for tracking 3D printing filament spools using NFC tag UIDs and weight measurements. Replaces legacy Filaman setup while preserving ESP32 scale hardware compatibility.
Core Architecture
Database-centric design: NFC tag UID as primary key, no writes to tags by default. All spool state maintained in local database with optional Spoolman synchronization.
Key Endpoints
Weight calculation:
net_weight = gross_weight - tare_weightwith automatic Spoolman sync when enabled.Integration Points
Spoolman: Bidirectional sync with configurable auto-push (
PUSH_REMAINING_TO_SPOOLMAN). Local database wins for weight/UID mapping, Spoolman wins for filament metadata.OpenSpool: Payload generation only, feature-flagged (
WRITE_MODE=falseby default). Never auto-writes to NFC tags.ESP32 scales: Simple JSON POST to
/api/v1/readings/with device_id, uid, and gross_weight_g.Deployment
Configuration
Environment-driven with sensible defaults:
DATABASE_URL- Connection string (defaults to SQLite)SPOOLMAN_URL- External Spoolman instanceWRITE_MODE=false- Block NFC writes unless explicitly enabledPUSH_REMAINING_TO_SPOOLMAN=true- Auto-sync weightsSecurity
Updated dependencies to resolve vulnerabilities:
fastapi==0.109.1(ReDoS fix)python-multipart==0.0.22(arbitrary file write, DoS, ReDoS fixes)✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.