Filament Spool Weight Scale
Filament Spool Weight Scale
This is the Filament Spool Weight Scale I came up with.
It will weigh 1kg spools with no problem.
It has a NFC board in it but not actively working at the moment. I'm hoping at some point the Spoolman program will have the ability to get the weight from an external device using a code that can be set in the NFC tag on the spool.
https://github.com/Donkie/Spoolman
It has a .96" OLED display, Two push buttons for Tare and calibration. A DC jack. A port on the end to plug in a USB cable for programming but I did make a Plug for it if not being used.
The Pictures show 3 buttons but the print files I made has two or three buttons. I added another button to test the NFC code.
I made a design change from the first one I made and made a separate Load Cell Holder for each type I found so they would fit in the base without having to change the holes in the bottom for the different boards.
I used the Sparkfun board so I was able to test that holder. The other I made I could not test print as I didn't have the board so there are no print files. You will have to make your own after checking that the other holders I made will work. STEP and fusion files available.
I don't make any money from the Amazon links. Their just for reference.
Electronic Parts:
| Qty | Part Description |
|---|---|
| 1 | ESP32 DevKitC v3 or 4 or equivalent https://www.amazon.com/Espressif-ESP32-DevKitC-32E-Development-Board/dp/B09MQJWQN2 |
| 1 | Adafruit Perma-Proto Half-sized Breadboard PCB or equivalent with same hole spacing of 2.9" (73.66mm) |
| 1 | 0.96 Inch OLED Module 128x64 I2C, 4 pins 5v compatible. All white but your choice. https://www.amazon.com/dp/B0833PF7ML |
| 1 | Load Cell Amp HX711. I used the Sparkfun board. https://www.amazon.com/SparkFun-Load-Cell-Amplifier-HX711/dp/B079LVMC6X |
| 1 | Load Cell 5kg - I used an Adafruit brand that I had bought some time ago. The holes for the load cell may not fit other brands as I found out trying some different 5kg load cells. The Holes are M4 and 10mm apart and 5mm from end of aluminum. Total length is 75mm. |
| 2 | Push Buttons Momentary 6.35mm or 1/4 hole size. https://www.amazon.com/Cylewet-Momentary-Button-Switch-CYT1078/dp/B0752RMB7Q |
| 2 | .1uf Ceramic Capacitors (for Push Buttons) |
| 1 | DC Jack 5.5x2.1 with or without wires (optional if using USB) https://www.amazon.com/Fancasee-Female-Socket-Connector-Adapter/dp/B07Y8MFCJD |
| 2 | 40pin Female Headers |
| 1 | 4-Pin 2.54mm Pitch PCB Terminal Block Screw Terminal Connector (optional) https://www.amazon.com/dp/B098QMNHPJ |
| 0 | Various male headers for power and connection to gpio's, single and double row |
| 0 | Various lengths of solid colored wire. Stranded can be used but solid is easier to work with. |
| 0 | Wires with female dupont connectors |
Hardware Parts:
| Qty | Part Description | |
|---|---|---|
| 4 | M2x8mm Black Oxide Button Head Hex screw with nut (OLED Display) | |
| 4 | M3x10mm Black Oxide Button Head Hex screw (Lid to box) | |
| 6 | M3x6mm Black Oxide Button Head Hex Screw (NFC board, PCB Half Breadboard, Load Cell Amp Tray) | |
| 2 | M2x8 Socket Head Cap Screw Self Tapping (Load Cell Amp PCB) https://www.amazon.com/uxcell-Hexagon-Socket-Tapping-Fasteners/dp/B00YBMRAH4 | |
| 10 | M3x4x5 brass inserts, Voron 2 350 type. (Base Box) https://www.amazon.com/ruthex-Threaded-Inserts-VORON-Components/dp/B0CDH36ZMX | |
| 2 | M4x30mm Socket Head Cap Screws (Spool Holder and plate to Load Cell) | |
| 2 | M4x25mm Socket Head Cap Screws (Top of box to Load Cell) |
For New Flat Top
2 - M4x20mm Flat Head screws
2 - M5x20mm Stainless Steel Studs (For Hub Cap on Flat Top Plate)
For 80mm Load Cell with M5 and M4 Screws and Flat Top
2 - M5x25mm Socket Head Cap Screws (Top of Box to 80mm Load Cell)
2 - M4x20mm Flat Head Screws (For Flat Top to 80mm Load Cell)
2 - M5x20mm Stainless Steel Studs (For Hub Cap on Flat Top Plate)
Construction Notes:
I tried to keep the wire color the same as the Fritzing Layout of the circuit to make assembly easier.
Code:
I did the project code using Visual Studio Code and pioarduino to use the latest version of Arduino core for the ESP32 (version 3).
The project code can be found here: https://github.com/jaseiffert/ESP32_Filament_Spool_Scale
The include/configuration.h file has some of the settings needed to be set for the program.
The include/hardware.h file has the pins for the GPIO's used. If you use different pins they will need to be changed here.
The include/secrets.h has all the passwords that need to be set.
Operation:
First time you will have to calibrate the scale with a known weight. 10g to 100g.
Press and hold the Calibrate button till the screen changes.
Remove all weight from scale
Press Calibrate Button when ready
Press Calibrate button.
Determine zero weight offset
Offset:Place a weight on the scale then press the Calibrate Button when ready
Press Calibrate button.
Enter the weight in (whole) grams by pressing the Calibrate Button (+10)
(Weight starts with 10)
Weight: 10 (press the calibrate button to add 10g each time to get to the size of the known weight)
(If you have a 50g weight then press it 4 times to get to 50)
Press Tare button to select the weight displayed.
Calibration weight: 50
There will be a delay as it calculates the calibration data and will display some data before going back to measuring weight. It should be 0 G when it's done or 50 G if you left the test weight on the scale.
If you mess up just try it again.
While you shouldn't need the Tear button once calibrated if you use the scale for something else it may come in handy to zero a container that you want to measure the contents.
The calibration data should be saved in memory so it should be good when you turn it back on.
Normal Operation once calibrated is place weight on scale and give it a few seconds to settle to the weight. Anything over 100g will not show only whole numbers, no decimal places. Mine does jump around a bit by .2 - .3 g. Not sure why.
Updates:
03/09/2025 - Added a new Flat Top Plate and Spool Hub that is easily removed. After calibrating the Flat Top by itself use the Tare Button when adding or removing the Spool Hub to zero the scale.
I also added a new Base Top for the 80mm Load Cells that have both M5 and M4 screw holes that are farther apart. I have not test printed these so let me know if there are any problems. I also added the new Hardware to the list.
11/22/2025 - I adjusted the hole placement for the NFC Module to fit much better. I have no Idea why they don't provide the hole positions but I finally figured it out with EasyEDA. They had a footprint of the board and I was able to measure the hole placement. I DID NOT PRINT OUT the new face place V15 to test it but I printed out about the same thing for another project and it fit perfectly. I also added a picture of the dimensions if anyone needs them. Why such odd number I have no clue.