Similar projects worth following
Many 3D printer firmware have some protection of thermal runaway, this feature is used to monitors the heaters and switch off the heating elements in a 3D printer down when the PID loop gets out of control. Therefore this feature should always be enabled.

In the electronics design of any 3D printer, most commonly is that switching is performed with the use of a MOSFET to the heating element. The problem here is that, when these MOSFETs fail, they fail usually in the conducting mode. This is a serious issue as if even the firmware detects something has gone wrong, the Firmware in the 3D printer will not be able to switch off the heating element.

Having spent the last 8 years 3d printing i always noticed the lack of a secondary lack of protection for the electronics found in a 3d printer. after i developed the 3 temperature sensor board with oled and relay drive with wifi connectivity i realise i could write code to use it as a printer guard.

Update /2/07/2018

Software core is ready and i am adding features day by day .. updating software log as i go along.

I am currently writing the code for this project , hopefully by the beginning of July i will have my prototype going to test it and update these pages further .


Icons for main screen

Bitmap Image File - 606.00 bytes - 06/26/2018 at 07:28



Splash Screen

Portable Network Graphics (PNG) - 2.93 kB - 06/26/2018 at 07:28


  • 1 × Atmega328p-pu Microprocessors, Microcontrollers, DSPs / ARM, RISC-Based Microcontrollers
  • 1 × 16mhz crystal
  • 1 × 10 pin connector male + female
  • 1 × pcb universal duino
  • 1 × 2k2 smd 0805

View all 14 components

  • Update project log

    jmcservv07/26/2018 at 15:48 0 comments

    Added Sensor detection on boot 

    Added smoke sensor MQ2 - Tests ppm and checks air quality while reading temperatures 

    Updated Intro screen to include mode, smoke MQ2, Alarm state.

    typical dump from board 

    Smoke Sensor Installed
    Smoke Sensor Reading :343
    Concentration of gas 
    LPG: 522 ppm
    CO: 17465 ppm
    Smoke: 1917 ppm
    00Reading Mode type :0
    Storing Mode type :0
    Checking for Sensors connected to the board
    Error Check Sensors - Not Connected 
    Error Check Sensors - Not Connected 
    Error Check Sensors - Not Connected 
    Error Check Sensors - Not Connected 
    Error Check Sensors - Not Connected 
    Error Check Sensors - Not Connected 

  • Software Log 4

    jmcservv07/09/2018 at 09:50 1 comment


    Add alarm screen with buzzer, sounds buzzer when alarm is triggered ! 

    saves alarm state to eeprom . 

    -- Stable version - Available in my tindie store ! 

    -Still working on wifi options

  • Cont .. to do

    jmcservv07/04/2018 at 05:50 0 comments

    To do 

    second menu screen 

    wifi option 

    add some more nice features ! 

  • Software Log 4

    jmcservv07/04/2018 at 05:49 0 comments


    Fixed alarm status page and red button - now when a sensor overshoots and meets the set temp an thermal runaway screen appears and buzzer sounds to alert user, then screen moves to a screen to reset the condition using the red button. 

    I am adding an MQ2 sensor , to detect  dangerous gases and smoke. still awaiting sensor but coding is already set. 

    To test the prototype on my delta printer and next is to do a nice case for it ! 

    Soon this project will be available in my tindie page !

  • Software Log 3

    jmcservv07/02/2018 at 06:19 0 comments

    Software Log Update 


    Added feature to display the menu according to the mode jumpers selected 

    added  caution thermal screen when alarm is triggered 

    added reset screen and button option to reset the alarm 

    To test alarm screen 

    To do 

    Add another menu screen to include more menu features !

    Add wifi option 

    Add status screen.

  • Update 2 - software Log

    jmcservv06/27/2018 at 18:05 0 comments



    -Splash screen 3D  Guardian 

    -Icons for main screen 

    -formatted the set temp and alarm on screen 

    -added reading of 3 sensors 

    - added condition to monitor temperatures per channel with set temp and trigger the alarm 

    -added the menu feature 

    -added Instant saving to eeprom of set temp values in case of power cut. 

    To Do : 

    - ranges when adjusting set temp 

    - add jumpers 2 to define 1 or 2 hotends 

    - add jumper to define id heatbed is installed

    - add gui graphic thermal runaway screen when alarm triggered !

    - test it in a real scenario ! 

    - make tweaks with icons 

  • Software Log

    jmcservv06/26/2018 at 07:36 0 comments


    - coded the core and added the splash logo and main screen icons.

    - added to monitor 3 NTC sensors 

    - added set temp value and sensor reading on oled display

    To do 

    - add menu system to edit the max temp and set temp values 

    - add the conditionals to check for

    - add the warning icons and thermal runaway icons 

    - add buzzer to warn user 

    - add counter to allow pool before triggering realy

    - add save to eeprom to save all details 

    - add alarm tone if over temp detected.

View all 7 project logs

Enjoy this project?



Mickey wrote 07/17/2018 at 00:38 point

How does this trigger a fault?  Does it just query the printer directly or is there some sort of sensor redundancy?

  Are you sure? yes | no

jmcservv wrote 07/18/2018 at 19:35 point

three independent  sensors monitors the temperatures. this can be easily be  installed by using a copper clip i designed.

  Are you sure? yes | no

jongscx wrote 07/16/2018 at 19:08 point

Are you doing any watchdog signals back to the printer so that the printer stops if this fails?  That way, they check each other's running status?

  Are you sure? yes | no

jmcservv wrote 07/18/2018 at 19:36 point

the unit is independent but that is a nice feature i can implement  

  Are you sure? yes | no

jmcservv wrote 07/16/2018 at 18:47 point

yes maybe that will work, and cost you a fuse each time it is triggered. 

my solution will switch the supply off and once it is reset from the controller it returns to normal state.  no blown fuse ! 

  Are you sure? yes | no

Daren Schwenke wrote 07/17/2018 at 00:19 point

Yeah, my application was rather unique given it was massive and drawing 60-75A.  Easier to find mosfets in that range than relays.  The one time if failed (before I added the failsafe) it had heated the entire room to 35C before I killed it.  Scary.  

Still, I did like the simplicity of it.  No code, just the mosfet and a comparator, and pop if it got too hot.  Of course it never had the chance to trip after that, but I tested that it would with a lighter..

  Are you sure? yes | no

Daren Schwenke wrote 07/16/2018 at 18:36 point

Single mosfet (or SCR) directly across the power rails.  Trigger it, fuse blows, machine down.

  Are you sure? yes | no

jmcservv wrote 07/22/2018 at 21:53 point

How About - detection -  warning - power down - wait for user to reset condition - back on track ! 

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates