Dude you need to make a kit for this and sell it, with octoprint integration! This is not overkill, this is what is needed and sorely lacking in dry boxes
Thanks bajojohn! I plan on releasing new version of the design that allows use of off-the-shelf components to build very flexible/custom dry box. Stay tuned! :)
@@SasaKaranovici too am looking forward to this new version! You did a awesome job on the last one! I NEED dry box for at least two spools that can maintain up to 100c and go below 10% RH. It would be nice if the spools rotated so as to prevent hot spots too. Thanks and looking forward to your new video.
I was thinking about manufacture something like that for like three years, today I started to do the research and just found you. This video is just amazing, thank you for sharing your project. I will try to repeat it without the comercial case and resistance, and add a weight sensor to monitor my filament. Thank you again for sharing.
Awesome work Sasa! Saw this from the article on Hackaday. Thank you for documenting your project and sharing, I'm discovering that all my filament is in poor condition due to moisture levels so I'd like to try this project and build a storage cabinet using this tech :D
Thank you! It was so much fun making it! I definitely spent more time on this project that I would like to admit, but I'm hoping that whoever builds this after me will just call it a super easy mod to make your filament dryer much better. In that case it's all well worth it. :)
@@SasaKaranovic Nice. Was about to ask how compiling and uploading the website worked, but didn't know that PlatformIO can seperately handle sideloading the data on it's own. I take it the SPIFFS is specific to the ESP32?
@@CruzMonrreal Yes, PlatformIO can do that and it's actually really nice because even though it's (one small ) extra step to get PlatforIO installed. It's worth it because people can just run a command against source file and always get same products. Which would be very difficult to do with just the Arduino IDE.
I have been thinking of doing something similar but adding a loadcell for measuring how much filament is left on the spool and auto rewind for when I am using an MMU. Great project.
Thank you! I actually had the same idea. But then I opted not to do it because I wasn't sure how easy/annoying would it be to "zero" the load cells, account for different variation of weight of each spool etc. At the end, without any interaction you would just be able to find out how much filament you used between prints. And for that I find that my PrusaSlicer "guesstimates" that pretty accurately. But if you want to add that, it's actually extremely easy with HX711 (24-Bit Analog-to-Digital Converter (ADC) for Weigh Scales) and load cell that is designed for ~5kg.
That's true. I have couple of filaments brands that I switch between. Also depends how big (weight-wise) your prints are and how accurate weight measurements you need... +-10g or so wouldn't be very useful for my application. But I agree, there is a way to easily make this feature work. However it is extra cost and complexity that would probably not be that useful to everyone without some kind of tweak/interaction. But hey, if people need it, project is open-source open-hardware. :)
Thanks! And in case someone from Sunlu or somewhere else is reading this... This design is completely open-source and open hardware, or in other words free as air. Although I would definitely heavily optimize the design and BoM for certification and mass production. :)
Are you going to do any boards from pcbway? I'd love to buy a board already done! YES! I'd like to see a larger dry box & component assembly. IT woud be great if this could be used to control a crock pot or dehydrator!
I did order bare PCBs and populated them myself, but there are few people who ordered fully assembled boards using the provided gerbers and BOM. Keep in mind that this is designed for the filament dryer. If you want to use it with a different heater you would have to make sure board can drive it. If you want to drive a crock pot or dehydrator, you probably need to modify it to use a SSR or control it in some other way. Unfortunately it was not designed for driving AC loads so it won't work without modification.
Thank you @Daniel Hempy! I was hoping to make a plug-in for OctoPrint (which I might do eventually) but for now I'm just using N-8-N to automate things since it's easier. :)
Awesome! Very impressive. FYI, it might be worth looking in to Home Assistant and ESP Home. The con is that you add a dependency on home assistant, but you get a very easy API for automation, and monitoring in the "one thing" you're looking at anyway
Great idea! Thanks for the suggestion. I already use Home Assistant and can integrate the dry box trough custom API calls we exposed. I wanted to make a project that can be used by the wider open-source open-hardware community, and while HA and ESP Home make sense, I thing I agree with you that it would make everything dependent on using HA, which might limit how many people can use this project. :)
@@SasaKaranovic Enable an MQTT api and then people can quickly integrate it into home assist or even openhab fairly quickly. Not keeping them tied to a single automation platform. :)
@@TheZolon Web API is even more generic and lightweight/generic (compared to MQTT). I have multiple devices (including this filament dryer) that expose status and control over Web API and I integrate them with HomeAssistant. I assume OpenHab should work too but haven't tested. :)
I ordered some pcb’s from pcbway and they had a question regarding the holes all being labeled as NPTH but both top and bottom are on the copper pad. I sent you an email in regards to this but wanted to document it here per your request as this may help others. Looking forward to your response. Thank you for sharing this really neat project
Awesome video keep it up! Would be very interested in the larger dry box. Also what's the temperature range? Would love the larger dry box with temperature reaching closer to 100.
Thank you! I'm glad you liked it. I have a couple of projects in the works that I'm making videos for but in the future I'll probably revisit this topic. :)
I was thinking of doing something similar but I absolutely suck at programing and Don't have experience with chosing electrical components. So I'm probably going to run wires to my printers octopus running klipper and control it via the web UI.
If you have spare ports on your control board that can drive the heater, that's a good option. I personally like to build my own custom stuff and then integrate it. But at the same time there are so many different ways to do this, just pick the one that you are most comfortable with and give it a try.
It's hard to say. You will need a decent PID controller if you want to keep the temperature stable/accurate. The board in this video is basically dedicated to that function. With you controller board, you will need one channel to control the heater but also another one to read the temperature. Then you need to also periodically check the temperature and adjust the power output which could steal cycles from other things your controller board needs to do. Obviously this is me assuming a lot of stuff without even knowing your setup and how it would work. But if you feel that's the lowest hanging fruit for you, give it a try and see how it works. You can always switch to a different solution if that one does not work well.
Hi Sasa, thanks for the amazing project, I am currently building it but I have some issue in finding all the parts due to the global semiconductor shortage and as I have limited knowledge in the field I am not sure which alternative to pick. I am only missing the mosfet DMN62D0U-13 , can you suggest any alternative that is available at Digikey or similar website like Farnell or Rs components so I can get it in UK?
Thank you! I'm excited that you decide to build it. I would love to see the final result. Regarding DMN62D0U-13, pretty much any SOT-23 "low voltage logic" N-Channel MOSFET will work. Look if you can find DMN2005K-7, DMN2056U-7, DMG3414U-7, AO3422 or any similar part you can find. Also, these kind of MOSFETs are fairly cheap and you only need handful of them, so just to be safe you can buy 2-3 different PN and see which one works best for you.
@@SasaKaranovic Thank you, I place the order and PCB should arrive this week, it gonna take some time as I never worked with SMD components before so I need to figure out the best way to assemble everything but I'll definitely post somewhere the end result.
Great initiative, thank you for sharing, I liked the explanations on the concept. I'm considering building something similar (a bit bigger, as I'd like to accommodate the 3kg 300mm spools). It would be great if you can follow up on this video with a how-to-build step-by-step guide. You have most of the info already, and with a bit of work, it could be translated into something super easy to follow. Ideas that would make it better (in my view): - use off the shelf independent components (and avoid reusing old parts like the heater and enclosure from the sunlu filament dryer) => it can't be used by others considering a bigger design - more details on building the PCB (did you use a service that mounted the SMT or you soldered those yourself) - describe how you uploaded the code to the ESP32 (it's great you're using platformIO, though it's not obvious how you connect the board to the computer and upload the sketch without a micro-USB port) => I personally prefer adding a full ESP32 development module (with a micro-usb that you can mount using the GPIO pins) and replace if needed (not soldered directly to the PCB board) - loved the use of the API that can be connected to Grafana, OctoPi, home assistant => how to actually integrate I could help you out. I don't have much interest into creating UA-cam videos, though as I'm considering building something like this myself maybe we can combine our efforts to put out there a nice tutorial for others to use).
Thank's Ovidiu! I'm glad you liked it! Also thank you for taking the time and give suggestions, I have noted them down and maybe in one of the follow-up videos I can build a fully custom solution. Although the current one leverages some off-the-shelf components, the hardware/board is mostly agnostic/universal so hopefully you are able to use the design and modify it to fit your use-case. If you end up making one, I would love to see how it turns out!
Great project, question though what's the purpose of monitoring the outside temp/humidity? I havent looked into the code, is it used in the pid loop too?
The humidity and temperature inside of the dry box will be different from the ambient (when working). So you can take either the inside or outside values to trigger automation and decide when the dry box should be On/Off. But essentially it's another data point that you can use/evaluate.
I'd suggest learning about real electronics circuits and how they work. There are no unnecessary parts, there are not enough parts actually. The gate resistors are there to limit the inrush currents into the FET gate, as a gate is basically a capacitor that wants to draw a very high current when you apply a voltage step. The resistor limits this current, slowing down the signal so you have less EMI and EMC issues and it prevents overloading the MCU outputs. The pull up resistors are used to keep the gate at a defined voltage level, because in the state that the microcontroller is not yet programmed or comes out of reset and has not yet initialized it's IO pins, the pins are set to inputs, so you would have an undefined voltage at the FET gate that could turn on the heater and burn up your plastic box in programming/debugging scenarios. So having some safety-resistors that apply a defined voltage even if the controller does not run is very important. Using a two stage amplifier to use a logic level FET that amplifies the low voltage from the MCU to 12V and then use 12V to drive the power FET to reduce power losses is pretty common as well. You could of course replace that with a high power logic level FET, but they have a lot of gate capacitance that you would have to load/unload from a weak MCU pin, so that would make the switching slower and thus you have more power losses in the switch over phase. And having two dedicated components makes it easier and cheaper to find and source replacement parts. So this circuit here is a good compromise. The diode over the heater connector is a good idea as well, because heaters are often inducitve loads that would induce an inverse voltage to the circuit if you switch the current thru the load off. The diode removes most of that voltage spike to protect the circuit and the power FET. Using a BJT based amplifier here would not save you anything. You still have the same issue that you need a large base current to switch the output power transistor, so you would need at least two stages to amplify the weak MCU output current to a few amps that are required to power the heater. And you need all the other parts as well to have a safe and well functioning circuit.
Great video, I’m making my own filament dryer right now reusing sunlu parts. when using the thermistor to measure the heating elements temperature, how close did you have it to the heater as the factory thermistor is touching the metal. And what’s voltage / current did you run the heater on?
Thanks! I did not use a thermistor, I used a digital sensor. But whatever your sensor is, you want it to be in contact/touching the heater so your reading is more accurate. My heater is running off 12V but I don't recall the peak current.
Hey Sasa, this is such a great project, and I really appreciate making all the files and other info available! I have a question about your choice of mosfets... was there a reason you didn't use a logic-level mosfet for the heater control? You clearly made a deliberate choice to drive it with 12v to keep it from overheating and to use a smaller drive-voltage mosfet from the esp32. Like you said, there are plenty of ways to design the circuit, but I'm curious why you chose the route you did? Mostly I want to make sure I'm not missing something obvious if I put a logic-level mosfet in my version :-) Thanks! ~Guy
Hey Guy! I'm glad you liked it. To be honest, the main reason was that I already had these MOSFETs laying around. :) As you said, you can design this circuit in many different ways. But essentially my rule of thumb in application like this is that you want to keep your Rds_on as low as possible so that the MOSFET does not overheat (or produce heat) while conducting. And also that you can open/close the channel fast enough. So if you find a logic-level MOSFET that can carry the current you need for your heater and the Rds_on is low enough that it won't overheat or burn out, then you should be good to go. There is a whole theory behind designing driver circuit for heaters/inductive loads, you can Google it if you are interested. But in my case, I had this MOSFET laying around and also the heater I'm using is relatively low power so there is plenty of room to play with. :)
@@SasaKaranovic hahaha ok perfect thanks so much for the super fast response! I think I'll try it both ways and see if one version stands out. I've seen folks use a BJT to trigger the MOSFET as well but I think that might have some heat issues as well. I'll report back! thank you again!
If you know the specs of your heater, then you should be able to easily design a driver circuit. Or at least you can see how much current it draws and then design a circuit that can handle those currents without breaking a sweat. :) Good luck and let me know how it goes! :)
UPDATE: logic level MOSFETs are garbage 😂As predicted, resistance is waaaaay too high with the low Vgs without doing anything else, and even then it's just not built for much more than even 5v in my opinion, 12v at the most. And I'm basing my heater off an Ender 3 heated bed which pulls about 9 amps at 24V, so even 5V on the gate heats up in seconds. So now I'm working on a new circuit that will source the gate voltage from the 24v supply and dropping it down to 10v or so depending on the net fet I end up with. I'll keep you posted!
Hey! Great to hear you are making progress! Sorry it's not working yet but it was kind of expected. :) Please make sure your MOSFETs V_GS can handle the voltage if you plan on putting 12V or 24V on it. Also, keep in mind that you should be able to use multiple MOSFETs in parallel if single FET is not enough. But then you might have to deal with other issues, so maybe keep it as an alternative. Also if you are using an entire heated bed that draws 9A at 24V... that might be what some call an overkill for the filament drybox. You don't want to melt it before it reaches the printer. :D
I’m not sure if you have some place like a Facebook page we could post pics and info of our projects made with your designs but that would be really cool. I would be very interested in seeing some really cool creations and ideas others have come up with. Especially for these.
Thanks, that's a great suggestion. You and everyone else can always tag me on Instagram and Twitter. As the channel grows I will setup a community for everyone to hang around. Maybe Discord server and/or forum would be a good fit.
I use 2x 8kg Form Futura Rolls on my IDEX printer. I’ve just (literally today) finished modding my small dehumidifier cabinet to suit my filament needs. It seems that it will work fine, but I’d like to see your version for larger spools.
For those of us without the heater from the actual Sunlu, what would you suggest as a replacement? I've seen people use some of those terrarium heaters, but I think those go only up to 35ºC or so.
Great question! Before I answer, I feel compelled to warn you; please make sure you understand what you are building and how it works. Heaters are potentially very dangerous. Not only can they burn items around them and cause fire. They can also cause nearby materials to melt and produce toxic gases. Be smart and stay safe! With that said. There has been some interest in this project so I am working on a new revision that uses all off-the-shelf components. There are a lot of options for heater element. You can look at 12V/24V heaters. You can use 12/24V polyimide heaters and attach them to piece of metal. There are heater+blower options... Obviously each one comes with cons/pros. And again, I can't say this enough, make sure you know what you are doing!
This version only has a desiccant, heater and fan for air extraction. Monitoring in+out humidity can also be useful to know what is you "baseline" vs what is filament sitting at.
Very nice! We are working on a similar solution for the Valkyrie PRO DIY HT-LC 3d printer and have problems sourcing a fan rated for 80C. Do you have a lower temperature limit or did you find a fan rated for HT?
@PRO 3D thanks! With the global shortage of everything, I'm not surprised. :) But there are industrial fans that are rated for higher temperature. There are also fans that are used for heaters and high temperature industrial applications. Usually they will be a bit more expensive but if you have no other option... From my experience not all manufacturer mention the temperature limit, but most of them, if the volume is high enough, they will do a special batch/mod for your order.
I came here from hack-a-day. I’m in the market for a filament dryer for nylon and every off the shelf solution has issues. Most won’t get hot enough (80°c) or have a loud fan. Since you use the original heater from the S1 are you still limited to 70°c?
Hello to my Hack-a-Day viewers! I don't really use Nylon so can't tell first hand. Also it depends on your enclosure, the board can actually drive much higher power heater. The enclosure I used is not really well insulated, so heating it up won't be the problem, it's leaking the heat to the dry box surroundings (confirmed with thermal camera). So maybe find an enclosure that is well insulated and/or has a higher power heater.
Honestly I have no idea. I have not looked at it. I know there are some other companies that copied the design and are selling it as their filament drier. :) But in the end, I'm just happy that the average filament dryer got a bit better... I can't take credit for it but I like to think that I helped a little. :)
@@SasaKaranovic Anyways great videos. I watched almost 4-5 videos last night before sleeping. All of them were well paced, informative and edited nicely. Thanks for making them and sharing with us. Also, i drive (subscribed).
Nice one.. I wanted something like this not for "Filament ", but to cock some IC's at 60*-100*C for few hours...but i will control it via Home Assistant.🤓
You could but you would have to modify the circuit in order to be able to turn it on/off. You could "rewire" the fan and connect the GND pin of the fan to the PWM pin. Make sure that Q1 MOSFET can handle the current fan requires.
Unfortunately, at this moment I don't sell or have any assembled PCBs, just the bare PCBs that are left over from the project. I'm surprised and happy that multiple people actually asked for something like this. No promises but I will try to find a partner who would be able to deliver high-quality assembled and tested boards to people who are interested in replicating my projects.
I'm not sure what do you mean by high temp ESP32 and the one that doesn't specify high temp? I believe that any ESP32 should work fine for this purpose.
The rear fan is mainly to force air circulation within the box and reduce the temperature gradient. For example when I turn it off, the difference between the air temperature near the heater and at the top of the enclosure can differ by ~10-15C. So for example the filament facing bottom will be at 55C while filament facing the top would be at 40C. However, when the fan is turned on they are usually within 2-5C of each other, which is what I want. Also fan can be helpful if you have exhaust openings and/or desiccants inside the box. Obviously you can play around with the placement and direction to get the performance you need.
Design is open-source open-hardware so you can modify it to fit whatever fan and heater your plan on using. The project is using ESP32 and Arduino so it's easy to source and program/modify.
Please make a kit, the BOM is missing many details (for example the specifications of the components that are included in your esun case for those who don't or cannot get that case; which will soon be out of production) and it uses some old parts (namely the ESP32) that are only stocked by obscure distributors. Additionally, this video focuses on schematics more than the resulting board and build, which is extremely interesting and I learned a lot, but does not help with pragmatic aspects of DIY.
Hey @ogsandwitch! Thank you for the great feedback, I really appreciate it! The ESP32 is still be alive and globally available, so it should not be an issue. And I'm not sure about the enclosure but the general idea should be applicable to other filament driers. Maybe you missed it but I have mentioned in the comments that I am working on another revision that uses only off-the-shelf components. The hardware part is already done, it just needs a video now. :) As you noticed, this video is more about "how to mod the existing filament dryer" which helps if you have one, but it might be more helpful to show how to build one from scratch. My main concern at the moment is making sure people understand that his machine is very cool, useful and fun to build, but you need to exercise caution and common sense because it can get very hot. Same as you would not consider your oven as a "toy" (even though it's fun to make cakes in it) it can still get very hot or burn the house down.
@@SasaKaranovic Thanks for your response! Neither JCL nor PCBWay will source the part, noting it as "unavailable;" this is after a sourcing request on the part, on the backend, they contact all distributors to find the part, when you get this response it means no distributors have stock. Another tell-tale sign of an out-of-production part is when digikey shows the "by request only" message, which is present for this part. There is only one distributor I can find with stock. I posted an issue on your repo, it seems the ESP32-WROOM-32E-H4 (note "32E" and "H4") is the successor to ESP32-WROOM-32D (4MB HIGH TEMP). I however cannot confirm the pinout because the every distributor has a broken link for the ESP32-WROOM-32D (4MB HIGH TEMP) datasheet (even the distributor with stock has a broken link). However, when matching the newer ESP32 cad to your board, the footprint aligns. I have improved your BOM in CSV format that is easier to import into JCL/PCBW and has a separate entry for each header and have a transposed pick and place CSV that is compatible with JCL/PCBW, will push a PR Also curious why in your pick and place file you have set the 3x2 programming headers for "bottom," would be easier or cheaper to manufacture if all components were top-side.
You could find any pin-to-pin compatible module and use it instead. There is also a newer version of this project coming out soon. It will have many improvements compared to this one, so stay tuned/subscribe so you don't miss when it comes out. :)
I bought one of these an immediately returned it. Out of the box it's just not effective enough to do what it's supposed to do. Especially for the price. I will stick to putting filament in my food dehydrator for 24 hours before each print (anything less seems to have issues regardless of filament type or manufacturer)
I bought 2 of em and proceeded to disassemble and make them right. I agree it aint for everyone. They are missing some important parts like insulation.....but them rollers 😍
@Zero0004 I'm mostly printing PLA and PETG so I'm not that affected by the humidity. But yes, I got this filament dryer, on paper it sounded amazing and then when I tried it, there was a lot of room for improvements.
Hey so i was working on a similar project and even when thr heater was at max 80°c (ptc heater) the ambient temperature was not able to go above or even close to set temprature and actually never went above 45 ° is that normal and enough to dry the filament or i am doing something wrong.
My guess would be that your box is not insulated well enough, maybe you have gaps through which heat is escaping or maybe just the material you are using for the box is very thermally conductive. Keep in mind that if your box is well insulated, then your heater is heating the dry box. But if it's poorly insulated, then it's trying to heat the entire room which is very bad. :) My box easily gets to the 55-60C but to be honest I'm not sure what is the best temperature. It requires some trial and error because it depends on your setup and the type of filament you are using.
You kinda cheated by reusing the old dry box, the project isn't very worthy if u need an "old" dry box. If u built the enclosure and sourced or made a flex heater that'd be more useful. Probably even a low cost mk2 heating bed mounted to the bottom of an acrylic box
Good point. It all depends where each person draws the line. You could also say I cheated by using a off-the-shelf microcontroller instead of designing and growing my own silicon. ;) As mentioned in the video, the plastic box is not that important, you could use an old plastic Tupperware and any off-the-shelf DC heater and you are good to go.
Dude you need to make a kit for this and sell it, with octoprint integration! This is not overkill, this is what is needed and sorely lacking in dry boxes
One person with drive and passion can create a something that companies with tens of engineers fail to do. Amazing work!
Thank you! :)
Waiting eagerly for the new design.
Two years later and there really aren’t many good options for dry boxes. This is good work
Thanks bajojohn!
I plan on releasing new version of the design that allows use of off-the-shelf components to build very flexible/custom dry box. Stay tuned! :)
@@SasaKaranovic cant wait to see that
@@SasaKaranovici too am looking forward to this new version! You did a awesome job on the last one! I NEED dry box for at least two spools that can maintain up to 100c and go below 10% RH. It would be nice if the spools rotated so as to prevent hot spots too. Thanks and looking forward to your new video.
You've got a hard core fan.
Thank you! I've got the best fans in the world! :)
We all appreciate timestamps in description.
I tried I swear! :)
Excellent work, thanks for sharing it!!
Thank you! I'm glad you like it.
There is v2 coming out soon, so stay tuned! :)
I was thinking about manufacture something like that for like three years, today I started to do the research and just found you. This video is just amazing, thank you for sharing your project. I will try to repeat it without the comercial case and resistance, and add a weight sensor to monitor my filament. Thank you again for sharing.
Thank you! I'm glad you like it. Let me know how it turns out!
This is amazing work. Going to use this with a large watertight storage box to keep all my filament in for basic storage!
Awesome work Sasa! Saw this from the article on Hackaday. Thank you for documenting your project and sharing, I'm discovering that all my filament is in poor condition due to moisture levels so I'd like to try this project and build a storage cabinet using this tech :D
Thanks! I'm glad you liked it! Let me know how the build goes. :)
Wow, even though this feels like overkill for a single drybox, this is really impressive.
Thank you! It was so much fun making it!
I definitely spent more time on this project that I would like to admit, but I'm hoping that whoever builds this after me will just call it a super easy mod to make your filament dryer much better. In that case it's all well worth it. :)
@@SasaKaranovic Nice.
Was about to ask how compiling and uploading the website worked, but didn't know that PlatformIO can seperately handle sideloading the data on it's own.
I take it the SPIFFS is specific to the ESP32?
@@CruzMonrreal Yes, PlatformIO can do that and it's actually really nice because even though it's (one small ) extra step to get PlatforIO installed. It's worth it because people can just run a command against source file and always get same products. Which would be very difficult to do with just the Arduino IDE.
I have been thinking of doing something similar but adding a loadcell for measuring how much filament is left on the spool and auto rewind for when I am using an MMU. Great project.
Thank you! I actually had the same idea. But then I opted not to do it because I wasn't sure how easy/annoying would it be to "zero" the load cells, account for different variation of weight of each spool etc. At the end, without any interaction you would just be able to find out how much filament you used between prints. And for that I find that my PrusaSlicer "guesstimates" that pretty accurately. But if you want to add that, it's actually extremely easy with HX711 (24-Bit Analog-to-Digital Converter (ADC) for Weigh Scales) and load cell that is designed for ~5kg.
@@SasaKaranovic most spools are fairly consistent per manufacturer.
That's true. I have couple of filaments brands that I switch between. Also depends how big (weight-wise) your prints are and how accurate weight measurements you need... +-10g or so wouldn't be very useful for my application.
But I agree, there is a way to easily make this feature work. However it is extra cost and complexity that would probably not be that useful to everyone without some kind of tweak/interaction. But hey, if people need it, project is open-source open-hardware. :)
Man, I wish Sunlu or someone else, made a box like this. This is really cool.
Thanks! And in case someone from Sunlu or somewhere else is reading this... This design is completely open-source and open hardware, or in other words free as air.
Although I would definitely heavily optimize the design and BoM for certification and mass production. :)
Gives me an idea for a use of old 8 bit printer boards
Are you going to keep us in suspense? What do you have in mind? :)
Are you going to do any boards from pcbway? I'd love to buy a board already done! YES! I'd like to see a larger dry box & component assembly. IT woud be great if this could be used to control a crock pot or dehydrator!
I did order bare PCBs and populated them myself, but there are few people who ordered fully assembled boards using the provided gerbers and BOM.
Keep in mind that this is designed for the filament dryer. If you want to use it with a different heater you would have to make sure board can drive it. If you want to drive a crock pot or dehydrator, you probably need to modify it to use a SSR or control it in some other way. Unfortunately it was not designed for driving AC loads so it won't work without modification.
@@SasaKaranovic Thanks for the reply! Super cool project!
Well done sir! Count me in for the video on a larger box AS WELL as the one you're going to make when you do the OctoPrint integration 😁!
Thank you @Daniel Hempy!
I was hoping to make a plug-in for OctoPrint (which I might do eventually) but for now I'm just using N-8-N to automate things since it's easier. :)
Wow, thats awesome! I guess, i‘ll have to build one!
awesome, thanks a lot. very well done and explained!
Thank you! I'm glad you liked it!
Awesome! Very impressive. FYI, it might be worth looking in to Home Assistant and ESP Home. The con is that you add a dependency on home assistant, but you get a very easy API for automation, and monitoring in the "one thing" you're looking at anyway
Great idea! Thanks for the suggestion. I already use Home Assistant and can integrate the dry box trough custom API calls we exposed.
I wanted to make a project that can be used by the wider open-source open-hardware community, and while HA and ESP Home make sense, I thing I agree with you that it would make everything dependent on using HA, which might limit how many people can use this project. :)
@@SasaKaranovic Enable an MQTT api and then people can quickly integrate it into home assist or even openhab fairly quickly. Not keeping them tied to a single automation platform. :)
@@TheZolon Web API is even more generic and lightweight/generic (compared to MQTT). I have multiple devices (including this filament dryer) that expose status and control over Web API and I integrate them with HomeAssistant. I assume OpenHab should work too but haven't tested. :)
I ordered some pcb’s from pcbway and they had a question regarding the holes all being labeled as NPTH but both top and bottom are on the copper pad. I sent you an email in regards to this but wanted to document it here per your request as this may help others. Looking forward to your response. Thank you for sharing this really neat project
Good question. Those are mounting holes so it doesn't really matter if the fabricate them as PTH or NPTH, they don't have any electrical function.
@@SasaKaranovic OK great. Thank you for such an immediate reply. Cheers
My pleasure. I would love to see how they turn out so feel free to tag me on Instagram and/or Twitter!
This is AWESOME !!! damn, now I have another project to add to my print farms. lol
Most definitely would love to see a bigger box design.
Awesome video keep it up! Would be very interested in the larger dry box. Also what's the temperature range? Would love the larger dry box with temperature reaching closer to 100.
Thank you! I'm glad you liked it. I have a couple of projects in the works that I'm making videos for but in the future I'll probably revisit this topic. :)
I was thinking of doing something similar but I absolutely suck at programing and Don't have experience with chosing electrical components. So I'm probably going to run wires to my printers octopus running klipper and control it via the web UI.
If you have spare ports on your control board that can drive the heater, that's a good option.
I personally like to build my own custom stuff and then integrate it. But at the same time there are so many different ways to do this, just pick the one that you are most comfortable with and give it a try.
I'm just wondering if it's less flexible then your solution.
It's hard to say. You will need a decent PID controller if you want to keep the temperature stable/accurate. The board in this video is basically dedicated to that function. With you controller board, you will need one channel to control the heater but also another one to read the temperature. Then you need to also periodically check the temperature and adjust the power output which could steal cycles from other things your controller board needs to do.
Obviously this is me assuming a lot of stuff without even knowing your setup and how it would work.
But if you feel that's the lowest hanging fruit for you, give it a try and see how it works. You can always switch to a different solution if that one does not work well.
Great work man!!
Thank you! :)
Hi Sasa, thanks for the amazing project, I am currently building it but I have some issue in finding all the parts due to the global semiconductor shortage and as I have limited knowledge in the field I am not sure which alternative to pick.
I am only missing the mosfet DMN62D0U-13 , can you suggest any alternative that is available at Digikey or similar website like Farnell or Rs components so I can get it in UK?
Thank you! I'm excited that you decide to build it. I would love to see the final result.
Regarding DMN62D0U-13, pretty much any SOT-23 "low voltage logic" N-Channel MOSFET will work. Look if you can find DMN2005K-7, DMN2056U-7, DMG3414U-7, AO3422 or any similar part you can find. Also, these kind of MOSFETs are fairly cheap and you only need handful of them, so just to be safe you can buy 2-3 different PN and see which one works best for you.
@@SasaKaranovic Thank you, I place the order and PCB should arrive this week, it gonna take some time as I never worked with SMD components before so I need to figure out the best way to assemble everything but I'll definitely post somewhere the end result.
Hi Sasa, great project and execution! It would be really awesome, if you would make a video about making a bigger dry box.
Thank you, amazing works
Thank you! I'm glad you liked it!
Great initiative, thank you for sharing, I liked the explanations on the concept.
I'm considering building something similar (a bit bigger, as I'd like to accommodate the 3kg 300mm spools).
It would be great if you can follow up on this video with a how-to-build step-by-step guide. You have most of the info already, and with a bit of work, it could be translated into something super easy to follow.
Ideas that would make it better (in my view):
- use off the shelf independent components (and avoid reusing old parts like the heater and enclosure from the sunlu filament dryer) => it can't be used by others considering a bigger design
- more details on building the PCB (did you use a service that mounted the SMT or you soldered those yourself)
- describe how you uploaded the code to the ESP32 (it's great you're using platformIO, though it's not obvious how you connect the board to the computer and upload the sketch without a micro-USB port) => I personally prefer adding a full ESP32 development module (with a micro-usb that you can mount using the GPIO pins) and replace if needed (not soldered directly to the PCB board)
- loved the use of the API that can be connected to Grafana, OctoPi, home assistant => how to actually integrate
I could help you out. I don't have much interest into creating UA-cam videos, though as I'm considering building something like this myself maybe we can combine our efforts to put out there a nice tutorial for others to use).
Thank's Ovidiu! I'm glad you liked it!
Also thank you for taking the time and give suggestions, I have noted them down and maybe in one of the follow-up videos I can build a fully custom solution. Although the current one leverages some off-the-shelf components, the hardware/board is mostly agnostic/universal so hopefully you are able to use the design and modify it to fit your use-case. If you end up making one, I would love to see how it turns out!
definitely interested in a larger version
Great project, question though what's the purpose of monitoring the outside temp/humidity? I havent looked into the code, is it used in the pid loop too?
The humidity and temperature inside of the dry box will be different from the ambient (when working). So you can take either the inside or outside values to trigger automation and decide when the dry box should be On/Off. But essentially it's another data point that you can use/evaluate.
Id suggest getting everycircuit simulator. 3:21 has a ton of unnecessary parts. Bjts can help get components down too.
I'd suggest learning about real electronics circuits and how they work. There are no unnecessary parts, there are not enough parts actually. The gate resistors are there to limit the inrush currents into the FET gate, as a gate is basically a capacitor that wants to draw a very high current when you apply a voltage step. The resistor limits this current, slowing down the signal so you have less EMI and EMC issues and it prevents overloading the MCU outputs. The pull up resistors are used to keep the gate at a defined voltage level, because in the state that the microcontroller is not yet programmed or comes out of reset and has not yet initialized it's IO pins, the pins are set to inputs, so you would have an undefined voltage at the FET gate that could turn on the heater and burn up your plastic box in programming/debugging scenarios. So having some safety-resistors that apply a defined voltage even if the controller does not run is very important.
Using a two stage amplifier to use a logic level FET that amplifies the low voltage from the MCU to 12V and then use 12V to drive the power FET to reduce power losses is pretty common as well. You could of course replace that with a high power logic level FET, but they have a lot of gate capacitance that you would have to load/unload from a weak MCU pin, so that would make the switching slower and thus you have more power losses in the switch over phase. And having two dedicated components makes it easier and cheaper to find and source replacement parts. So this circuit here is a good compromise. The diode over the heater connector is a good idea as well, because heaters are often inducitve loads that would induce an inverse voltage to the circuit if you switch the current thru the load off. The diode removes most of that voltage spike to protect the circuit and the power FET.
Using a BJT based amplifier here would not save you anything. You still have the same issue that you need a large base current to switch the output power transistor, so you would need at least two stages to amplify the weak MCU output current to a few amps that are required to power the heater. And you need all the other parts as well to have a safe and well functioning circuit.
Great video, I’m making my own filament dryer right now reusing sunlu parts. when using the thermistor to measure the heating elements temperature, how close did you have it to the heater as the factory thermistor is touching the metal. And what’s voltage / current did you run the heater on?
Thanks! I did not use a thermistor, I used a digital sensor. But whatever your sensor is, you want it to be in contact/touching the heater so your reading is more accurate.
My heater is running off 12V but I don't recall the peak current.
Ok, thx
Hey Sasa, this is such a great project, and I really appreciate making all the files and other info available! I have a question about your choice of mosfets... was there a reason you didn't use a logic-level mosfet for the heater control? You clearly made a deliberate choice to drive it with 12v to keep it from overheating and to use a smaller drive-voltage mosfet from the esp32. Like you said, there are plenty of ways to design the circuit, but I'm curious why you chose the route you did? Mostly I want to make sure I'm not missing something obvious if I put a logic-level mosfet in my version :-) Thanks! ~Guy
Hey Guy! I'm glad you liked it.
To be honest, the main reason was that I already had these MOSFETs laying around. :) As you said, you can design this circuit in many different ways. But essentially my rule of thumb in application like this is that you want to keep your Rds_on as low as possible so that the MOSFET does not overheat (or produce heat) while conducting. And also that you can open/close the channel fast enough. So if you find a logic-level MOSFET that can carry the current you need for your heater and the Rds_on is low enough that it won't overheat or burn out, then you should be good to go.
There is a whole theory behind designing driver circuit for heaters/inductive loads, you can Google it if you are interested. But in my case, I had this MOSFET laying around and also the heater I'm using is relatively low power so there is plenty of room to play with. :)
@@SasaKaranovic hahaha ok perfect thanks so much for the super fast response! I think I'll try it both ways and see if one version stands out. I've seen folks use a BJT to trigger the MOSFET as well but I think that might have some heat issues as well. I'll report back! thank you again!
If you know the specs of your heater, then you should be able to easily design a driver circuit. Or at least you can see how much current it draws and then design a circuit that can handle those currents without breaking a sweat. :) Good luck and let me know how it goes! :)
UPDATE: logic level MOSFETs are garbage 😂As predicted, resistance is waaaaay too high with the low Vgs without doing anything else, and even then it's just not built for much more than even 5v in my opinion, 12v at the most. And I'm basing my heater off an Ender 3 heated bed which pulls about 9 amps at 24V, so even 5V on the gate heats up in seconds. So now I'm working on a new circuit that will source the gate voltage from the 24v supply and dropping it down to 10v or so depending on the net fet I end up with. I'll keep you posted!
Hey! Great to hear you are making progress! Sorry it's not working yet but it was kind of expected. :)
Please make sure your MOSFETs V_GS can handle the voltage if you plan on putting 12V or 24V on it. Also, keep in mind that you should be able to use multiple MOSFETs in parallel if single FET is not enough. But then you might have to deal with other issues, so maybe keep it as an alternative.
Also if you are using an entire heated bed that draws 9A at 24V... that might be what some call an overkill for the filament drybox. You don't want to melt it before it reaches the printer. :D
I’m not sure if you have some place like a Facebook page we could post pics and info of our projects made with your designs but that would be really cool. I would be very interested in seeing some really cool creations and ideas others have come up with. Especially for these.
Thanks, that's a great suggestion. You and everyone else can always tag me on Instagram and Twitter.
As the channel grows I will setup a community for everyone to hang around. Maybe Discord server and/or forum would be a good fit.
I use 2x 8kg Form Futura Rolls on my IDEX printer. I’ve just (literally today) finished modding my small dehumidifier cabinet to suit my filament needs. It seems that it will work fine, but I’d like to see your version for larger spools.
Thank you! I might revisit this project and actually build the entire dry box with custom (off-the-shelf) components and in much bigger form factor.
For those of us without the heater from the actual Sunlu, what would you suggest as a replacement? I've seen people use some of those terrarium heaters, but I think those go only up to 35ºC or so.
Great question!
Before I answer, I feel compelled to warn you; please make sure you understand what you are building and how it works. Heaters are potentially very dangerous. Not only can they burn items around them and cause fire. They can also cause nearby materials to melt and produce toxic gases. Be smart and stay safe!
With that said. There has been some interest in this project so I am working on a new revision that uses all off-the-shelf components.
There are a lot of options for heater element. You can look at 12V/24V heaters. You can use 12/24V polyimide heaters and attach them to piece of metal. There are heater+blower options... Obviously each one comes with cons/pros. And again, I can't say this enough, make sure you know what you are doing!
@@SasaKaranovic Thank you for the thorough explanation!
awesome vid! how did you control the humidity? i can see that you are monitoring it.
This version only has a desiccant, heater and fan for air extraction.
Monitoring in+out humidity can also be useful to know what is you "baseline" vs what is filament sitting at.
Very nice! We are working on a similar solution for the Valkyrie PRO DIY HT-LC 3d printer and have problems sourcing a fan rated for 80C. Do you have a lower temperature limit or did you find a fan rated for HT?
@PRO 3D thanks!
With the global shortage of everything, I'm not surprised. :) But there are industrial fans that are rated for higher temperature. There are also fans that are used for heaters and high temperature industrial applications. Usually they will be a bit more expensive but if you have no other option... From my experience not all manufacturer mention the temperature limit, but most of them, if the volume is high enough, they will do a special batch/mod for your order.
I came here from hack-a-day. I’m in the market for a filament dryer for nylon and every off the shelf solution has issues. Most won’t get hot enough (80°c) or have a loud fan. Since you use the original heater from the S1 are you still limited to 70°c?
Hello to my Hack-a-Day viewers!
I don't really use Nylon so can't tell first hand. Also it depends on your enclosure, the board can actually drive much higher power heater. The enclosure I used is not really well insulated, so heating it up won't be the problem, it's leaking the heat to the dry box surroundings (confirmed with thermal camera). So maybe find an enclosure that is well insulated and/or has a higher power heater.
What kind of heater is the one that he is using?
Well not cool project, as a matter of fact it's hot! Nice one Saša!
Thank you!
So the polymaker filament dryer is a based (maybe) on this project? 👽
Honestly I have no idea. I have not looked at it.
I know there are some other companies that copied the design and are selling it as their filament drier. :)
But in the end, I'm just happy that the average filament dryer got a bit better... I can't take credit for it but I like to think that I helped a little. :)
@@SasaKaranovic Anyways great videos. I watched almost 4-5 videos last night before sleeping. All of them were well paced, informative and edited nicely. Thanks for making them and sharing with us. Also, i drive (subscribed).
Nice one.. I wanted something like this not for "Filament ", but to cock some IC's at 60*-100*C for few hours...but i will control it via Home Assistant.🤓
That's actually a great idea for baking out moisture from "old stock" ICs!
Is it possible to somehow connect to this circuit a fan that does not have a PWM wire?
You could but you would have to modify the circuit in order to be able to turn it on/off.
You could "rewire" the fan and connect the GND pin of the fan to the PWM pin.
Make sure that Q1 MOSFET can handle the current fan requires.
I have a S1 dryer but a lack of skill to pull this off at this time, would you happen to have a spare populated PCB you would sell?
Unfortunately, at this moment I don't sell or have any assembled PCBs, just the bare PCBs that are left over from the project.
I'm surprised and happy that multiple people actually asked for something like this.
No promises but I will try to find a partner who would be able to deliver high-quality assembled and tested boards to people who are interested in replicating my projects.
@@SasaKaranovic good to hear, it's a really nice project and makes the S1 immensely more useful and of course would be even better in a custom dryer.
Is there a difference between the esp32 high temp and ones that don’t specify the high temp? Looks like these are like raspberry pi’s.
I'm not sure what do you mean by high temp ESP32 and the one that doesn't specify high temp? I believe that any ESP32 should work fine for this purpose.
hi, I tried to compile the project, but platformio gives me errors and terminates, I have to make some changes or how can I do it,thanks
Hey @Magut-gj6wr!
Do you mind creating an issue for this on GitHub and attach PlatformIO output? It's easier to collaborate there.
@@SasaKaranovic thanks, I'll try it
Is that a rear exhaust fan to get rid of the moisture that builds up inside the box? How did you integrate this into your mod?
The rear fan is mainly to force air circulation within the box and reduce the temperature gradient. For example when I turn it off, the difference between the air temperature near the heater and at the top of the enclosure can differ by ~10-15C. So for example the filament facing bottom will be at 55C while filament facing the top would be at 40C. However, when the fan is turned on they are usually within 2-5C of each other, which is what I want.
Also fan can be helpful if you have exhaust openings and/or desiccants inside the box. Obviously you can play around with the placement and direction to get the performance you need.
I am dumb and can't work out how to convert the altium BOM and pick and place files to upload to JLCPCB :(
Hi Sasa, great project! Do you plan to add a timer to turn off the Box after drying the filament?
You could very easily add it, or use automation (ie. maintain humidity below certain threshold or turn on only while printing).
So you need a arduino to even get this working ?And what type of heaters and fans can we use ?Max Voltage/amps...?
Design is open-source open-hardware so you can modify it to fit whatever fan and heater your plan on using. The project is using ESP32 and Arduino so it's easy to source and program/modify.
Please make a kit, the BOM is missing many details (for example the specifications of the components that are included in your esun case for those who don't or cannot get that case; which will soon be out of production) and it uses some old parts (namely the ESP32) that are only stocked by obscure distributors. Additionally, this video focuses on schematics more than the resulting board and build, which is extremely interesting and I learned a lot, but does not help with pragmatic aspects of DIY.
Hey @ogsandwitch! Thank you for the great feedback, I really appreciate it!
The ESP32 is still be alive and globally available, so it should not be an issue. And I'm not sure about the enclosure but the general idea should be applicable to other filament driers.
Maybe you missed it but I have mentioned in the comments that I am working on another revision that uses only off-the-shelf components. The hardware part is already done, it just needs a video now. :)
As you noticed, this video is more about "how to mod the existing filament dryer" which helps if you have one, but it might be more helpful to show how to build one from scratch. My main concern at the moment is making sure people understand that his machine is very cool, useful and fun to build, but you need to exercise caution and common sense because it can get very hot. Same as you would not consider your oven as a "toy" (even though it's fun to make cakes in it) it can still get very hot or burn the house down.
@@SasaKaranovic Thanks for your response! Neither JCL nor PCBWay will source the part, noting it as "unavailable;" this is after a sourcing request on the part, on the backend, they contact all distributors to find the part, when you get this response it means no distributors have stock. Another tell-tale sign of an out-of-production part is when digikey shows the "by request only" message, which is present for this part. There is only one distributor I can find with stock. I posted an issue on your repo, it seems the ESP32-WROOM-32E-H4 (note "32E" and "H4") is the successor to ESP32-WROOM-32D (4MB HIGH TEMP). I however cannot confirm the pinout because the every distributor has a broken link for the ESP32-WROOM-32D (4MB HIGH TEMP) datasheet (even the distributor with stock has a broken link). However, when matching the newer ESP32 cad to your board, the footprint aligns.
I have improved your BOM in CSV format that is easier to import into JCL/PCBW and has a separate entry for each header and have a transposed pick and place CSV that is compatible with JCL/PCBW, will push a PR
Also curious why in your pick and place file you have set the 3x2 programming headers for "bottom," would be easier or cheaper to manufacture if all components were top-side.
ESP-WROOM-32D is hard to get -- has anyone got this going with a different ESP32 ?
You could find any pin-to-pin compatible module and use it instead.
There is also a newer version of this project coming out soon. It will have many improvements compared to this one, so stay tuned/subscribe so you don't miss when it comes out. :)
I bought one of these an immediately returned it. Out of the box it's just not effective enough to do what it's supposed to do. Especially for the price. I will stick to putting filament in my food dehydrator for 24 hours before each print (anything less seems to have issues regardless of filament type or manufacturer)
I bought 2 of em and proceeded to disassemble and make them right.
I agree it aint for everyone. They are missing some important parts like insulation.....but them rollers 😍
@Zero0004 I'm mostly printing PLA and PETG so I'm not that affected by the humidity.
But yes, I got this filament dryer, on paper it sounded amazing and then when I tried it, there was a lot of room for improvements.
@@mrocklewitz It's a decent filament dryer. But there is always room for improvements.
And yes! Those rollers are so tiny and cute!
Hey so i was working on a similar project and even when thr heater was at max 80°c (ptc heater) the ambient temperature was not able to go above or even close to set temprature and actually never went above 45 ° is that normal and enough to dry the filament or i am doing something wrong.
My guess would be that your box is not insulated well enough, maybe you have gaps through which heat is escaping or maybe just the material you are using for the box is very thermally conductive. Keep in mind that if your box is well insulated, then your heater is heating the dry box. But if it's poorly insulated, then it's trying to heat the entire room which is very bad. :)
My box easily gets to the 55-60C but to be honest I'm not sure what is the best temperature. It requires some trial and error because it depends on your setup and the type of filament you are using.
You kinda cheated by reusing the old dry box, the project isn't very worthy if u need an "old" dry box. If u built the enclosure and sourced or made a flex heater that'd be more useful. Probably even a low cost mk2 heating bed mounted to the bottom of an acrylic box
But good job with firmware and pcb design
Good point. It all depends where each person draws the line. You could also say I cheated by using a off-the-shelf microcontroller instead of designing and growing my own silicon. ;)
As mentioned in the video, the plastic box is not that important, you could use an old plastic Tupperware and any off-the-shelf DC heater and you are good to go.