FAQ
TL;DR: To get stable high‑res streaming on ESP32‑CAM, select the AI Thinker (PSRAM) profile; the build uses 2,814,582 bytes (89%). “PSRAM enabled to use high resolution camera modes.” Choose the Huge APP partition for this ~3 MB sketch. [Elektroda, khoam, post #19432646]
Why it matters: This helps makers who ask “what sketch works and how do I fix stutter/timeouts?” by giving concrete setup and fix steps.
Quick Facts
- High‑resolution modes need PSRAM (e.g., AI Thinker/ESP32‑WROVER class). Without it, quality and stability suffer. [Elektroda, khoam, post #19432646]
- Use the Huge APP partition; the compiled sketch is ~2.8–3.0 MB. [Elektroda, khoam, post #19432646]
- Arduino‑ESP32 Core 1.0.6 compiled cleanly in the shared logs. [Elektroda, khoam, post #19432646]
- AI Thinker board may not expose partition options; it still compiles and runs. [Elektroda, khoam, post #19434877]
- For frame timeouts, drop XCLK to 10 MHz (even 5 MHz) and ensure a robust 5 V supply. [Elektroda, khoam, post #19435564]
Where can I get a reliable ESP32‑CAM sketch for viewing in a browser?
Try the easytarget/esp32-cam-webserver project recommended in the thread. It provides a ready web interface and works with Arduino IDE. [Elektroda, khoam, post #19429271]
Can I load that example directly in the Arduino IDE?
Yes. The same example from the link can be loaded using the Arduino IDE; follow the linked guide’s steps to upload. [Elektroda, inot, post #19432744]
How do I fix “esp_camera.h missing” or duplicate type errors?
Do not copy esp_camera.h into your sketch. Install the ESP32 core and remove any local esp_camera.h. “The file esp_camera.h should not be in this project.” [Elektroda, khoam, post #19434877]
Which board settings unlock higher resolutions without stutter?
Select an ESP32 board with PSRAM (e.g., AI Thinker). “Make sure that you have either selected ESP32 AI Thinker, or another board which has PSRAM enabled.” This enables high‑resolution camera modes. [Elektroda, khoam, post #19432646]
Which partition scheme should I choose for ESP32‑CAM?
Use the Huge APP scheme because the sketch is large. One build used 2,814,582 bytes (89%), leaving little headroom on smaller partitions. [Elektroda, khoam, post #19432646]
How do I fix “esp_camera_fb_get(): Failed to get the frame on time!”?
Lower the camera XCLK to 10 MHz; test 5 MHz if needed. Verify a strong 5 V supply to the board. If it still fails, the camera module may be marginal. [Elektroda, khoam, post #19435564]
How do I change the camera XCLK frequency to 10 MHz?
- Open esp32-cam-webserver.ino and find camera_config_t.
- Set config.xclk_freq_hz = 10000000 (try 5000000 if needed).
- Rebuild and upload the sketch, then test streaming again. [Elektroda, khoam, post #19435564]
Why do I get a blank image even though the web page loads?
The UI can load while the sensor times out. Reduce XCLK to 10 MHz, check power stability, and suspect a weak sensor if issues persist. [Elektroda, khoam, post #19435564]
Which Arduino‑ESP32 core version worked in the thread?
Version 1.0.6 compiled cleanly in the shared logs for the ESP32‑CAM webserver example. [Elektroda, khoam, post #19432646]
Do I need a custom myconfig.h for the webserver sketch?
No. The contributor built the project without creating a custom myconfig.h and it compiled successfully. [Elektroda, khoam, post #19432646]
I don’t see partition options for AI Thinker—Is that normal?
Yes. That board profile may not expose partition choices, yet the sketch still compiles and runs fine. [Elektroda, khoam, post #19434877]
Could my camera module be defective if timeouts persist?
Yes. After power and XCLK checks, persistent timeouts point to sensor quality. “More likely the camcorder is of poor quality.” [Elektroda, khoam, post #19435564]