Skip to content

ItzEarthy/DryDock

Repository files navigation

DryDock

License Stars Last commit Issues Release Wiki

Smart filament storage and inventory management for 3D printing.

DryDock dashboard screenshot

DryDock is a web dashboard that gives you real-time visibility into your filament supply and dry box environment. It tracks remaining filament weight per spool, monitors temperature and humidity inside and outside the dry box, and integrates with popular 3D-printing tooling to keep your inventory accurate with minimal manual work.


Key Features

  • Real-time weight tracking
    A 24-bit NAU7802 ADC and a 5 kg load cell measure remaining filament weight with high precision. A built-in calibration wizard makes setup straightforward.

  • Temperature and humidity monitoring
    Dual AM2320 sensors measure conditions inside and outside the dry box. DryDock evaluates desiccant and enclosure health primarily from the absolute internal humidity reading (hum_1).

image
  • RFID spool identification
    An MFRC522 reader scans 13.56 MHz NFC tags attached to spools, so DryDock knows exactly which spool is being weighed—no manual selection needed.

  • Spoolman integration
    After each scan-and-weigh cycle, DryDock can automatically update the remaining weight in your Spoolman database over the local network.

    image
  • Klipper / Moonraker integration
    DryDock can be registered with Moonraker’s Update Manager, allowing updates directly from Mainsail or Fluidd.

  • Local web dashboard
    A browser-based interface shows live sensor readings, historical charts (1 hour / 24 hours / 7 days), scale calibration, firmware generation, and system settings.


Requirements

  • A running Spoolman instance (on your network)
  • A Debian-based machine running Klipper (commonly a Raspberry Pi)

Hardware Overview

The following core components are required to build a DryDock unit:

Component Purpose
ESP32 (S3 recommended) Main microcontroller; reads sensors and reports data over Wi-Fi
NAU7802 24-bit ADC High-resolution load cell amplifier for weight measurement
AM2320 (x2) Temperature and humidity sensors (inside + outside the dry box)
MFRC522 13.56 MHz RFID/NFC reader for spool identification
5 kg load cell Measures spool weight
RGB LED Visual status indicator

Data flow (high level):
[ESP32 + Sensors] --(Wi‑Fi/JSON)--> [DryDock Web Server] <---> [Spoolman / Klipper]

Full wiring diagrams, pin assignments, and a complete bill of materials are available in the wiki:

Current Setup

The current setup uses a breadboard and jumper cables. A PCB and 3D-printed hardware are in the works.

Full setup Part setup

Installation

Please see the Software Installation page on the wiki:


Documentation

Full documentation is maintained in the GitHub Wiki:

Wiki Page Description
Home Project overview and quick-start summary
Hardware Setup Bill of materials, wiring diagrams, and pin assignments
Software Installation Installing the backend on a Raspberry Pi
Firmware Setup Generating and flashing the ESP32 firmware
Configuration Environment variables, settings page, and Spoolman integration
Using DryDock Dashboard walkthrough, spool scanning workflow, and calibration
API Reference Complete REST API documentation for the Flask backend
Troubleshooting Solutions to common problems

Contributing

Contributions are welcome. If you find a bug, have a feature request, or want to improve the documentation, please open an issue or submit a pull request.


License

This project is licensed under the LICENSE file.

About

DryDock is a web dashboard to give you real-time visibility into your filament supply and dry box environment. It helps you track remaining filament weight by spool, monitors the temperature and humidity inside your dry storage. It integrates seamlessly with Spoolman and Klipper/Moonraker

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Contributors