Arduino Power Controller for Prusa 3D Printer – Auto Shutdown

In this video I run through the design and build of an add-on for my DIY Prusa i3 MK2 3D Printer that controls the supply of power to the printer’s two power supplies.

I wanted to add this for two reasons. Firstly I wanted an extra layer of security in case any of the electrical components failed in a catastrophic way leading to over heats, particularly the power supplies as I doubt their quality based on the budget prices. Secondly I wanted to be able to add G code (M Code actually) to my prints so that once the print it finished the printer is shutdown, including the power supplies.

More details in the video, but as discussed here is the schematic:

Arduino Power Control Schematic

Arduino Power Control Schematic

I also mention that I am now using Sublime Text instead of the Arduino IDE. I use Sublime Text on a daily basis and it has a lot more editing features than the IDE. When I found this brilliant add-on package for Sublime Text, called Stino, that brings Arduino syntax highlighting, compiling and uploading directly from within ST, I switched instantly. Even if you don’t already use Sublime Text – it might be worth it just for this!

Finally, if you really want to you can download my source code for the project – as it stands at this point. As explained in the video it is very much an evolution from a basic idea – so isn’t that well written. But it does the job.


  1. Hello,
    I really like your idea of switching off printer like you have, so I would like to make it for my printer aswell. I’m just entering the electronics things and I’m not so much familiar with all the components, therefor i dont dont understand all the things you did in the video.
    Would you be so kind and send me some more detailed pictures of your board or explain more in details how you wired everything together, in theory i understand the shematic picture but in real I can’t imagine how all looks like together and what i need to solder to make everything work as it should.

    I would really appreciate if you could explain this for me,
    Thank you in advance

    Best regards,

    • julesgilson

      October 9, 2017 at 9:39 am

      Hi Blaz. Quite difficult to explain it all in detail. I will send you an email. If you don’t need the temperature monitoring and just want the printer to turn off at the end of printing then that is much simpler but requires very different components.


  2. Hi thank you for this wonderful work please help me i just wanna run the printer and turn it off Can you send components and code thank you

    • julesgilson

      July 23, 2019 at 7:41 am

      I really don’t remember much about it, was a couple of years ago. As it has been working fine since I have not looked into it. The code/components I used were more complicated than it needs to be, as I wanted it to also turn off if it got too hot. I have thermocouples in various places on the printer measuring temperature (the RAMPS gets the hotest). That obviously makes the code more complicated. If you just want it to turn off at the end the RAMPS has a digital pin that will be brought high or low (cant remember which) when M81 is sent to it. So you just add that at the end of your GCODE. So in theory you only need a suitable AC relay before the power supply being driven by that pin.

      One thing I have noticed is that if the RAMPS gets above 72℃ (measured directly next to the stepper drivers) it starts missing steps (most likely the stepper drivers). This is only an issue if the whole printer is in an enclosure – which mine is now.

Leave a Reply

Your email address will not be published.


© 2023 Jules Gilson


Additional Artwork Designed by Freepik Additional Artwork Designed by Freepik