ESP32-S3 firmware and SCAD sources for the Dankdryer, the world's best filament dryer. a nick black joint
More info at dankwiki.
The project is built with GNU Make.
Running make
in the toplevel will attempt to build firmware and STLs.
Building the firmware requires the esp-idf
library and a configured
ESP-IDF environment (i.e. the various IDF_*
environment variables
must be set), along with CMake. idf.py
ought be in your $PATH
,
and work when invoked.
A network configuration file must be created and populated at
esp32-s3/dankdryer/dryer-network.h
.
I use BOSL2, which is included as a submodule.
The following pieces are printed:
Use heat-resistant filaments. My lower chamber is polycarbonate, and my upper chamber is Bambu PAHT-CF. You obviously don't want to use a target temperature within 10% of your material's heat deformation temperature.
MQTT is used to report status and to accept commands.
NAME/control/tare
: tare using the last weight readNAME/control/dry
: takes as argument a string "DRYS/TEMP", where DRYS and TEMP are unsigned integers
specifying the number of seconds to dry, and the temperature to dry at. Any ongoing drying operation
will be replaced with the newly specified one. Specifying zero for DRYS will cancel any ongoing
drying operation.NAME/control/lpwm
: takes as argument a hexadecimal number between 0 and 255, left-padded with zeroes
so as to be exactly two digits, i.e. "00".."ff". Sets the lower fan's PWM.NAME/control/upwm
: takes as argument a hexadecimal number between 0 and 255, left-padded with zeroes
so as to be exactly two digits, i.e. "00".."ff". Sets the upper fan's PWM.NAME/control/factoryreset
: takes no arguments. Blanks the persistent storage, disables the motor
and heater, and reboots.View from the top with spool present, top not present.
View from the top of the lower chamber by itself, with nothing mounted.
Combined OpenSCAD render for mating testing.