In the past, I’ve used several filament dry boxes, but none of them had all the features that I wanted or even what I thought every filament dry box should have by default. So I decided to make my own. As always all the source files are available in case you decide to build one for yourself. But either way, you can watch the video and maybe pickup few ideas and improve on them. So, let’s make an awesome controller for 3D printing filament dry box!
The idea behind the dry box is fairly simple; put a heater inside a box and it will keep it at a desired temperature, add a desiccant to absorb the moisture and add a fan to force air circulation. But in the past I had a hard time finding a dry box that had all the features that I needed, so I decided to go overkill and design a fully custom dry box controller.
I also designed it to be open-source and open-hardware, which means you can take it as a starting point and build your own ideal dry box.
As always, all the source files, build steps and build instructions are available here in the GitHub repository and also there is a video explaining how it works.
Let me know your thoughts and feel free to post pictures of what you have built.
I instrument dehydrators for food researchers.. Nice design.
Thank you! I’m glad you liked it!
This is so cool! Iβve been putting together a rough BOM for a similar project for some time.
Do you think it would be feasible to replace the ESP with a Raspberry Pi? I am looking to recycle some of my very old Piβs that are gathering dust.
Great job!!
Hey Devon!
Absolutely, I think Raspberry Pi instead of ESP32 should work, maybe even give you some extra features, because it’s more powerful so you could run all the automation and data collection on the Pi.
You would need to modify the design to use a Raspberry Pi instead of ESP32. Something like a header/connector so that you can communicate with the controller from the Pi.
Let me know if you build one, I would love to take a look at it!
I noticed that if the “Target temperature” is more than 71 C then the box will not turn on.
Hello, I didnβt see that there is LIMIT_TEMP_HEATER_MAX in the code, now I understand what the problem was
Glad you got it working! Would love to see how the finished project looks like.
I am just putting my order in with Digi-key but a few components are out of stock with crazy lead times.
Can you suggest any alternatives for the following?
VLS6045AF-101M
DMN62D0U-13
LM2576S-5.0/NOPB
Awesome write-up and video by the way π
Thanks Jon. I’m glad you liked it.
DigiKey has a feature where you can search for similar/replacement components. Give it a try.
Alternatively you can modify the layout to use components that you/distributor have in stock.
Thanks, I looked but two of the components don’t have alternatives in stock either. Instead, I am looking at PCBWay assembled boards; $107 for 5 boards shipped. It would probably run me around $80 in components any way so, this isn’t a bad deal imho.
With the ongoing chip shortage, it can be difficult to source all the components you need.
But if PCBWay has components in stock and will make 5 of them for $107, that’s not bad. Especially if you account for the time you would spend assembling and testing the boards.
Let me know how it turns out!
You can check Mouser, or use Octopart for searching other companies’ stock levels.
Hi, I find your project very interesting. I wanted to know if by chance you can release the files that JLPCB asks for to assemble the SMD part, they are very cheap and it would take less than assembling it by hand π
Thank you Mauro!
Absolutely, all of the PCB houses like PCBWay, JLPCB, SeeedStudio and others would need BoM (which is already in the git repository) and Pick&Place file which I just added.
Let me know how it goes! π
unfortunately I was impatient and I instantly ordered the PCBs, but now I’m almost redoing the order with the assembly for testing.
Hi,
I want to build one of these, but I’m not sure how to take the github files to send to jlpcb to generate an assembled board as they want different file formats to the one provided?
Hi Ian,
The GitHub repository includes all the files you need to manufacture the board.
The Gerber files are required to manufacture (bare) PCBs.
The Bill of Material (BOM) that tells you/manufacturer which components they need (to purchase) for this board.
And then there is a Pick and Place file which tell you/manufacturer where on the board each component should be placed.
Let me know how it goes!
Awesome Project! I might make some boards to sell and may adapt to work in a bigger box for bulk filament drying. Small issue, I’m trying to figure out the max sized heating pad that it could use. Would the mosfet connected ton Q3 limit the size of the pad used?
I’m thinking a 200mm by 150mm 12v heating pad.
Thanks SilentStray. Hope you make some coffee money from selling these. π
There are multiple limiting factors, for example; combination of trace width and copper “thickness” is one, max Id of the MOSFET, connector, power supply etc.
It’s easier if you already have the heating pad and then size the driver circuit to be able to drive it. Also keep in mind that you probably only care about the power, so even if your circuit is designed for 1A, using 6V, 12V or 24V heater will give you significantly different amounts of power/heat. π
Thanks for the reply! Lol, and yes, coffee money, I’ll be sure to send some your way if it at all works like I have in mind.
Also, of note, the BOM does not list the header part numbers I opened an issue on Github with all the information for them and an alternate source for L1.
Hi Sasa,
when do you think the gerber files will be ready for the full manufacturing process for the pcb by https://jlcpcb.com/
I am interested to build this dryer.
Hi TKaus. All source files and manufacturing package are available in the GitHub repository. There are multiple people who have already used them to successfully build PCBs and PCBAs at PCBWay, JLCPCB and Seeedstudio.
Where can I find a bom and cpl file ?
Hi TKaus. As I mentioned, all source files as well as manufacturing package are available in the GitHub repository.
Hey again Sasa, I’m testing out the board now, and I noticed U3 outputs 1.8v to the board instead of 3.3v, I see the part is meant to output that voltage. But due to it, the board is not booting up. Is this a mistake or am I missing something?
Hi SilentStray.
Thank you for catching this! You are correct, this is a mistake on my part, the part number should be `MIC5365-3.3YD5-TR` (instead of `MIC5365-1.8YD5-TR`).
If you can, please replace the 1V8 regulator with the 3V3 version (any pin-compatible 3V3 regulator should work here).
I will also update the repo to fix the typo.
I also have a soldered MIC5365-1.8YD5-TR and could that be why I can’t recognize the esp32?
A fatal error occurred: Failed to connect to ESP32: No serial data received.
https://github.com/SasaKaranovic/DIY-Filament-Dryer/issues/6
Hi Raz,
Yes, please use MIC5365-3.3YD5-TR.
Hey again Sasa, just a heads up. The code is not too big to fit on the ESP. Won’t compile.
Dependency Graph
|– SPI @ 2.0.0
|– SPIFFS @ 2.0.0
|– FS @ 2.0.0
|– WiFi @ 2.0.0
|– Adafruit SHT31 Library @ 2.2.0
|– Adafruit Si7021 Library @ 1.5.1
|– ESP Async WebServer @ 1.2.3
|– AsyncTCP @ 1.1.1
|– DallasTemperature @ 3.11.0
|– OneWire @ 2.3.7
|– ESPmDNS @ 2.0.0
|– Wire @ 2.0.0
Building in release mode
Compiling .pio\build\esp32dev\src\src.ino.cpp.o
Retrieving maximum program size .pio\build\esp32dev\firmware.elf
Checking size .pio\build\esp32dev\firmware.elf
Advanced Memory Usage is available via “PlatformIO Home > Project Inspect”
RAM: [== ] 15.8% (used 51924 bytes from 327680 bytes)
Flash: [=======Error: The program size (1144133 bytes) is greater than maximum allowed (1048576 bytes)
==*** [checkprogsize] Explicit exit, status 1=] 109.1% (used 1144133 bytes from 1048576 bytes)
Hi SilentStray,
Are you sure you didn’t make any changes? I just ran `pio run` on the repo and it compiles without any issues.
Checking size .pio\build\esp32dev\firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM: [= ] 12.5% (used 40980 bytes from 327680 bytes)
Flash: [======== ] 76.8% (used 805509 bytes from 1048576 bytes)
Building .pio\build\esp32dev\firmware.bin
esptool.py v3.3
Creating esp32 image...
Merged 25 ELF sections
Successfully created esp32 image.
Do you sell e.g. 2 naked boards or 2 equipped boards. If so how much I have to pay Incl. Shipment to Germany
Hi Andreas. Not yet but hopefully soon. Until then I would be happy to send you two bare PCBs for free. Please reach out to me via email.
Thanks Sasa but in the meantime I have created a non-SMD PCB and it seems to work as well. I also printed the 3D parts. Everything is now ready for integration. But I am wondering whether you have instructions or photos/video of how to integrate the different parts fan, box, sensors into the Dryer. I am using the same dryer than you,
By the way I have tried to write this text now the 3rd time bit it always disappeared from this page.
Thanks in advance
Cheers Andreas
Hi Andreas! That’s great! I would love to see some pictures of the final version.
I will double check if I have any additional photos or documentation for this project and share it with you. But I’ll need some time for this since I am out of office right now.
P.S. Sorry about the delay. Each comment has to be manually reviewed and approved before it appears in the comments section.
Do you think it would be feasible to replace the ESP32 with a ESP-12E?
You could give it a try. Although given how accessible ESP32 is, it might be easier to just get an ESP32.
you right. but I have ESP12 π I dont want to throw in the trash this π
so I have modify files to ESP12. All compilling except need to modify ESPAsyncWebServer library. They using SPIFFS but this library is deprecated. Try to rewrite to LittleFS.
You don’t necessarily have to trash it. You can use it for other projects. π
at now I rewrite to ESP-12F
and at now I modify to DHT-11 sensors + NTC 100k 3950 heater temperature sensor
some later want to upload to GitHub to public review.
Hi. What is the PCB thickness size ? 0.4 or 1.6 mm
It is 1.6mm
Will this heater with this new setup reach ABS and nylon drying temps?
I am working on a new revision of the board.
It should be able to reach much higher temperatures compared to this version.
do you plan on selling the new revision ? I’m being lazy and want one board, not 5 π great project!
Thanks G0urmand! Can’t promise anything but I will try to make things happen if there is interest for it. π
Any news of the new version ?
and do you sell the board , bare or not ?
Hey Zippy!
The new boards are being manufactured and will be available on the shop in a couple of weeks.
There will also be a new video/guide so stay tuned. π