The ESP32 supports ov2640 cameras, which makes it an ideal platform for a DIY IP camera. For this purpose, I wrote a customized firmware for the ESP32 which provides the following features:
- Streaming from the camera
- Getting the latest frame from the camera
- Firmware update by uploading new binary files
This firmware is written for AI Thinker boards but could easily be adapted to other boards by modifying the GPIO assignment. Here is a link to its GitHub repo.