I'd love to create a little device that is able to take pictures (in regular intervals, maybe once or up to three times a day), runs on batteries (which ideally last for several weeks or even months), and sends the pictures to the cloud. Ideally I'd also like to add a temperature/humidity sensor.
So far I am thinking I should base the device on an ESP32 controller with Lithium batteries like the CR123A and use a SIM800L Module to send the pictures via the 2G network.
The first thing I tried was using this ESP32 dev board: ESP32 NodeMCU Module WLAN WiFi Dev Kit C Development Board mit CP2102 – AZ-Delivery, but I realized that the current in deep sleep mode never went below 9mA. This quickly (within a few days) drained my battery. Apparently this is a known problem, so I am already looking for an alternative board. Adding the temperature sensor (a DHT22) did not increase the current much: in active mode is was around 40-50mA, which should be fine since I am planning to wake up the device only once or a few times a day.
I haven't even tried adding the camera or the SIM800L module and I am wondering if it is even realistic to run the device on batteries as I planned. I might be playing around with the SIM800L next to see how much power is needed to send some data over the 2G network. But I am quite confused regarding the selection of the board, especially for the camera. There seem to be boards that already come with a built-in SIM800L module, like the LILYGO® TTGO T-Call V1.4 ESP32, but I am not sure if these are optimized for low power consumption during deep sleep, like this one: ESP32 Development and Breakout Board. Similarly, there seem to be boards that include a camera (but no SIM module), like the ESP32-CAM. I haven't found one that comes with a camera and a SIM module (let alone one that also consumes little power in deep sleep). Should I be looking for such boards integrating some of the components I need? Or should I first find a board that uses a very low current in deep sleep mode and add the SIM module and camera as separate components? Or should I even consider combining a (low power) ESP32 board with an ESP32 board that comes with a camera? I'm a bit confused by the fact that whenever I am looking for a camera for ESP32 boards I do not find single camera components, but rather some that are integrated on an ESP32 board already.
If the picture is sent to the cloud, then the SD card is not needed, so pins would be free for the sensor.
If you remove the regulator on the ESP32 and feed the 3.3V supply from a seperate low quiescent current regulator the whole board could have a deep sleep current of circa 25uA.
Thanks for the quick response. So you mean I should start off the ESP32CAM board and attach the SIM800L and the temperature sensor? Is there any guidance how to remove/replace the regulator on the ESP32CAM you can recommend? For my current board I found these instructions, but this seems quite difficult: Running NodeMCU on a battery: ESP8266 low power consumption revisited – Tinkering with Technology
And can you explain why using an ESP32CAM board is better than 'just' attaching a camera (like the OV2640) to some generic ESP32 board? Does this even work, or does the ESP32CAM board include more camera-related things than just the camera?
It's not... but why reinvent the wheel. Sleeping an ESP32-CAM for 24 hours, and waking up to take a picture, start the modem, and sending it, then sleeping again... sounds pretty easy... and power friendly.
The ESP32CAM is an ESP32 with an OV2640 camera already fitted.
Yes, I see. I am just wondering what will be easier: Buying an ESP32 board with low power consumption and attaching a camera and the SIM module, or buying the ESP32CAM and modifying it to replace the regulator. I'd love to follow your advice of using the ESP32CAM, also because it seems quite easily available, but so far I have no clue what it will take to replace the regulator. I could not find any good resources that explain this yet, either.
Ok, I was just trying to understand why the camera comes in combination with the ESP32 more often than not. Regarding 'power friendly': My experience so far was that the ESP32 board I was working with consumes a lot more power than one might expect during deep sleep, too much to run it on battery for long. So I am trying to find an alternative without this problem.
I was using the SD card on the ESP32CAM, taking a picture, saving it to SD card and then transfering it with LoRa.
There was no ready way of reducing the sleep current with the SD card inserted.
For circumstances such as this, and to prevent the need for mods to a board its easier to use an RTC with an alarm function that drives a MOSFET to disconnect the battery. You program the RTC alarm with the ESP32.
There was a thread on this recently, might be worth a look.
You power down everything between alarms, except the RTC itself, which runs on its own coin cell, which should last for a year or more.
Both the ESP32 and the SIM will run on 3.3V I believe. If nothing else in your circuit requires 5V, then a really low dropout linear regulator should work fine.
Thanks a lot for your suggestions. I think I will try one of these approaches that shut down the ESP32 cam board entirely. I could even use a low-power ESP32 board like the DFRobot FireBeetle for this, right? This way I would be able to use its deep sleep mode to, e.g. measure the temperature every two hours and wake up the camera to take a picture once a day? The deep sleep current of the FireBeetle is supposed to be small enough (~50μA according to this table: ESP32 Boards Comparison - Google Sheets) to run on a battery for quite long.