One of my wife's hobbies is watching and sketching birds. We even installed a bird feeder outside of our bedroom window so that she could periodically look for any bird activity. I eventually realized that she could accomplish the same thing if we had a camera trained on the feeder and then watch the live stream on her iPad. I had been reading about the ESP32-Cam modules lately and thought this might be a good opportunity (ie. excuse) to build something for her.
To power the unit I used a 6v solar panel I happened to have lying around and hooked that to a solar powered battery charger (Lipo charger). The charger connects to two parallel configured 3.7v Lipo batteries which in turn provide the input voltage needed to drive a 3.3v LDO voltage regulator. A simplified schematic is shown below:
I used an onboard ADC channel to continually monitor the battery voltage. Since the maximum allowed ADC input level of an ESP32 is 3.3v and the maximum expected battery voltage is 4.2v, I had to add a simple voltage divider to scale down the voltage level. When or if the battery voltage ever drops below a preset level (3.7v in this case), the unit will shut down to conserve power. In shut down mode (actually called "deep sleep mode"), the module draws ~4mA whereas when fully active the current draw can exceed 250mA. After a specified number of hours the unit will "wake up", hopefully under conditions suitable for battery charging. The electronics along with both batteries are installed in a waterproof enclosure with a clear cover (shown on the right minus the cover).
The location of the feeder I'm using this camera with is quite a distance from our router, so I'm having some issues right now with signal strength. Therefore, I will probably be adding an external WiFi antenna in the near future to boost signal levels.
Here is a recent visitor enjoying a snack:
1) After putting up with slow and intermittent browser response times I finally decided to add the aforementioned external antenna. This seems to have done the trick and browser interaction is now much more robust.