Above: An LCD module displays the data that are being periodically written to SD card.
Some 3D printer filaments can absorb water and then misbehave during printing. So in some environments, storing opened spools of filament requires controlling the humidity. I store my spools in a big plastic tote with a lid, and I bought some big bags of silica gel to soak up excess moisture. I had no way of telling if the silica gel was helping, until now.
Above: Six big bags of silica gel (lower) and my collection of the little packets that come with lots of different things (top). The silica gel has not been reactivated in a couple of years, so I baked it in the oven at 220° F for several hours to remove water.
Above: After a couple of years in the tote, I was able to remove water so the mass of the silica gel returned to where it was the last time I cooked it. The heat reduced its mass by 12.2% which means that 266 grams (9 ounces) of water were removed.
Above: Humidity is an easy thing to measure with an Arduino and cheap sensor. Logging humidity with the data logging shield for an Arduino Nano is especially easy when there is a power outlet nearby. The Nano data logger does not last very long when powered by batteries, but it's really handy when it's right next to a wall socket.
Above: With plenty of power, I was able to add a little LCD module to monitor the data while the logger was logging the data to microSD card. These nifty LCDs cost $1.65 and are bright, crisp, and decidedly retro. The LCD cycled through the display of five different parameters (see lead image above). Each was displayed for five seconds (the lead image gif is sped up some).
Above: The LCD module (left) has a smaller black PCB attached to it (with red LED and blue potentiometer). This costs an extra dollar, and turns the LCD module into an I2C device. That reduces the number of wires needed to connect the LCD from eight to four.
Above: To monitor the humidity inside the tote and also in the room, I used two BME280 I2C sensors. Four wires run from the logger (upper right) to a makeshift I2C hub (inset). Then three I2C devices connect to the hub: a sensor in the tote, a sensor in the room air, and the LCD.
Above: Each I2C device must have a unique address. To change the address of one of the BME280 sensors, I cut the trace between the two leftmost copper pads (above the letters "BMP") and soldered a new connection (glob of solder) between the two rightmost pads (glob not shown here).
Above: Humidity inside a tote full of 3D printer filament and in the room air next to the tote. The data logging started about an hour before the silica gel was placed in the tote (arrow). Data were written to the SD card every five minutes. Within 30 minutes of closing the tote lid with the freshly dried silica gel inside, the humidity in the tote dropped from 35% to 24%. The humidity continued to drop slowly for the next 20 hours to 15%.
So five pounds of silica gel can definitely dry out the air inside a tote. I guess there is some water being removed from the filament, but I haven't learned anything about that. I don't have the tools to weigh the filament. But if the silica gel adsorbs more water than the air in the tote could have been holding at 35% humidity, then we know the excess will have been removed from the filament.
In the meantime, I really like the pretty blue LCD telling me about the tote. Here is the sketch running on the Nano: Deek_LCD_2BME.txt