Open-source IoT weighing scale for 3D printer filament spools, with RFID tag detection, OLED display, automatic spool tracking, and TigerTag cloud sync.
Plug in your ESP32 β click Install β done. No toolchain, no command line.
TigerScale is a DIY smart scale that knows which spool sits on it. Drop a spool with a TigerTag (NFC sticker) on the platform β the scale reads the tag, weighs the spool, computes the net filament weight (subtracting the empty cardboard/plastic spool), and syncs the result to your TigerTag account in real time.
It is designed to be 3D-printable, hackable, and cheap (~30 β¬ BoM). The cloud service that synchronises your inventory across devices is provided by TigerTag β an account is free.
- π·οΈ Dual RFID readers (RC522 13.56 MHz) for twin-tag spools
- βοΈ Precision weighing via HX711 + 5 kg load cell
- πΊ Live OLED display with weight, rack position, and spool metadata
- βοΈ Continuous servo that gently rotates the spool to find the second tag
- βοΈ Real-time cloud sync (Firestore) β see your inventory from any device
- π Google Sign-In via OAuth bridge (no passwords stored on device)
- π± Modern web UI served by the ESP32 itself, mobile-friendly β with live workflow badge (Scanning / Stabilizing / Sending / Ready)
- π 9-language UI (EN / FR / DE / ES / IT / PL / PT-BR / PT / ZH) with flag-based switcher in header and login modal, locale files in
data/www/locales/ - π Full in-modal auth β Google Sign-In, email/password sign-in, account creation and password reset directly in the UI (no redirect)
- π Firmware version + uptime always visible under the TigerScale title, uptime advances client-side between WebSocket frames
- π€ Account avatar with user initials + display name, collapsible account card
- π§° Toolbox toggle β collapse all settings below TARE for a cleaner read-only interface
- ποΈ Local brand & material DB (LittleFS) β RFID lookups are instant, no internet required per scan; auto-updated from GitHub every 24 h
- π Auto-tare, EMA + median filtering, twin-tag pairing (Β§6.1 spec)
- β‘ WebSocket delta compression β only changed fields broadcast at 10 Hz; full snapshot on connect
- π οΈ No closed binary blobs β everything compiles from source
Plug your ESP32 in via USB and click Install. The browser flashes the firmware and the filesystem in 60 seconds. No Arduino IDE, no PlatformIO, no command line.
git clone https://github.com/TigerTag-Project/Tiger-Scale.git
cd Tiger-Scale
pio run -t upload # firmware
pio run -t uploadfs # web UI (LittleFS)
pio device monitor # serial console- Open
src/main.cppin Arduino IDE 2.x (rename it toTigerScale.inofirst) - Install the libraries listed in docs/INSTALLATION.md
- Board:
ESP32 Dev ModuleΒ· Partition:Default 4MB with spiffs - Compile + upload + use the LittleFS uploader for
data/
Detailed instructions: docs/INSTALLATION.md
| Component | Where to buy | ~Price |
|---|---|---|
| ESP32 DevKit (KEYESTUDIO ESP32-WROOM-32) | amzn.to/4dhJV3u | 8 β¬ |
| 2Γ RC522 RFID readers (Γ5 set) | amzn.to/47mqpQt | 6 β¬ |
| HX711 + 5 kg load cell (Wishiot kit) | amzn.to/3KZIOLl | 7 β¬ |
| SSD1306 128Γ64 OLED IΒ²C (ELEGOO 0.96") | amzn.to/3Rul05f | 4 β¬ |
| FS90R continuous servo (Wishiot 360Β°) | amzn.to/4tRzpGZ | 5 β¬ |
| 3D-printed enclosure | hardware/3d-models/ | filament cost |
| Total | ~30 β¬ |
Full Bill of Materials: hardware/BOM.md (with affiliate links) Wiring diagram: docs/HARDWARE.md Print settings: hardware/3d-models/README.md
Download Tiger_Scale_V2.3mf β a single .3mf file pre-configured for your slicer (Bambu Studio / PrusaSlicer / Orca). It contains four build variants, pick the one that matches your hardware:
| Variant | Motor | RFID readers | |
|---|---|---|---|
| TigerScale Light | β No motor | 1 reader | |
| TigerScale Light | β No motor | 2 readers | β Recommended β best value for money |
| TigerScale Plus | β Motor | 1 reader | |
| TigerScale Plus | β Motor | 2 readers |
Open the file, select your variant plate, and hit Slice. No manual orientation or support setup needed.
π‘ Buy a kit β the Web Installer page includes a one-click shopping list of every component with Amazon affiliate links. Buying through them at no extra cost supports the project and keeps the TigerTag cloud free.
When you boot a fresh TigerScale, it creates a Wi-Fi access point named Setup-TigerScale-XXXX.
- Connect your phone to that network (no password)
- Captive portal opens automatically β enter your home Wi-Fi credentials
- Scale reboots, joins your network, displays its local IP + mDNS name (
tigerscale-XXXX.local) on the OLED - Open
http://tigerscale-XXXX.local(or the IP) in your browser - Login modal opens β sign in with Google (one click), email/password, or create a new account directly in the UI
- β You're done β start placing TigerTagged spools on the scale
Detailed walkthrough: docs/INSTALLATION.md
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β TigerScale Hardware β
β ESP32 ββ 2Γ RC522 (SPI shared) ββ HX711 ββ Load Cell β
β β OLED (IΒ²C) β Servo (PWM) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
Wi-Fi + HTTPS β Firebase REST API
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β TigerTag Cloud (Firebase) β central service β
β β’ Firebase Auth (Google, Apple, Email) β
β β’ Firestore (per-user inventory + scale state) β
β β’ OAuth bridge at tigertag-cdn.web.app/scale-auth.html β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
any phone or browser
βΌ
View your filament inventory anywhere
Architectural details: docs/FIRMWARE.md
| Doc | What's inside |
|---|---|
| docs/INSTALLATION.md | Toolchain setup (PlatformIO, Arduino IDE) + flashing |
| docs/HARDWARE.md | Pinout, wiring diagram, photos |
| docs/FIRMWARE.md | Code architecture, state machines, REST API |
| docs/FIREBASE_SETUP.md | Use TigerTag cloud (default) β how it works |
| docs/TROUBLESHOOTING.md | Common issues and fixes |
| hardware/BOM.md | Parts list with vendor links |
| CHANGELOG.md | Version history |
| CONTRIBUTING.md | How to contribute |
| CLAUDE.md | Full API reference (HTTP, WebSocket, Firestore) β used by AI agents |
TigerScale ships with a Claude Code skill that makes any AI agent a TigerScale integration expert β generating connection code, sending remote commands, and keeping documentation in sync with the firmware.
Install it in Claude Code:
Drag
agents/tigerscale-integration.skillinto Claude Code, or go to Settings β Skills β Install from file.
Once installed, just ask Claude to integrate your app with the scale, debug a connection, or add a new command β it reads CLAUDE.md automatically and knows the full API.
β Details in agents/README.md
Contributions are welcome! Whether you want to:
- Report a bug or suggest an improvement β open an issue
- Submit a code/documentation PR β see CONTRIBUTING.md
- Translate the UI to another language β edit the JSON files in
data/www/locales/(one file per language) - Print and improve the case β fork hardware/3d-models/
Join us on Discord for help, ideas, and community builds.
Anyone can manufacture and sell TigerScale hardware β no license fee, no registration.
- Follow the BOM and wiring in
hardware/BOM.md - Flash the latest official firmware via the Web Installer (always up to date)
- Ship it β you're done
The only condition to call your product "TigerScale" is running the official firmware unmodified, so every unit works consistently with the TigerTag ecosystem. Forks are welcome β just use a different name. Full details: TRADEMARK.md
This project is licensed under the MIT License β see LICENSE for details.
The "TigerTag" name (RFID protocol + cloud service) and "TigerScale" product name are trademarks of the TigerTag Project. The code is free; the names have conditions. See TRADEMARK.md for the full policy (short version: build and sell freely, use official firmware, keep the name).
Third-party firmware dependencies retain their own licenses β three are LGPL (ESPAsyncWebServer, AsyncTCP, ESP32Servo), satisfied by the fully open build system. Full details: THIRD_PARTY_LICENSES.md
- Yoto for the user-experience inspiration
- ESP32 community for the framework
- ESP Web Tools for the in-browser flasher
- All the contributors who build, test, and improve this project
Built with β€οΈ by the TigerTag community.