Code for Heater with AutoOff, AutoHum, Second Sensor, Fan-Control, LED-Control, Color Labeld Display. Bracket X with place for second and third Mosfet
We calculate the final price from your selected file. You review and accept it before payment.
Preliminary estimate for PETG
€0.33 – €0.40 net (excluding VAT)
For file: Display 1 text_0.4n_0.2mm_PETG,PETG_MK4ISMMU3_22m.bgcode
This is an estimate for one file. You’ll confirm the exact price before ordering.
File and estimate settings
File used for this estimate
Average indicative estimate: €0.36 excluding VAT (range midpoint).
- Weight reported by the author
- 5 g
- Print time reported by the author
- 21.6 min
- Source material
- PET
- Estimate material
- PETG
- Estimate printer
- Bambu Lab P1S - 0.4 nozzle
- Estimate process
- 0.20mm Standard
Indicative estimate for the selected file only, based on the author’s weight and print time. File variants are not added together. The final price is calculated after file analysis.
Saved on this device.
Code for Heater and Display 1, the characters "I/O", "+" and "-" were added in color and place for extra mosfet
- Rating
- 5 / 5
- Likes
- 25
- Downloads
- 119
- Makes
- 2
- Views
- 685
- Reviews
- 2
Updated at source:
Model information
- Source
- Printables
- Category
- Accessories
- License
- Creative Commons — Attribution — Noncommercial — Share Alike
The files are made for a MMU3 (here with MK4)
Whereas the Chars (I|O, + and -) are changeable
Also the used Extruder, here Main (Display 1) = 3, I|O, + and - = 1
Bracket X for place for two additional mosfet (fan and Led strip)
There is now also a version that supports Home Assistant and MQTT.
Required processor Arduino Nano ESP32-S3, is pin compatible with the Arduino Nano with the exception that the 5V pin only supplies a voltage when USB is connected. Therefore, no more 5V is taken from this pin.
More on Github: https://github.com/WernerKr/-Un-original-Prusa-Heated-Drybox
2025-02-01: Updated Code files (Serial_20250201.zip)
Fahrenheit bug fixed. User settings are now in arduino_settings.h
2024-12-11: Updated Code files (Serial_20241211.zip)
In heating mode, the update and query interval has been reduced to 2 seconds
In addition, the temperature control difference was set to 0.1°C / 0.18°F and the humidity control difference (AutoHum) was set to 0.1% humidity.
This results in much faster control behavior (Inspired by Sunlu S4)
2024-11-25: Updated Code files (Serial_20241125.zip)
With AutoHum, the humidity difference has been reduced to 0.2% (previously 1.0% and 0.5%) If the AutoHum function is set below 25%, the TargetTemp is raised to 55°C/131°F, otherwise this humidity is not achieved. The fan run-on time has been slightly reduced at temperatures above 55°C.
19.10. Updated Code files (Serial_20241015.zip)
Possibility to switch off the LED strip automatically at 60°C/140°F, as the LED strips normally have a maximum operating temperature of 60°C. However, this requires a second Temp/Hum sensor.
Assembly for easy maintenance/repair
For Bracket X with place für three Mosfet you can use
https://www.printables.com/model/1045075-slightly-overengineered-wide-body-editions-of-unor from wbsp

Comparison with/without duct, with/without additional fans
Test environment:
- Target temperature 70°C,
- AutoOff after 240 minutes (4 hours),
- two empty filament rolls in position 2 and position 4.
- Two front PTFE outlets always open for air exchange.
- Overtemperature shutdown of the heater at 90°C, measurement on the floor below the heater/duct
- Measured with second temp/humidity sensor
- Graphics from Home Assistant and data from Shelly Plus Add-on and 3 sensors DS18B20 - measuring range -55 °C to +125 °C

- T1 = Heating temperature
- T2 = Temperature under heating/duct
- T3 = Temperature front right (near door)
Temperature curve without duct and without additional fans
- The door was lifted slightly after about 1 hour for air exchange and closed again about 5 minutes before the end
- Temperature reached 64.2 °C and
- temperature under heating 86.9 °C

Temperature curve with duct and without additional fan
- The door was raised slightly after 5 minutes and was then raised the whole time for air exchange
- Temperature reached 55.8 °C and
- temperature under duct 73.0 °C

Temperature curve with duct and with two additional fans below duct
- The door was lifted slightly after 5 minutes and was closed again 5 minutes before the end for air exchange
- Temperature reached 60.2 °C and
- temperature under duct 71.5 °C

03.09. Updated Code files (serial_20240903.zip
With a second Temp/Hum sensor and temperatures above 100°C the display was not correct.
29.08. Updated Code files (serial_20240828.zip
New function: AutoHum
Activate with the "-" button (lower button) and hold down and then the On/Off button until on the display "AutoHum" appears.
If this function is activated (heating on must be activated before this!),
the heating is switched on (at the specified temperature) until the set humidity value
of -0.5% is reached. Then the heating is switched off and if you use the fan control,
the fan runs according to the selected target temperature.
If the humidity rises 1% above the set humidity value, the heating is switched on again (and the fan).
Adjustable values for the humidity 10% - 65%.
A high humidity value (target humidity) is well suited to test this function!
The fan run-on time now depends on the target temperature. (60 - 900 seconds)


Changes for AutoOff:
Now Activate with the "+" button (middle button) and hold down and then the On/Off button until on the display "AutoOff" appears.
Warning!
If the fan control is not used, the fans must be permanently connected to the 24 V voltage.
The display behaves as if the additional fan control were present, showing a countdown in seconds for the fan to shut down!
My recommendation for the filament to be used for "Bracket Y" and "condotto 5" is PC blend
or an even higher temperature resistant filament.
In my experience, even ASA is not suitable!
Also important!
When the heating is on, air exchange must be able to take place,
e.g. by lifting the front door or using the unused PTFE outlets,
otherwise humidity reduction cannot take place.


05.08 Updated Code files (serial_20240805.zip
Changed Overheating temperatur to 93°C
Here tested with targedTemp 45°C

02.08. Updated Code files (serial_20240801.zip)
29.07. Modified Bracket X
22.07. Vertikal Text Model added
The Code files are for the Heater.
Support a second temperature/humidity sensor (DHT21 or DHT22)
You need then additional the Arduino library "DHT-sensor-library"
Control the fan via a second mosfet
Can Control a led strip via a third mosfet
Heater AutoOff function. Heater AutoHum function.
Overheating control (with second temperatur/humidity sensor) - not active if no second temp/hum sensor or disabled
Fan control: Vin+ to 24V+, Vin- to 24V-(Gnd), Out+ to Fan red, Out- to Fan black, Gnd to Buck-Convert Out- or Arduino GND
//Arduino pin where the control line for the Mosfet is connected
#define Fan 5Led strip control: Vin+ to 24V+, Vin- to 24V-(Gnd), Out+ to Led red, Out- to Led black, Gnd to Buck-Convert Out- or Arduino GND
24V Led strip:
#define controlLed
#define Led 4In the program, the second sensor is switched on with
#define SecondTemp
or deactivated with //#define SecondTemp
The sensor used is specified here
#define DHT_TYPE DHT21
//#define DHT_TYPE DHT22
The DHT21 is activated here
The data pin of this sensor is set to 9:
#define DHT_PIN 9
The other pins of this second sensor are to be connected to 5V and GND.If the second sensor is activated but there is no second sensor,
0.0% and 0.0°C are displayed in the data line.
If the heating is switched off, you can use the
"-" button (= bottom button) to switch on or off to the normal display (no display of the data from the second sensor).
-> Function not available if no second temp/hum sensor present
if the heating is switched off, you can use the
"+" button (= middle button) to toggle the LED strip off/on - default is on

In addition, you can use the program to display the data from the temperature/humidity sensors using#define debug (default deactivated with "//#define debug")
via the IDE's serial monitor.
But this data are not updated if the AutoOff function is activ!
It is possible to correct the temperature and/or humidity values with a correction value.
float TemperatureCor = 0.0;
float HumidityCor = 0.0;
float Temperature2Cor = 0.0;
float Humidity2Cor = 0.0;
//The maximum adjustable temperature is limited to 70°C.
int MaxSet = 70;
//The overheating temperature is now set to 93°C
int Max = 93; This is because the Arduino should only be operated up to a maximum temperature of 80°C.
If you want a higher temperature, you have to place the electronic components outside the housing!
CHANGED!
When the heating is switched on, you can activate the heating AutoOff mode by pressing
First and hold the "+" (middle button) and then "on/off" (above button) button.
You may have to try a few times until it works. The display shows then "AutoOff"
The default switch-off value is 360 minutes = 6 hours (changed)int AutoOffTime = 360;
The maximum time for switching off is 2 days (2880 minutes)int MaxAutoOffTime = 2880; // max 2 days, step 10 minutes
The minimum value is 10 minutes.
When the heating is switched on, you can activate the heating AutoHum mode by pressing First and hold the "-" (middle below button) and then "on/off" (above button) button.
You may have to try a few times until it works. The display shows then "AutoHum"
If the set Humidity value (10-65%), default 35% is reached the heater is switched off
the Fan delay starts and after the set time the fan is also switched off (only with extra Mosfet for fan!)
-> stand by.
If the Humidity value increase the heater and fan is switched on again
and so on.
The default Auto Hum value is 35 %int TargetHum = 35;The maximum percent for standby = 65 % // with so high value you can simple test the AutoHum function!The minimum value is 10% // This humidity level will probably not be reached with heating!
The settings of the AutoOff Minutes and AutoHum times is now automatical done after 30 seconds!
A dot will appear on the far right side if the change of the values of AutoOff or AutoHum is still active.
Otherwise, change the target temperature.
Fan Control:
Function: when the heater is switched on, the fan always runs, even if the target temperature has been reached (heating element is switched off).
If the heating element is switched on in normal mode, this is now displayed with "ON".
If switched off, it is displayed with "on".
In AutoOff mode, a switched on heating element is displayed with "A" and a white background,
if switched off, it is displayed with "A" and a black background.
When overtemperature is reached, "Hi" is displayed instead of "ON" and the heater is switched off until the temperature drops again.
In AutoOff mode instead of "A" then "H"
When the heater is switched off (directly or via AutoOff), the fan continues to run for an adjustable time:int FanDelay = 300;
This run-on time is then counted down in the display after switching off.
The fan shutdown time now depends on the selected target temperature (60 - 900 seconds)
If you have installed a second temperature sensor, you can with bool overHeat = true;
monitor the temperature directly on the heating element and when the max temperature (°C)int Max = 93; // = 199 °F
is reached, the heating is also switched off (fan continues to run if second Mosfet is used)
Other settings:#define showFraction
Now also in the State Line the Temperatur or Humidity are shown with fraction.
If you like the former showing (only Integer) uncomment #define showFraction
If Duct is installed, the system is slower, so the change temperature is set to 0.2°C here, otherwise 0.5°Cbool withDuct = true; // Duct installed -> Tempdiff = 0.2°C otherwise 0.5°C

But be careful:
all electronic components used (temp sensor, Arduino, etc.) are only designed for a maximum ambient temperature of 80°C (176°F).
And you should also note: Maximum operating temperature of the fan is 70°C
If using inside the (Un)original Prusa Heated Drybox a LED strip you should know:
the maximum operating temperature of the LED strip is normally 60°C!
If the fan control is not used, the fan must run permanently as soon as the 24 V voltage is available. Connect the fan directly to 24 V!