I made a standalone Module for my Home Smoke Detectors. I used a 9Volt Relay on the Signal lead so it will tell my ESP if there is a Fire/Smoke alert. I used a 12 volt CCTV Power Supply I use for most of my Automation projects and inside the Module I built has a Buck Converter to drop it to 3.3v. The ESP uses ESPHome and it's setup as a Binary Sensor. Just so I wasn't wasting some IO I added a DHT22 Sensor as well. I thought about adding a way to have it alert me about a low battery but it was a waste of time since the Smoke/Carb detectors in my Home beep and verbally inform me "Low Battery". Since I am a self trained Electronics Engineer (twenty years) and my day to day job is installing Burg and Fire Alarm Systems and done some Electrical work from time to time and tested the crap out of it for a month before deploying the Module I can say I am confinement on my setup, not to mention I also have a couple Monitored Smoke/Carb Detectors on my Burglary Alarm Panel as a failsafe.
Nutty idea - you could isolate completely by coupling by sound. That is, use the ESP to detect the piezo buzzer (loud) and signal the fact that the ESP "hears" the detector. Sort-of like a glass-break detector.
I definitely thought about doing that! The only thing that stopped me from doing it was that I didn't want to deal with audio and figuring out the filtering required to make it trigger only when the alarm is going off and ignore other possible ambient sounds. Alternatively I'm sure it wouldn't be that difficult to wire it so close to the speaker and have such a high threshold that essentially ONLY the speaker would set it off but meh... It's a good alternative way though, especially on models that don't have that extra signal wire
@@ItKindaWorks Typically a Smoke detector outputs a temporal-three pattern at 3200Hz A-weighted sound pressure level of at least 85 decibels for 10 Feet.
Why don’t use the d1mini into super-deep-sleep (when only wakes up by pulse in gpio16) and use the transistor from gnd to gpio16 to wake it of, connect and send the message, I used a little different and with in 20ms wakes up, connect to wifi and ck mqtt messages and also send a message then go back to sleep until cycle happens again! Is awesome!
I had the same idea but instead of wifi I was thinking in use Bluetooth zigbee or RF433mhz due power consumption of the battery, did the battery last long ? planing to integrate with home assistant
Hello ItKindaWorks, I love this great project. Thank you! One question, can you add the option to the code to send notification to pushover (app android).
Thanks for the great tutorial but I've a noob question, is the purpose of connecting that 1000uF capacitor (between GND and 3.3V) to stabilize the supply voltage ? Thank you.
OK...just brainstorming here. Could we hook up an ESP8266-01 to the 9-Volt signal (with capacitors and stuff) and then when the detector goes off it will turn on the ESP and if we program it as an IOT button it could signal us that way? Then we dont need a battery. Right?
I actually tried doing exactly that when I first started working on this but quickly found that the 9v signal from the detector puts out basically no current (I assume they're designed like this for long battery life). I didn't measure it but there was enough to make the led flash on the ESP for a moment but then nothing. Even if you could I probably wouldn't just because those 9V batteries don't have very much mAh to begin with (I think a typical 9V alkaline has something like 300mAh) so an ESP would put quite a load on them. I'm sure it could be done with some ingenuity but I figure the less messing with the smoke detector electronics, the better.
Ok that being said then. Coulding you connect the transistor to the 9volt battery and the signal pin and then have the 9 volt battery power the esp8266? I only ask because who wants a big ass battery next to the detector on the ceiling. Is there room inside for an ESP , capacitors for regulator and a transistor?
You could totally power the ESP off of the 9V battery and you -could- probably stuff it all inside of the detector. I chose to not go this route because I figured I'd get a bunch of flack from the safety police about modifying a life saving device... But yes what you are saying is totally possible. The only reason I wouldn't use the 9V battery is because they really just dont hold much of a charge so even powering the ESP for a few min could potentially drain the battery. Basically I kept everything separate to try to keep the grumpy people at bay haha.
Such a good video, where did you purchased the smoke alarm? what if you have the mqtt connected to home assistant and have home assistant send message to your phone? will that delete the EspProwl part?
My following up to my question previously. Using EspProwl IS the best solution. Thank you for your instructions, I managed to get it working with AC power to Wemos D1 mini. It works well. I made this smoke alarm for the main purpose of putting one at my 88 years old mother kitchen so that when she forgets she is cooking something, the smoke alarm will send me a notification. I would like to send notification to my other brothers as well! How do I send notification to multiple Prowl accounts?
These video's are nice, thanks alot! Would you like to make a tut vid for a Basic Sonoff flashing with Homekit firmware, standalone sonoff? MANY THANKS !!
Hi can you the explain the 9v coming into the base, will it do anything to the esp 3.3v.(then the transistor switch, is it switching to the collector side or the Emitter side ). what is the max volts you can have going to the base. I have something like this I am trying to setup up. my setup have 18v dc. I notice you don't have a step down, is the resistor acting like a step down ?
The resistor is just acting to limit the amount of current that the transistor pulls. Basically the transistor is switched from the current flowing into the base and only needs something like 15mA to fully saturate (you'll have to look up the transistor spec sheet for a real number on that). I'm not an expert on transistor logic (I mostly just fumble around until it works) but you should be able to put a fairly high voltage into the transistor base and as long as you have the appropriate resistor to keep the current down then it should be fine. I'd say it should be fine up to at least 18 or so volts without being an issue. But if not I'm sure someone will be by in short order to tear into how little I know haha
Hi everyone, when trying to upload the code via arduino, its getting a error saying "_smokeAlert:22:23: error: ESPHelper.h: No such file or directory " Can anyone help? ^
I made a standalone Module for my Home Smoke Detectors. I used a 9Volt Relay on the Signal lead so it will tell my ESP if there is a Fire/Smoke alert. I used a 12 volt CCTV Power Supply I use for most of my Automation projects and inside the Module I built has a Buck Converter to drop it to 3.3v. The ESP uses ESPHome and it's setup as a Binary Sensor. Just so I wasn't wasting some IO I added a DHT22 Sensor as well. I thought about adding a way to have it alert me about a low battery but it was a waste of time since the Smoke/Carb detectors in my Home beep and verbally inform me "Low Battery". Since I am a self trained Electronics Engineer (twenty years) and my day to day job is installing Burg and Fire Alarm Systems and done some Electrical work from time to time and tested the crap out of it for a month before deploying the Module I can say I am confinement on my setup, not to mention I also have a couple Monitored Smoke/Carb Detectors on my Burglary Alarm Panel as a failsafe.
"Thank GOD", are thank you very much for your support and time 😉
good set of instructions
Just idea here, how to get alert of low 9v power for smoke detector. Could be nice to get msg to change battery. This stuff is great, keep it up.
Nutty idea - you could isolate completely by coupling by sound. That is, use the ESP to detect the piezo buzzer (loud) and signal the fact that the ESP "hears" the detector. Sort-of like a glass-break detector.
I definitely thought about doing that! The only thing that stopped me from doing it was that I didn't want to deal with audio and figuring out the filtering required to make it trigger only when the alarm is going off and ignore other possible ambient sounds. Alternatively I'm sure it wouldn't be that difficult to wire it so close to the speaker and have such a high threshold that essentially ONLY the speaker would set it off but meh... It's a good alternative way though, especially on models that don't have that extra signal wire
@@ItKindaWorks Typically a Smoke detector outputs a temporal-three pattern at 3200Hz A-weighted sound pressure level of at least 85 decibels for 10 Feet.
Why don’t use the d1mini into super-deep-sleep (when only wakes up by pulse in gpio16) and use the transistor from gnd to gpio16 to wake it of, connect and send the message, I used a little different and with in 20ms wakes up, connect to wifi and ck mqtt messages and also send a message then go back to sleep until cycle happens again! Is awesome!
That's a modern KIDDE/FireX hardwired smoke Wich is very common
Nice build!
I had the same idea but instead of wifi I was thinking in use Bluetooth zigbee or RF433mhz due power consumption of the battery, did the battery last long ? planing to integrate with home assistant
Hello
ItKindaWorks, I love this great project. Thank you! One question, can you add the option to the code to send notification to pushover (app android).
Thanks for the great tutorial but I've a noob question, is the purpose of connecting that 1000uF capacitor (between GND and 3.3V) to stabilize the supply voltage ? Thank you.
i wonder too.
OK...just brainstorming here. Could we hook up an ESP8266-01 to the 9-Volt signal (with capacitors and stuff) and then when the detector goes off it will turn on the ESP and if we program it as an IOT button it could signal us that way? Then we dont need a battery. Right?
I actually tried doing exactly that when I first started working on this but quickly found that the 9v signal from the detector puts out basically no current (I assume they're designed like this for long battery life). I didn't measure it but there was enough to make the led flash on the ESP for a moment but then nothing. Even if you could I probably wouldn't just because those 9V batteries don't have very much mAh to begin with (I think a typical 9V alkaline has something like 300mAh) so an ESP would put quite a load on them.
I'm sure it could be done with some ingenuity but I figure the less messing with the smoke detector electronics, the better.
Ok that being said then. Coulding you connect the transistor to the 9volt battery and the signal pin and then have the 9 volt battery power the esp8266? I only ask because who wants a big ass battery next to the detector on the ceiling. Is there room inside for an ESP , capacitors for regulator and a transistor?
You could totally power the ESP off of the 9V battery and you -could- probably stuff it all inside of the detector. I chose to not go this route because I figured I'd get a bunch of flack from the safety police about modifying a life saving device... But yes what you are saying is totally possible. The only reason I wouldn't use the 9V battery is because they really just dont hold much of a charge so even powering the ESP for a few min could potentially drain the battery.
Basically I kept everything separate to try to keep the grumpy people at bay haha.
You make a great point. I'm sure some idiot will blame you for their house burning down.
thanks for a great video.
seems strange to use a battery when you have 230VAC right there.
How did you flash the code onto the 8266 after you already had the stuff soldered on????
Is there a way for this with battery powered standalone smoke and co alarm?
Such a good video, where did you purchased the smoke alarm? what if you have the mqtt connected to home assistant and have home assistant send message to your phone? will that delete the EspProwl part?
My following up to my question previously. Using EspProwl IS the best solution. Thank you for your instructions, I managed to get it working with AC power to Wemos D1 mini. It works well. I made this smoke alarm for the main purpose of putting one at my 88 years old mother kitchen so that when she forgets she is cooking something, the smoke alarm will send me a notification. I would like to send notification to my other brothers as well! How do I send notification to multiple Prowl accounts?
When I tried to compile the *.ino file the Arduino IDE sends a "expected primary-expression before `myESP` I don't know why.. can you Help please
What's the full form of ESP?
Will Lipo 4.2v kill 3.3v D1 mini?
can you do a video on how to do OTA with esphelper
These video's are nice, thanks alot!
Would you like to make a tut vid for a Basic Sonoff flashing with Homekit firmware, standalone sonoff? MANY THANKS !!
Hello There, can this work on Android devices?
please tell me about capacity of battery cell which is we using on esp8266
What type of smoke detector is used here?
Hi can you the explain the 9v coming into the base, will it do anything to the esp 3.3v.(then the transistor switch, is it switching to the collector side or the Emitter side ). what is the max volts you can have going to the base. I have something like this I am trying to setup up. my setup have 18v dc.
I notice you don't have a step down, is the resistor acting like a step down ?
The resistor is just acting to limit the amount of current that the transistor pulls. Basically the transistor is switched from the current flowing into the base and only needs something like 15mA to fully saturate (you'll have to look up the transistor spec sheet for a real number on that). I'm not an expert on transistor logic (I mostly just fumble around until it works) but you should be able to put a fairly high voltage into the transistor base and as long as you have the appropriate resistor to keep the current down then it should be fine. I'd say it should be fine up to at least 18 or so volts without being an issue. But if not I'm sure someone will be by in short order to tear into how little I know haha
Very cool.. Thanks
Nice video and well explained. Let me know the sheet which you were using while soldering. - Thanks.
Thanks! The sticky surface? It's just regular old duct tape :)
Is there any way or anybody you can tell me how I can add this to homeassistant to show up in the dashboard the configurator file
Hi everyone, when trying to upload the code via arduino, its getting a error saying
"_smokeAlert:22:23: error: ESPHelper.h: No such file or directory
"
Can anyone help?
^
It looks like you havent installed the ESPHelper library. Head over to github.com/ItKindaWorks/ESPHelper to download the library and install it.
@@ItKindaWorks thanks for the reply bud. Managed to sort the library but I'm not hit with this error. Determined to get this to work but my lack of programming skills is holding me back. Hoping to use this project to gain some experience though.
Arduino: 1.8.7 (Windows Store 1.8.15.0) (Windows 10), Board: "Generic ESP8266 Module, 80 MHz, Flash, ck, 26 MHz, 40MHz, QIO, 512K (no SPIFFS), 2, v2 Lower Memory, Disabled, None, Only Sketch, 9600"
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.15.0_x86__mdqgnx93n4wtt\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.15.0_x86__mdqgnx93n4wtt\hardware -hardware C:\Users\mrpau\OneDrive\Documents\ArduinoData\packages -tools C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.15.0_x86__mdqgnx93n4wtt\tools-builder -tools C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.15.0_x86__mdqgnx93n4wtt\hardware\tools\avr -tools C:\Users\mrpau\OneDrive\Documents\ArduinoData\packages -built-in-libraries C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.15.0_x86__mdqgnx93n4wtt\libraries -libraries C:\Users\mrpau\OneDrive\Documents\Arduino\libraries -fqbn=esp8266:esp8266:generic:CpuFrequency=80,VTable=flash,ResetMethod=ck,CrystalFreq=26,FlashFreq=40,FlashMode=qio,FlashSize=512K0,led=2,LwIPVariant=v2mss536,Debug=Disabled,DebugLevel=None____,FlashErase=none,UploadSpeed=9600 -ide-version=10807 -build-path C:\Users\mrpau\AppData\Local\Temp\arduino_build_122856 -warnings=none -build-cache C:\Users\mrpau\AppData\Local\Temp\arduino_cache_966764 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.mkspiffs.path=C:\Users\mrpau\OneDrive\Documents\ArduinoData\packages\esp8266\tools\mkspiffs\0.2.0 -prefs=runtime.tools.mkspiffs-0.2.0.path=C:\Users\mrpau\OneDrive\Documents\ArduinoData\packages\esp8266\tools\mkspiffs\0.2.0 -prefs=runtime.tools.esptool.path=C:\Users\mrpau\OneDrive\Documents\ArduinoData\packages\esp8266\tools\esptool\0.4.13 -prefs=runtime.tools.esptool-0.4.13.path=C:\Users\mrpau\OneDrive\Documents\ArduinoData\packages\esp8266\tools\esptool\0.4.13 -prefs=runtime.tools.xtensa-lx106-elf-gcc.path=C:\Users\mrpau\OneDrive\Documents\ArduinoData\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2 -prefs=runtime.tools.xtensa-lx106-elf-gcc-1.20.0-26-gb404fb9-2.path=C:\Users\mrpau\OneDrive\Documents\ArduinoData\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2 -verbose C:\Users\mrpau\OneDrive\Desktop\23c550db3552ce018118594375356a20-762ce0aa35b0f04604745326912c2bb4deb25b9d\_smokeAlert\_smokeAlert.ino
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.15.0_x86__mdqgnx93n4wtt\arduino-builder -compile -logger=machine -hardware C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.15.0_x86__mdqgnx93n4wtt\hardware -hardware C:\Users\mrpau\OneDrive\Documents\ArduinoData\packages -tools C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.15.0_x86__mdqgnx93n4wtt\tools-builder -tools C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.15.0_x86__mdqgnx93n4wtt\hardware\tools\avr -tools C:\Users\mrpau\OneDrive\Documents\ArduinoData\packages -built-in-libraries C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.15.0_x86__mdqgnx93n4wtt\libraries -libraries C:\Users\mrpau\OneDrive\Documents\Arduino\libraries -fqbn=esp8266:esp8266:generic:CpuFrequency=80,VTable=flash,ResetMethod=ck,CrystalFreq=26,FlashFreq=40,FlashMode=qio,FlashSize=512K0,led=2,LwIPVariant=v2mss536,Debug=Disabled,DebugLevel=None____,FlashErase=none,UploadSpeed=9600 -ide-version=10807 -build-path C:\Users\mrpau\AppData\Local\Temp\arduino_build_122856 -warnings=none -build-cache C:\Users\mrpau\AppData\Local\Temp\arduino_cache_966764 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.mkspiffs.path=C:\Users\mrpau\OneDrive\Documents\ArduinoData\packages\esp8266\tools\mkspiffs\0.2.0 -prefs=runtime.tools.mkspiffs-0.2.0.path=C:\Users\mrpau\OneDrive\Documents\ArduinoData\packages\esp8266\tools\mkspiffs\0.2.0 -prefs=runtime.tools.esptool.path=C:\Users\mrpau\OneDrive\Documents\ArduinoData\packages\esp8266\tools\esptool\0.4.13 -prefs=runtime.tools.esptool-0.4.13.path=C:\Users\mrpau\OneDrive\Documents\ArduinoData\packages\esp8266\tools\esptool\0.4.13 -prefs=runtime.tools.xtensa-lx106-elf-gcc.path=C:\Users\mrpau\OneDrive\Documents\ArduinoData\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2 -prefs=runtime.tools.xtensa-lx106-elf-gcc-1.20.0-26-gb404fb9-2.path=C:\Users\mrpau\OneDrive\Documents\ArduinoData\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2 -verbose C:\Users\mrpau\OneDrive\Desktop\23c550db3552ce018118594375356a20-762ce0aa35b0f04604745326912c2bb4deb25b9d\_smokeAlert\_smokeAlert.ino
Using board 'generic' from platform in folder: C:\Users\mrpau\OneDrive\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.4.2
Using core 'esp8266' from platform in folder: C:\Users\mrpau\OneDrive\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.4.2
Build options changed, rebuilding all
Detecting libraries used...
"C:\\Users\\mrpau\\OneDrive\\Documents\\ArduinoData\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-IC:\\Users\\mrpau\\OneDrive\\Documents\\ArduinoData\\packages\\esp8266\\hardware\\esp8266\\2.4.2/tools/sdk/include" "-IC:\\Users\\mrpau\\OneDrive\\Documents\\ArduinoData\\packages\\esp8266\\hardware\\esp8266\\2.4.2/tools/sdk/lwip2/include" "-IC:\\Users\\mrpau\\OneDrive\\Documents\\ArduinoData\\packages\\esp8266\\hardware\\esp8266\\2.4.2/tools/sdk/libc/xtensa-lx106-elf/include" "-IC:\\Users\\mrpau\\AppData\\Local\\Temp\\arduino_build_122856/core" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DARDUINO=10807 -DARDUINO_ESP8266_GENERIC -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD=\"ESP8266_GENERIC\"" -DLED_BUILTIN=2 -DESP8266 "-IC:\\Users\\mrpau\\OneDrive\\Documents\\ArduinoData\\packages\\esp8266\\hardware\\esp8266\\2.4.2\\cores\\esp8266" "-IC:\\Users\\mrpau\\OneDrive\\Documents\\ArduinoData\\packages\\esp8266\\hardware\\esp8266\\2.4.2\\variants\\generic" "C:\\Users\\mrpau\\AppData\\Local\\Temp\\arduino_build_122856\\sketch\\_smokeAlert.ino.cpp" -o nul
Error while detecting libraries included by C:\Users\mrpau\AppData\Local\Temp\arduino_build_122856\sketch\_smokeAlert.ino.cpp
Generating function prototypes...
"C:\\Users\\mrpau\\OneDrive\\Documents\\ArduinoData\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-IC:\\Users\\mrpau\\OneDrive\\Documents\\ArduinoData\\packages\\esp8266\\hardware\\esp8266\\2.4.2/tools/sdk/include" "-IC:\\Users\\mrpau\\OneDrive\\Documents\\ArduinoData\\packages\\esp8266\\hardware\\esp8266\\2.4.2/tools/sdk/lwip2/include" "-IC:\\Users\\mrpau\\OneDrive\\Documents\\ArduinoData\\packages\\esp8266\\hardware\\esp8266\\2.4.2/tools/sdk/libc/xtensa-lx106-elf/include" "-IC:\\Users\\mrpau\\AppData\\Local\\Temp\\arduino_build_122856/core" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DARDUINO=10807 -DARDUINO_ESP8266_GENERIC -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD=\"ESP8266_GENERIC\"" -DLED_BUILTIN=2 -DESP8266 "-IC:\\Users\\mrpau\\OneDrive\\Documents\\ArduinoData\\packages\\esp8266\\hardware\\esp8266\\2.4.2\\cores\\esp8266" "-IC:\\Users\\mrpau\\OneDrive\\Documents\\ArduinoData\\packages\\esp8266\\hardware\\esp8266\\2.4.2\\variants\\generic" "C:\\Users\\mrpau\\AppData\\Local\\Temp\\arduino_build_122856\\sketch\\_smokeAlert.ino.cpp" -o "C:\\Users\\mrpau\\AppData\\Local\\Temp\\arduino_build_122856\\preproc\\ctags_target_for_gcc_minus_e.cpp"
exit status 1
Error compiling for board Generic ESP8266 Module.uments\Arduino\libraries\MetroArduinoWiringmaster