Introduction: Modify a 6 EUR Smoke Detector for Use With Microcontroller, Auto-dialer, Linking, and More
In any home or business, smoke detectors and central fire systems can be essential to saving life and property. But what about when no one's there? Large businesses can afford monitored systems with sprinklers, but home GSM-enabled smoke detectors can cost more than €160. How about linking home smoke detectors together, or connecting a few to a micro-controller?
In this instructable I've modified an inexpensive, optical smoke detector for output to an Arduino to use as an auto-dialer (that is, when the detector goes off, a GSM module or phone line can call out to a programmed number or 112 emergency services*). Since my PBX is in disrepair, I'll be using email instead. I will be using this in a future home security system project.
*Note: While most countries (US included) allow automated calls to emergency services from auto-dialers such as these, the rules for using such techniques may vary in local municipalities. Most countries also have laws which prevent custom telephone hardware to land-line systems. Check with local law before connecting a custom system.
Step 1: Smoke Detectors - Background
Before we begin we should know a little about the types of smoke detectors available and how they work.
The one this instructable uses is optical. When smoke enters the optical chamber (1), particles scatter light from the LED (5) onto the photodiode (4). If a comparator determines the level of light at the photodiode is above a threshold, the alarm sounds. While optical detectors are generally more expensive to manufacture, their cost has decreased and they have become increasingly common in many homes. Most addressable detectors are photoelectric.
The second common type is Ionization detectors. These units use a sample of radiative Americium-241 with an ionization chamber to detect the presence of smoke. While these detectors are better for detecting a finer particulate smoke than optical detectors, they are more prone to false alarms.
Read more about detectors here: http://en.wikipedia.org/wiki/Smoke_detector
Step 2: Tools and Materials
For this project you will need
- An optical smoke detector
- Small or medium gauge wire
for digital micro controller, loads of more that 100µA:
- 220Ω resistor.
- NPN transistor or MOSFET., relay with diode protection, etc.
and the following tools:
- Soldering iron and fine solder
- Pliers, wire cutters, snips
- Hot melt glue
Step 3: Disassembly
Begin by removing the plastic cover for the smoke detector. Most are made without screws anymore and are held together by plastic tabs. I used a flat head screw driver and pliers to pinch the three plastic tabs in and remove the cover.
After the cover has been removed, the circuit board should likewise be removed from the plastic base. A few blobs of hot glue held the battery leads to the case, which were removed with pliers.
Step 4: Datasheet for the Control IC
Now that you've gotten the detector apart, inspect the board for any silkscreen points relating to I/O or AUX. The bare side of the board showed such a pin, and upon further inspection it is shown to be disconnected by a missing R-16. Sounds promising... surely it can't be this easy! You'll want to find the datasheet for the control IC. The particular chip this one uses is a CS2105GO-M12 (datasheet).
The I/O pin for this particular chip is #7, and sure enough, the datasheet detailed an alarm signal input/output pin designed to connect external units, emergency lights, and auto-dialers. Perfect!
I found that all of the following chips have I/O on pin 7 (actually the exact same pinout!) so they should all work:
- MC146010/MC146012 series
The CS235 has an output latch on pin 3 (Vcc) which can source 100mA, but has no compensation for capacitance along long wires. If you use this chip you MUST use a transistor buffer, MOSFET, or signal level converter.
If your chip does not have a latch or I/O pin, you'll either need to try a different model detector or experiment with wiring the base of a transistor to the detector's piezo output.
Note that I/O is sometimes referred to as "interconnect" in some datasheets.
Unfortunately, most of the datasheets I've seen for ionizing detectors do not have an I/O line or similar feature, however, if the 2/3 duty cycle horn signal is selected, a simple R/C circuit or some clever programming should be able to smooth the output into a usable high/low signal.
Update: the A5350/A53560 series has I/O on pin 2. The datasheet claims that interconnect is possible with up to 125 units.
Step 5: Modification
To limit current to and from the device, we'll need to add a series 220Ω resistor. This can be added to the board or to external equipment, if you plan on linking all detectors together each device must have this resistor. I opted to keep this external.
I had to pop off the pezio to solder the wires, and simply bridged R16's gap with solder. Don't forget to add a wire for negative supply for common.
Step 6: Reassembly
To run the extra signal and ground wire, I cut a small square notch from the lip of the base plastic piece and secured it with hot melt glue, after zip-tying the two wires together. Hot glue was reapplied to secure the battery clip.
And that's it! You now have a battery powered smoke sensor for your next home automation, science project, or DIY security system!