I was looking for a simple way to interface an Arduino MKR WiFi 1010 with a commercially available smoke detector without hacking the detector. The detector that I selected is the First Alert SA3210 Dual Sensor Smoke and Fire Alarm with a 10-year battery. I selected this alarm because of the 10-year battery and because of its dual photoelectric and ionization type sensors, which are recommended for smoldering and flaming fires. The unit is sealed and the cover cannot be removed with cutting the plastic and disturbing the internal structure. I used a Seeed Studios Sound/Noise Sensor tie wrapped to the smoke detectors alarm output grill to sense the alarm. I adjusted the sensitivity on the sound detector until it would only activate with the loud sound produced by the smoke detector in close proximity. There is an LED on the sound detector that makes this easy.
An Arduino Grove Connector Carrier was needed to interface MKR WiFi 1010 with the sound sensor's Grove connector cable. I added a 18650 3.7 volt Lithium Ion battery to power the Arduino and sound sensor in case of a power outage.
I have used the PushSafer notification service for a variety of projects since it is the easiest and most customizable of all the push notification services in my opinion. The PushSafer app must be installed on a smart phone or tablet and you must have an account on the PushSafer website. That allows you to generate a key code that is included in the sketch. Any number of detectors and Arduinos can be used with different titles, messages and sounds that appear in the notifications.
EXPANDED TECHNICAL DETAILS
Remote Life-Safety Notifications
This project adds a digital cloud interface to a standard fire alarm, sending instant push notifications to your phone during an emergency.
- Sensing Logic Trigger: The Arduino monitors the analog output of an MQ-2 Smoke Sensor. If the value exceeds the safety threshold, it immediately triggers a local siren.
- PushSafer Cloud Integration: Uses the PushSafer API via WiFi (ESP8266). The Arduino sends a secured HTTPS request to the cloud, which then pushes a rich notification (including "Alert Time" and "Location") to the user's smartphone app.
Reliability
- Keep-Alive Heartbeat: Sends a "System Check" notification once every 24 hours to ensure the IoT connection and sensor are still functional.