Final Project

I have two final project ideas. My initial idea was to design a modular light controller, which I described in Week 01b. Over the weeks, and after discussions with my local instructor Ferdi, I developed the idea of creating a "smart" filament holder for the Prusa XL. This holder would measure the weight of the spools and indicate how much filament remains. This feature is particularly useful because loading and unloading filament on the Prusa XL can be cumbersome—especially when printing with five different materials, as it requires unloading, weighing, and reloading five spools. Integrating this with a filament drying box would be a great addition. For this aspect, I found some inspiration on YouTube with the Sicco Box, which is also available on Printables.

The weight measurement should be implemented using individual load cells for each spool holder. My first approach was to use the same or similar load cells that are already integrated into the hotends, but I couldn't find any specific information about them. The typical Δm will be 1 kg, with a range from 220 g to 1220 g, which corresponds to the weight of a 1 kg Prusament spool. Adafruit recommends using load cells rated for double the maximum expected weight for optimal measurement precision. With this in mind, the Adafruit 5 kg load cells could be a good choice, as they would also support 2 kg spools, which we occasionally use with our Prusa MK4S (formerly MK3.9). For optimal precision, a high-quality ADC such as the HX711 is essential. In week 09 I tested the usage of an HX711 in combination with an ESP32C3.
Beside the HX711 I looked for integrated ADC on the available microcontroller from the FabInventory and the Xiao ESP32C6.

Microcontroller ADC Resolution
Attiny 1624 12 bit (17 bit with oversampling)
Attiny 3226 12 bit (17 bit with oversampling)
Attiny 412 10 bit
ATSAMD11C14A 12 bit (12, 13, 14, 15, 16 bit with oversampling)
ATSAMD21E18A 12 bit (12, 13, 14, 15, 16 bit with oversampling)
AVR128DB32 12 bit
SAMD21 12 bit
Xiao ESP32C3 12 bit
Xiao ESP32C6 12 bit
Xiao ESP32S3 12 bit
Xiao RP2040 12 bit
Raspberry Pi Pico 12 bit

Other useful information from inside the box are temperature and humidity. For that I also did some experiments in week 09 with the conclusion ... (WIP).

The project will include multiple sensors and actors so I need a display and some way to navigate to a menu. Beside the load cells and a environment sensor I want to use a rotary encoder as a human input, which I experiment in week 9. To get an visual output I plan to use a display. For that I reason I experiment with a small OLED display in week 10.

It would be nice to have some kind of modularity so I can start with one spool holder in the box with a load cell, a display and a rotary encoder. The next iteration will conclude multiple spool holders and in the last iteration some kind of active drying solution can be added. I don't want to replace always the pcb and make some new wiring, so I plan to use multiple microcontroller. One microcontroller on each spool holder, so they will be modular, one main microcontroller where the display and rotary encoder is connected and optional one for the active drying solution, otherwise that could probably done by the main microcontroller. For that reason I tried out some simple networking in week 11.

System Integration

The thoughts about the system integration are documented in week 15.

Electronics

BOM

The prices will be calculated without shipping, with german taxes in €. For easier reproduction I'll try to minimize quantity of different shops even if it cost more.

ID Designator Component Quantity price/# price link Comment
01 U1 Xiao ESP32-C3 1 4,39 € 4,39 € Digikey
02 U2 Attiny 5
03 U3 HX711 5 4,79 € 23,95 € Digikey Cheaper on Amazon also available as a Kit with a load cell
04 U4 BME688 1 17,54 € 17,54 € Digikey
05 OLED 1
06 Rotary Encoder 1 1,51 € 1,51 € Digikey
07 D1 Neopixel 10 3,96 € 3,96 € Digikey
08 Load Cell 5 kg 5 3,47 € 17,35 € Digikey different load cells also possible, cheaper on Amazon
09 Heater 2
10 Fan 2
11 C1 10nF 7
12 C2 10uF 1
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

Mechanics

BOM

The prices will be calculated without shipping, with german taxes in €. For easier reproduction I'll try to minimize quantity of different shops even if it cost more.

ID Component Quantity price/# price link
01 Bearing 608 10
02 Eurobox ED64/42 1 31,71 € 31,71 € Auer Packaging
03 Acrylic >20 x 10 x 5 mm
04 Acrylic >60 x 40 x 3 mm
05
06
07
08
09
10

Mechanical Design

The main enclosure for the project will be a Eurobox, because our shelf system is configured to fit Euroboxes and it makes it easy and cheap to reassemble. To fit different sizes of filament spools inside without going to big I decided to use a Box with the size 60 x 40 x 43,5 mm. To make sure that my design will fit with the existing components I reverse engineer a few by myself like the load cell or the filament spools. Others like the Eurobox I search for 3D models online.

3D Models

Eurobox
Bearing 608

Design Files

The final files will be added later.


To create this page, I used ChatGPT to check my syntax and grammar.

Copyright 2025 < Benedikt Feit > - Creative Commons Attribution Non Commercial

Source code hosted at gitlab.fabcloud.org