Where does the image taken by ESP32 CAM get stored if I do not use a memory card?

Hi, I have started working on ESP32 CAM and I ran the example code located at Files->Examples->ESP32->Camera->CameraWebServer in Arduino IDE successfully. I was having some issues while doing so, but this forum helped out.
Here is the link :

I have not inserted the memory card yet. I also tested that the code works without internet connection. I am able to capture images and stream video, but I do not know where the images are getting stored. I heavily rely on this community by now and I am not able to find a good resource for ESP32 CAM yet. Please help.

Thank you.

Your post was MOVED to its current location as it is more suitable.

The esp32cam has extra memory included in the form of PSRAM
see: ESP32 - How To Use PSRAM ā€¢ ThingPulse

Images you capture will probably be stored in SPIFFS
see: SPIFFS in ESP32

BTW - I found it difficult myself to find out how to do the basics with the esp32cam so I put together this demo sketch: GitHub - alanesq/esp32cam-demo: esp32cam module demo / shows how you can easily use the esp32cam including reading raw rgb data, streaming, displaying the image etc.(ArduinoIDE or PlatformIO)

1 Like

The images are stored in a array that is in PSRAM, so are lost when power is lost.

Look also at the comments for the camera driver


Important to Remember

  • Except when using CIF or lower resolution with JPEG, the driver requires PSRAM to be installed and activated.
  • Using YUV or RGB puts a lot of strain on the chip because writing to PSRAM is not particularly fast. The result is that image data might be missing. This is particularly true if WiFi is enabled. If you need RGB data, it is recommended that JPEG is captured and then turned into RGB using fmt2rgb888 or fmt2bmp/frame2bmp.
  • When 1 frame buffer is used, the driver will wait for the current frame to finish (VSYNC) and start I2S DMA. After the frame is acquired, I2S will be stopped and the frame buffer returned to the application. This approach gives more control over the system, but results in longer time to get the frame.
  • When 2 or more frame bufers are used, I2S is running in continuous mode and each frame is pushed to a queue that the application can access. This approach puts more strain on the CPU/Memory, but allows for double the frame rate. Please use only with JPEG.

Thank you @srnet @UKHeliBob @J-M-L @alanesq .
Thank you so much for your valuable information and links.


This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.