In this article, I will describe a simple solution to shutdown a 3D printer in case of a malfunction when something produces smoke, like a broken cable or some faulty heating components. For this particular case, I will use a cheap standard smoke detector you can get for 5€ in the next warehouse.
In my cheap old smoke detector, a CS2105go IC is used. It's hard to find any pieces of information about this IC but what is known about it, it is pin-compatible to the MC145010 or MC145012 IC. For these ICs the are some datasheets available.
Pin 7 of the IC is an I/O pin. If this pin gets pulled high by some external device like another smoke detector, the smoke alarm gets triggered. Also if this smoke detector triggers the alarm itself, if it detects smoke, this pin gets pulled high by itself. At first, some wires have to be attached to the smoke detector to get the 9V, GND and the signal.
So all I need is a simple circuit with a bistable relay, a 1.5k resistor, an NPN transistor, a push button, some pin header and a printed case. As the power source for this circuit, the 9V batterie of the smoke detector is used. Because you only have to switch the relay in ON state one time, the circuit only consumes current if an alarm is triggered (relay switched to OFF state) or if the relay is switched into the ON state again. The bistable relay has two coils to switch between the contacts. So the current for one coil is applied via the push button. The current for the other coil comes over the NPN transistor. Have a look at the following schematic for further information.
The soldered circuit looks like this. The yellow thing is a printed case made of ABS.
The circuit looks more than semiprofessional but it works and that all it has to do.
Here you can see the closed box. M3x8 screws are used to fix the top part to the bottom part of the box. The input and output cables are fixed with some kind of clamp to the bottom part of the box.
When the smoke detector warns about a low battery, the relay can get switched and the printer gets shutdown with the current circuit design. This is not what I want so I have to do a little modification to this simple design in the next version but for the moment this solution is okay for me.