Laser Cutter Safety System

This is a control box that manages machine safety, specifically in relation to coolant temperature and flow but with room for much more

Public Chat
Similar projects worth following
This box manages thermals and flow for my laser cutter, which is located in a non-AC location in Florida so thermals matter!

I have a Chinese laser cutter.  It came with a water pressure switch...and that was the entire safety system.  Tube too hot, too cold, covered in condensation?  It would keep firing.  Coolant flow blocked?  There's still pressure so it would keep firing.

I had already built a cooling system consisting of a phase change cooler, two 6 gallon buckets (one for hot, one for chilled), and flow sensor designed for a PC water cooling loop.  I had cobbled together a teensy, a temp sensor, and a display but never really got it working with the flow sensor so it was basically useless.  At this point I was working off the temperature reading of the chiller which was anything but ideal.  The flow sensor is electrical but it also has a rotor that you can see spinning, so it wasn't being used to full effect either.

I started by adding some Dallas temperature sensors to the system.  One per bucket to measure temperature of incoming coolant, one per bucket to measure the temperature of the bucket contents as a whole.  I'm a big fan of these and honestly couldn't say where/when I got these particular sensors since I've bought so many over the years.

There is a DHT22 humidity/temperature sensor inside the case.  The temperature seems to be off by about 3c (my entire operating range for the laser!), but the humidity is dead on from what I can tell.  This necessitated an extra Dallas sensor for ambient temperature readings since the DHT22 was giving me bad data.  I got this part because I had planned to use it in a 3D printer filament humidor that never got past the concept stage.

The Koolance flow sensor was not fun to talk to; I used a combination of charts from their website, a couple of project pages using similar sensors, and a whole lot of experimentation to get it working.  It was over a month of "hey, maybe this will work...well, that didn't work!".  Biggest issue I ran into was that once in a while it just sort of stops sending a signal for a bit too long and the average got thrown off so far the machine would halt.  It's one of those "only happens a few times an hour" problems that you are never 100% sure you fixed because you never had a way to trigger it reliably.  Not sure if that's normal or if it's just a bit defective.

The buttons are from SparkFun.  They were purchased because I was buying parts for an arcade deck I made, and I wanted free shipping so I had to add a couple more items.

The screen is a 20x2 character display from an online tech salvage/wholesale company.  It's compatible with the Arduino LiquidCrystal library but has a non-standard pinout.  But it was cheap so I bought like 30 of them and have been using them in one-off projects ever since!

Everything is powered by an Arduino Pro Mini that's probably older than some of the people reading this.  It's my second oldest still-working dev board (the oldest being a Duemilanove with a lot of dead pins), and frankly I wanted to be rid of it so I put it in a project that it will be able to stay in for years and years.

There is a relay (orange thing in the picture).  It is meant to interrupt the signal from the coolant pressure switch that the laser cutter came with.  This triggers a halt and pause condition that prevents tube damage with the ability to continue the job once the code is cleared.

Not shown is a SSR controlling the phase change cooler, mainly as a safety override in case it's just getting too cold.

The case is made from some translucent black acrylic I had laying around.  Laser-cut with a ground-up design.  This was used to let the display shine through when on but completely disappear when off.  Where no light had to shine through I painted the inside black.  I also rubbed red paint into the graphics on the outside.  I did one bad calculation on the base so I had to make a makeshift modification to get the cover...

Read more »


This is the Arduino sketch that runs it. Also contains circuit information.

ino - 29.36 kB - 05/06/2020 at 17:57


View project log

Enjoy this project?



Similar Projects

Does this project spark your interest?

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