Love this project, super impressive and inspiring. I am creating a fitibit with an esp32c3 and have been diving deeper and deeper into power consumption research. Keep it up!
Impressive! The ESP32 isn't exactly known for being particularly energy efficient (especially when compared to alternatives like nRF52) but its low cost and wide availability make it tempting to implement in smart devices.
Thank you for your efforts searching for low power solutions. I have gone through this few years ago. But after all my experiments, I have a Window/door sensor and water level sensor which is lot simpler. It does not require reed switch or any special power circuit.It just power down the whole esp32 when door is closed.When door is open it wakes up and send message to gateway.
The reed switch/ hall effect sensor is present in all door and window sensors, it is not an extra element but essential. My circuit is not complex, I use very simple and inexpensive components, you only need to take an engineering class to understand the simplicity of the design.
@@SalvatoreRaccardi I am glad I am not engineer. Engineers tends to over engineer things. I wanted to show you simplest door/window sensor which requires only bare ESP8266 module, few metal short wires and a battery supplying 3 to 3.6 volts with special software and it can do everything you do with your circuit here but with better energy efficiency. And it will be 1/3rd in cost and size of your design here. But I will do it when you come out of your engineer mindset. I have spent 40 years tearing apart electronics to understand them.
@@gsgeSometimes a door is not closed properly, and wind pushes it open. So you push harder to close it. But oops. The read switch has woken up the circuit, but misses the closing of the door. Your version, using wires, will always see the current state. No need to remember the previous state, either your gateway does this, or you can make the circuit smarter. I know 40 years of experience still can beat smart designs. KISS. On the other hand, Salvatore is making a very nice project of this, and if he uses out of the box materials (not PCB way stuff or 3D stuff), it would be for more people. However he has his own subscribers which seem to like his approach. Note: I just came here because YT promoted this video and can say Salvatore is on the right track. But (all) our tracks do not need to be the same.
9:28 you could, if you wanted, to make that part of the plastic behind the battery terminals separatable from the rest of the plastic which supports the board so you can remove everything if needed. It is not much more complex if at all and it should be sturdy enough because all goes into bigger case which would hold it together.
Good engineering, well done. I like all the simulations and research you did before diving into the PCB design. That circuit is complex though, are you trying to simplify it or are you ok with it?
Very nice done. I like it that you grab yourself the target and keep on improving it. It’s a nice combination of mechanical and electric engineering, like the details on the battery bay and the lid. Details. Although I also very much like the versatile and addictive ESP-32, could you imagine using a more power friendly chip?
Hi Salvatore. I did power latch rising&falling edge dedector schematic. When i test the circuit, current measurement is almost 200 mikroamper. I could not see nA levels. I used SN74LVC1G86DBVRG4 too like schematics. Do you have any opinion or suggestion for me? By the way i really like your design...Best regards..
Very nice idea. I was checking the Kicad schematics today. Very nice schematic layout as well. Some question remains for me: Why did you change the Mosfet from NTNS... to the DMG3415? And why did you include a LDO for the BME680 at all? It runs fine with 3V and is also internally compensated so no drift with a depleading battery. For Low power it doesnt really matter but its one more part. Thanks for making it open source!
how sexy are those 0.8mm boards! I love them in my projects. Man, how much simpler would home automation be if you could just project an rf field around a house and tap that for energy? I'm working on weight sensors for my gas storage to detect leaks and warn me when one of the two bottles gets low... it's got a pair of 16550's and a solar panel...
Very nice project, i like it. I see is not so easy to reflash once the module is assembled. Have you thought using the over the air reflashing? Well to implement that may help you, but it will also depend how often you think you need reflashing the modules
Good point, with the power latch I developed you could use OTA but under the condition that you trigger the sensor first. I'll add this feature to the Todo list for the next version.
What off the shelf components could I buy to get close to this? I don’t have the machines or experience to put this together. It’s a great project and would love to be able to buy an add on module to use an existing ESP32 board…
Why not using a ultra low power microcontroller to offload simpler tasks from the main system? You could do a lot more, including smarter pin monitoring, use wake up interruptions on pin edges, timer, etc. This is possible using the sleep mode that would bring power consumption down to around 100nA. I know that's more power than your circuit is draining, but it does a lot more. It is an interesting tradeoff.
Your point is right, but the goal was to develop as simple a solution as possible with the ESP32C3. I also developed a version with a microcontroller that does the supervisor work, but from my point of view it is a solution(supervisor microcontroller + ESP32C3) not suitable for mass production. Surely ,it would make sense to use an Ultra low power micrcontroller + RF(BLE/zigbee etc). When developing a product you have to simplify the design as much as possible, in my point of view.
@@SalvatoreRaccardi I understand your angle. IMHO the supervisor is superior, especially because it is a general and flexible solution, extensible for other applications, and you can even update the supervisor firmware from the ESP. In the end the scale could make it worth the extra complexity. Some microcontroller are less than 50p.
Impressive result If I understand correctly, the RC delay (R10, C8, C12) is basically the time for MCU to respond and latch on the main MOSFET to prevent the circuit from switching off again? Toggling AUTO_TURN_OFF must be the first operation after the MCU wakes up?
@SalvatoreRaccardi any potential issue when using a "fresh" assembled module? Since the module has no program to keep to toggle the IO at the first time. Or when reprogramming and forgot to add that line of code
@@SalvatoreRaccardi I solved the issue . I need to know the max current and voltage that esp32c3 normally consumes . I saw it consumes 40 mA for esp32c6(active state) . So wt will be the same with esp32c3 ? Secondly , my device might be in active state for 12 hrs(max) , so just to calculate the maH of the battery .So which battery is preferable .The size of the device would be 25 mm*35*20 mm . are there such batteries available ?
Sadly I didn't understand. Here's what I thought you would do: Use a normally closed reed switch (that will be open when the window is closed) directly on the power line. When the window is opened, the ESP32 is powered up and the first thing it does, is turn on a transistor that's in parallel with the switch, sends its state to the MQTT broker or whatever and goes to deep sleep. When the windows is closed, the bounce of the reed switch means the ESP32 will be woken up, turn on that same transistor, sends its new state to the MQTT broker and turn off the transistor, so cutting all power. Could you explain why my solution isn't good and how yours work in greater details?
First of all thank you for your comment, I am just seeing it now. I explain in detail how the circuit works from minute 4:10. I don't really understand your idea, I would need a schematic to understand better. In any case, have you tested your solution?
Good afternoon Salvatore, I really liked your video, and with my brother we decided to make the same PCB for our house. But we have a problem, all the programs work except those that are related to WIfi. The only wifi function that works is the Wifi status. For example if we do a wifi scan it runs all the code until it reaches one of the WIfi functions and then it stops running. It would help us a lot if you or someone from the community could give us a hand. Thank you very much for your help.
@@SalvatoreRaccardi Thank you very much for your response. Yes, I have asked on several forums, but so far they have not been able to give me an answer.
I tried makermeik project and the logic circuit to enable ldo does not work as desired. On one pcb it worked i dont know how but on all others it failed
Great video, two questions for you. 1. If you only transmit when the sensor state changes, how does the controller know if this sensor is "online" if the sensor state hasn't changed for days? (like ring, zwave, etc controllers know that their sensors are "online"). 2. If you changed to wake up from deep sleep and transmit the state every 5 seconds, how long do you think the batteries will last?
Note that all WiFi smart sensors have the following problem, which can be solved by scheduling wake-up every hour. Every 5 seconds is inefficient. In some applications it is not necessary to know whether the sensors are online. If they are sensors for apartment security, yes, but if they are for turning on a light or making a simple measurement, it is not necessary to know if the sensor is online. It all depends on the application.
Buongiorno Salvatore, anche io mi sto cimentando con un progetto come questo e ti faccio i complimenti, mi sembra molto interessante. Un paio di domande. Ma questo progetto e' un hardware open source? E' possibile avere lo schema elettronico per capire come modificarlo? Grazie per l'attenzione . Ti segnalo inoltre questo link da dove ho preso alcuni spunti che potrebbero essere utili: th-cam.com/video/-oMSD9I4RSo/w-d-xo.html
Buongiorno, il progetto è open source (puoi trovare lo schema elettrico su github). Conosco il progetto "trigboard", purtroppo ha dei consumi molto alti in "deep sleep" ~1.5uA, io per adesso sono arriviato fino a ~20nA. Attualmente sto lavorando a una board (devkit) per sviluppare nodi IoT extreme low power.
Why doesn't it make sense? The goal of this project was to increase the life cycle of the device to 10 years of use by keeping the same batteries(which are easy to buy and cheap).
Super impressive; this is a rare example where DiY is better than any commercially available product.
Love this project, super impressive and inspiring. I am creating a fitibit with an esp32c3 and have been diving deeper and deeper into power consumption research. Keep it up!
Impressive! The ESP32 isn't exactly known for being particularly energy efficient (especially when compared to alternatives like nRF52) but its low cost and wide availability make it tempting to implement in smart devices.
Next week I will upload a very interesting video about it(power consumption and ESP32), I suggest you stay tuned :)
Very nicely designed. Helpful for smart homes. Cheers
Very well thought out project! Nice one
amazing design and attention to detail - love it
Thanks!
Well done, man!
Thank you for your efforts searching for low power solutions. I have gone through this few years ago. But after all my experiments, I have a Window/door sensor and water level sensor which is lot simpler. It does not require reed switch or any special power circuit.It just power down the whole esp32 when door is closed.When door is open it wakes up and send message to gateway.
The reed switch/ hall effect sensor is present in all door and window sensors, it is not an extra element but essential. My circuit is not complex, I use very simple and inexpensive components, you only need to take an engineering class to understand the simplicity of the design.
@@SalvatoreRaccardi I am glad I am not engineer. Engineers tends to over engineer things. I wanted to show you simplest door/window sensor which requires only bare ESP8266 module, few metal short wires and a battery supplying 3 to 3.6 volts with special software and it can do everything you do with your circuit here but with better energy efficiency. And it will be 1/3rd in cost and size of your design here. But I will do it when you come out of your engineer mindset. I have spent 40 years tearing apart electronics to understand them.
@@gsgeSometimes a door is not closed properly, and wind pushes it open. So you push harder to close it. But oops. The read switch has woken up the circuit, but misses the closing of the door. Your version, using wires, will always see the current state. No need to remember the previous state, either your gateway does this, or you can make the circuit smarter. I know 40 years of experience still can beat smart designs. KISS. On the other hand, Salvatore is making a very nice project of this, and if he uses out of the box materials (not PCB way stuff or 3D stuff), it would be for more people. However he has his own subscribers which seem to like his approach. Note: I just came here because YT promoted this video and can say Salvatore is on the right track. But (all) our tracks do not need to be the same.
Excellent piece of work.
So Genius 🎉
Amazing project
9:28 you could, if you wanted, to make that part of the plastic behind the battery terminals separatable from the rest of the plastic which supports the board so you can remove everything if needed. It is not much more complex if at all and it should be sturdy enough because all goes into bigger case which would hold it together.
Good engineering, well done. I like all the simulations and research you did before diving into the PCB design. That circuit is complex though, are you trying to simplify it or are you ok with it?
It can be simplified, depending a lot on the result you want to achieve.
Very nice done. I like it that you grab yourself the target and keep on improving it. It’s a nice combination of mechanical and electric engineering, like the details on the battery bay and the lid. Details.
Although I also very much like the versatile and addictive ESP-32, could you imagine using a more power friendly chip?
Thank you! The next step is to use the nRF52840 and try ESP32-C6.
That so cool 👍 Can we have a video from you explaining how to design pcb for low power device because you are so good at it
I'll, I want to look into this topic because in my opinion it is fundamental to the development of many iot devices👍
@@SalvatoreRaccardi yeah sure! Thanks
Hi Salvatore. I did power latch rising&falling edge dedector schematic. When i test the circuit, current measurement is almost 200 mikroamper. I could not see nA levels. I used SN74LVC1G86DBVRG4 too like schematics. Do you have any opinion or suggestion for me? By the way i really like your design...Best regards..
Hi, the first question that comes to my mind to ask you is how did you measure the current?
Very nice idea. I was checking the Kicad schematics today. Very nice schematic layout as well.
Some question remains for me:
Why did you change the Mosfet from NTNS... to the DMG3415?
And why did you include a LDO for the BME680 at all? It runs fine with 3V and is also internally compensated so no drift with a depleading battery.
For Low power it doesnt really matter but its one more part.
Thanks for making it open source!
Hi! I changed the mosfet only because of availability. I added the LDO to the BME680 because I wanted to do some additional tests.
@@SalvatoreRaccardi thanks you for the answer! Did you ever get to incorporate the BME and used the door sensor as a environmental sensor as welll?
Thanks for sharing. It's very inspiring. ❤
This is very professional and I enjoyed your video.
May I ask about your tool set? The ecad/pcb and 3D design tools you are using?
Thank you for your comment. I use KiCad and Altium for PCBs design. For 3D part design I use Fusion360.
Very nice, thanks for sharing. I was struggling with the same idea on remembering the previous state. Interested to see your github
I think the solution I developed is great for several applications!
how sexy are those 0.8mm boards! I love them in my projects.
Man, how much simpler would home automation be if you could just project an rf field around a house and tap that for energy? I'm working on weight sensors for my gas storage to detect leaks and warn me when one of the two bottles gets low... it's got a pair of 16550's and a solar panel...
Thank you for your comment. Very interesting your project!
I am very impresive! Is it possible to connect this sensor to HomeAssistance?
yep you can use it with Home Assistance!
I will try to implement this. looks good
Nice!
Very nice project, i like it. I see is not so easy to reflash once the module is assembled. Have you thought using the over the air reflashing? Well to implement that may help you, but it will also depend how often you think you need reflashing the modules
Good point, with the power latch I developed you could use OTA but under the condition that you trigger the sensor first. I'll add this feature to the Todo list for the next version.
What off the shelf components could I buy to get close to this? I don’t have the machines or experience to put this together. It’s a great project and would love to be able to buy an add on module to use an existing ESP32 board…
Hi! Next week I will upload a video where I show a new project of mine, which does just what you describe. I suggest you stay tuned :)
I used the C3 for my leak detectors as well. Great deep sleep capability and
I developed a module(ELPM-S3LW) just for this kind of application: objexlabs.com/products/ELPM-S3LW
@@SalvatoreRaccardi Your design is good, but I'm not a fan of Lora. For inside applications I prefer espnow. Single module and lower power.
Salvator, Can you pls post link to buy Frogo pins programmer?
it.aliexpress.com/item/1005004258921308.html?spm=a2g0o.order_list.order_list_main.72.2daa3696PLp6vQ&gatewayAdapt=glo2ita
Link to simulator, please
www.falstad.com/circuit/circuitjs.html
You are a creative man..always waiting for videos of your beautiful projects...how much will you set a suitable price for them??
Thanks! My intention is to sell a set of IoT devices for the home and beyond. Maybe sell a few units of this device.
Why not using a ultra low power microcontroller to offload simpler tasks from the main system?
You could do a lot more, including smarter pin monitoring, use wake up interruptions on pin edges, timer, etc. This is possible using the sleep mode that would bring power consumption down to around 100nA.
I know that's more power than your circuit is draining, but it does a lot more. It is an interesting tradeoff.
Your point is right, but the goal was to develop as simple a solution as possible with the ESP32C3. I also developed a version with a microcontroller that does the supervisor work, but from my point of view it is a solution(supervisor microcontroller + ESP32C3) not suitable for mass production.
Surely ,it would make sense to use an Ultra low power micrcontroller + RF(BLE/zigbee etc).
When developing a product you have to simplify the design as much as possible, in my point of view.
@@SalvatoreRaccardi I understand your angle. IMHO the supervisor is superior, especially because it is a general and flexible solution, extensible for other applications, and you can even update the supervisor firmware from the ESP.
In the end the scale could make it worth the extra complexity. Some microcontroller are less than 50p.
Impressive result
If I understand correctly, the RC delay (R10, C8, C12) is basically the time for MCU to respond and latch on the main MOSFET to prevent the circuit from switching off again?
Toggling AUTO_TURN_OFF must be the first operation after the MCU wakes up?
exactly
@SalvatoreRaccardi any potential issue when using a "fresh" assembled module? Since the module has no program to keep to toggle the IO at the first time. Or when reprogramming and forgot to add that line of code
No there is a procedure for programming the board to bypass the power latch.
Hi have you worked with esp32C3 and mpu6050 . Can you tell me how you could connect the esp32 c3 with mpu6050 pins if you had done it ?
Via I2C?
@@SalvatoreRaccardi I solved the issue . I need to know the max current and voltage that esp32c3 normally consumes . I saw it consumes 40 mA for esp32c6(active state) . So wt will be the same with esp32c3 ? Secondly , my device might be in active state for 12 hrs(max) , so just to calculate the maH of the battery .So which battery is preferable .The size of the device would be 25 mm*35*20 mm . are there such batteries available ?
Sadly I didn't understand.
Here's what I thought you would do: Use a normally closed reed switch (that will be open when the window is closed) directly on the power line. When the window is opened, the ESP32 is powered up and the first thing it does, is turn on a transistor that's in parallel with the switch, sends its state to the MQTT broker or whatever and goes to deep sleep. When the windows is closed, the bounce of the reed switch means the ESP32 will be woken up, turn on that same transistor, sends its new state to the MQTT broker and turn off the transistor, so cutting all power. Could you explain why my solution isn't good and how yours work in greater details?
First of all thank you for your comment, I am just seeing it now. I explain in detail how the circuit works from minute 4:10.
I don't really understand your idea, I would need a schematic to understand better. In any case, have you tested your solution?
@@SalvatoreRaccardi I didn't understand your idea, you don't understand mine....maybe it's not worth the hassle. Thanks for sharing, anyway!
Could it be flashed with ESPHome for example? Having compatibility with home assistant would be perfect
Yes sure!
You can fool the sensor with any magnet. Is it possible to use something coded, specific to each sensor?
All smart door sensors are designed in this way. It is possible to make this device more secure by making the unit containing the magnet smarter.
nice video thanks
Would it be possible to do this with an accelerometer interrupt instead of reed sensor?
Yes sure.
@@SalvatoreRaccardi How should I connect the accelerometer?
@@begonamarkina9658 It all depends on the sensor model and project specifications.
Good afternoon Salvatore, I really liked your video, and with my brother we decided to make the same PCB for our house. But we have a problem, all the programs work except those that are related to WIfi. The only wifi function that works is the Wifi status. For example if we do a wifi scan it runs all the code until it reaches one of the WIfi functions and then it stops running.
It would help us a lot if you or someone from the community could give us a hand.
Thank you very much for your help.
Have you tried to see if other people online have experienced a similar problem?
@@SalvatoreRaccardi Thank you very much for your response. Yes, I have asked on several forums, but so far they have not been able to give me an answer.
We are not sure if the problem is a configuration, library or PCB communication system issue.
what antenna are you using?
@@SalvatoreRaccardi I'm using an ESP32-C3-Mini-1
Could you share it as a public project on easy eda? Because them Users Can directly order it :)?
It was not designed on EasyEDA.
Batteries Salvatore!
I tried makermeik project and the logic circuit to enable ldo does not work as desired. On one pcb it worked i dont know how but on all others it failed
The design I developed works very well, I have done several tests, and so far I have not found any issues with the design.
@@SalvatoreRaccardi will u make the code n ckt public?
@@superbikeengineer The basic code is public
@@SalvatoreRaccardi and hardware project is complete?
nice work
👏👏👏👏👏
Very Very Nice
Subscribed!
Great video, two questions for you. 1. If you only transmit when the sensor state changes, how does the controller know if this sensor is "online" if the sensor state hasn't changed for days? (like ring, zwave, etc controllers know that their sensors are "online"). 2. If you changed to wake up from deep sleep and transmit the state every 5 seconds, how long do you think the batteries will last?
Note that all WiFi smart sensors have the following problem, which can be solved by scheduling wake-up every hour. Every 5 seconds is inefficient. In some applications it is not necessary to know whether the sensors are online. If they are sensors for apartment security, yes, but if they are for turning on a light or making a simple measurement, it is not necessary to know if the sensor is online. It all depends on the application.
Bravo, anche per il video editing.
l'inglese é un po' da migliorare.
Grazie per il commento, sono consapevole che l'inglese è da migliorare. Infatti sto lavorando molto per migliorare la pronuncia e non solo.
It is very understandable and the Italian accent constantly reminds me of the beautiful language, nice wines and food -> positive 😄🇮🇹
At 30nA, a Supercap and tiny solar panel will give infinite runtime in a tiny package 👍
Right, theoretically it is possible.
Buongiorno Salvatore, anche io mi sto cimentando con un progetto come questo e ti faccio i complimenti, mi sembra molto interessante. Un paio di domande. Ma questo progetto e' un hardware open source? E' possibile avere lo schema elettronico per capire come modificarlo? Grazie per l'attenzione . Ti segnalo inoltre questo link da dove ho preso alcuni spunti che potrebbero essere utili: th-cam.com/video/-oMSD9I4RSo/w-d-xo.html
Buongiorno, il progetto è open source (puoi trovare lo schema elettrico su github). Conosco il progetto "trigboard", purtroppo ha dei consumi molto alti in "deep sleep" ~1.5uA, io per adesso sono arriviato fino a ~20nA. Attualmente sto lavorando a una board (devkit) per sviluppare nodi IoT extreme low power.
@@SalvatoreRaccardi Grazie per la risposta. Conto di seguire il canale per vedere le novità che stai sviluppando. Complimenti e Buon lavoro
The main question is why build something new based on traditional batteries. It makes no sense to me.
Why doesn't it make sense? The goal of this project was to increase the life cycle of the device to 10 years of use by keeping the same batteries(which are easy to buy and cheap).
Too bad it's not on Tindies I would bought some
Maybe in the future :)