3D printing
Filament Health Monitor (Part 1 – Introduction)

Filament Health Monitor (Part 1 – Introduction)

Introduction / Summary

The Filament Health Monitor is a Web Enabled 3D printer Filament Monitor System and spool holder. This setup will monitor and report the following to a custom web view/api:

  • Weight of filament left (upto 5kg)
  • Humidity
  • Temperature
  • Color of material loaded

It also includes a small LCD screen which reports the weight, humidity and the current IP address of the monitor locally.

Quick Links


This is a multi part, series of posts on the construction of a new 3D printer Filament Health Monitor system. It is my express intent and hope that you will build, modify and expand on the product I present.

Quick Links


Happy Making and please note (Legal stuff on how I fund my site):

I am a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to Amazon Products. This is at no cost to you and as an Amazon Associate I earn from qualifying purchases that you make through links that I provide.

These are my own experiences and yours will differ, to assume otherwise would be ill fated. The opinions contained here are also my own and should not be associated with any group or organization I may also be a member of. Finally, if you follow any of my suggestions, techniques or recommendations, do so at your own risk, act like and take responsibility like an adult.

The Desirements

My current storage solution works just fine for keeping things dry, but I am a really bad estimator of how much filament I have remaining which leads to a lot of remnant spools. My filament runout sensors are great, but not in the middle of the night. I want to be able to run a print and know with confidence that I have enough to get through it. To know how much I have, I will need to weight it. Next, if it is going to feed the filament, the device must allow the spool to rotate. To know when I need to change out the decadent I will need to monitor Humidity levels and possibly temperature. Finally, if I am printing remotely, I’d like to know what color filament is loaded (Stretch Goal). This leads to the following requirements for my build:

  1. Shall be able to weight the spool.
  2. Shall allow the spool to rotate.
  3. Should monitor Humidity
  4. Should monitor Temperature
  5. Could detect color of filament
  6. Shall be remotely accessible

Does it Exist Already?

I’ve seen a few different filament storage methods. I have found that I have to store my filament in a dry box of some sort or another. Currently I use a tuber ware container but it lacks a certain amount of smarts. After browsing for other solutions, I stumbled on two particular offering on Amazon. The first, from eSun:

This one was pretty neat. It reported the temperature, humidity and even the weight of the filament remaining on the little screen at the front. However, at the price point, I couldn’t imagine buying the five or six as I intended. Also, you couldn’t see the stats remotely, a real hope I had. The next one was this offering from Polymaker:

This one was even more basic. It is big enough that you can fit two spools in it at once but other then that there is not much to it. It has a humidity readout and a place for desiccant. That’s it. I think we can do better.


After looking around a bit I was able to find all of the devices and parts I was going to need. I bought more than I needed as I hoped to be able to experiment and possible build more. Most of the items I used are listed below.

Electronics BOM

Item Description Qty
D1 Mini, ESP8266 WiFi Board 1 of 5 needed
OLED Display Module 0.91 Inch 1 of 2 needed
TCS-34725 RGB Color Sensor 1
HX711 5KG Digital Load Cell (Weight Sensor) 1
Humidity and Temperature Sensor 1 of 2 needed

Mechanical BOM

Item Description Qty
608 Skate Board Bearings 4 needed
5/16-18 x 1-1/2″ Hex Head Cap Screw 4
5/16-18 Nylon Insert Hex Lock Nuts 4
M2 and a few other odd bolts 4
PETG Filament (PLA or ABS is fine too) 1 spool

Of note, the above BOM does not include the wire or tools I used to build this monitor. For those, you should check out my article on wire wrapping. It is a some what forgot technique for building low run count circuits that are repairable and highly durable. It made this project soooo much easier and I wish I had learned to do it a long time ago:

3D Printed Parts

The 3D printed parts can be found over at:


There you will find all of the STL files as well as a STP and F3D of the entire assembly. You will need to print one of each STL file with a few exceptions for the wheel and wheel spacers

Front Electronics1
LCD Cover1
Rear Cover1
Rear Electronics1
Base Platform1
Wheel Spacer4

I printed my build from Octane PETG, but most PLA and ABS filaments should be absolutely fine. The filament I prefer to use is:

I produced all parts with the following parameters:

  • 3 perimeters
  • 30% Hex infill
  • 4 bottom layers
  • 4 top layers

Most parts are optimized to be printed without supports except the rear and front electronics cases. These will need supports to handle the mounting arm.

In the next post we will cover the assembly of the Monitor, then the electronics and software.

Go to Part 2 Now: Mechanical Assembly–>