Skip to content

TigerTag-Project/Tiger-Scale

Repository files navigation

🐯 TigerScale β€” Smart RFID Filament Scale

Open-source IoT weighing scale for 3D printer filament spools, with RFID tag detection, OLED display, automatic spool tracking, and TigerTag cloud sync.

License: MIT Platform: ESP32 Framework: Arduino PlatformIO Discord

TigerTag logo

Open Web Installer β€” Flash your ESP32 in Chrome or Edge

Plug in your ESP32 β†’ click Install β†’ done. No toolchain, no command line.


✨ What is it?

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.

🎯 Key features

  • 🏷️ 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

πŸš€ Quick start

Option A β€” Web Installer (easiest, no toolchain)

Open Web Installer β€” Flash your ESP32 in Chrome or Edge

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.

Option B β€” PlatformIO (recommended for developers)

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

Option C β€” Arduino IDE (for tinkerers)

  1. Open src/main.cpp in Arduino IDE 2.x (rename it to TigerScale.ino first)
  2. Install the libraries listed in docs/INSTALLATION.md
  3. Board: ESP32 Dev Module Β· Partition: Default 4MB with spiffs
  4. Compile + upload + use the LittleFS uploader for data/

Detailed instructions: docs/INSTALLATION.md


🧰 Hardware

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

πŸ–¨οΈ Ready-to-slice project file

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.


🌐 First-time setup

When you boot a fresh TigerScale, it creates a Wi-Fi access point named Setup-TigerScale-XXXX.

  1. Connect your phone to that network (no password)
  2. Captive portal opens automatically β†’ enter your home Wi-Fi credentials
  3. Scale reboots, joins your network, displays its local IP + mDNS name (tigerscale-XXXX.local) on the OLED
  4. Open http://tigerscale-XXXX.local (or the IP) in your browser
  5. Login modal opens β€” sign in with Google (one click), email/password, or create a new account directly in the UI
  6. βœ… You're done β€” start placing TigerTagged spools on the scale

Detailed walkthrough: docs/INSTALLATION.md


πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                      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


πŸ“š Documentation

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

πŸ€– AI Integration

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.skill into 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


🀝 Contributing

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.


🏭 Make & Sell

Anyone can manufacture and sell TigerScale hardware β€” no license fee, no registration.

  1. Follow the BOM and wiring in hardware/BOM.md
  2. Flash the latest official firmware via the Web Installer (always up to date)
  3. 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


πŸ“œ License

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


πŸ™ Acknowledgements

  • 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.

About

Resources

License

Code of conduct

Contributing

Stars

14 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors