logo elektroda
logo elektroda
X
logo elektroda

Esp32-DevKitC-VE + ArduCam OV2640: Image Interference and Resolution Issues

Mires98 1287 8
ADVERTISEMENT
Treść została przetłumaczona polish » english Zobacz oryginalną wersję tematu
  • #1 19963563
    Mires98
    Level 6  
    Hello,
    I have a problem with the image from an ArduCam OV2640 camera (exactly this one: https://botland.com.pl/kamery-do-arduino-i-raspberry-pi/6837-modul-kamery-arducam-ov2640-2mpx-1600x1200px-60fps-z-obiektywem-ls-4011-m12x05-5904422349790.html ).
    I use a ready-made example in the Arduino IDE on the ESP32 (https://github.com/espressif/arduino-esp32/tree/master/libraries/ESP32/examples/Camera/CameraWebServer ).
    The image is transmitted over Wi-Fi, with no jams or delays. The problem is the image where there is interference (black, blinking spots and horizontal lines).
    Esp32-DevKitC-VE + ArduCam OV2640: Image Interference and Resolution Issues .
    The ESP32 I am using is ESP32-DevKitC-VE (WROVER-E). The only thing that helps a little to reduce the interference is lowering the XCLK clock with a consequent drop in FPS, but it doesn't completely solve the problem.
    The other issue is the resolution of the camera. It should work up to 1600 x 1200 and its max is 800×600 with a higher one the image does not display. Connecting the camera according to camera_pins.h (CAMERA_MODEL_WROVER_KIT) in the example program.
    I'm looking for some suggestions, suggestions to solve the problems. I'm just starting to play with cameras and don't really grasp too much about certain issues yet. Thank you in advance for your reply.
  • ADVERTISEMENT
  • #2 19964156
    khoam
    Level 42  
    Mires98 wrote:
    Esp32 I'm using is ESP32-DevKitC-VE (WROVER-E).
    .
    I don't think this module has the ability to connect an external antenna, which is what I would do first.

    Mires98 wrote:
    It should work up to 1600 x 1200 and its max is 800×600 at higher than that, the image doesn't display.

    It looks as if the PSRAM in the ESP is not detected and then the FRAMESIZE_UXGA mode will not be available. This needs to be checked.

    You can also try modifying the following line in the CameraWebServer.ino code ( Link )
    Code: C / C++
    Log in, to see the code
    on:
    Code: C / C++
    Log in, to see the code
    .
    and check that after restarting the ESP, the camera is operating in the highest resolution mode.
  • #3 19964390
    Mires98
    Level 6  
    I got the ESP version wrong I have an ESP32-DEVKITC-VIE with a built in I-PEX connector, I will solder a resistor from the built in antenna to the I-PEX and check although I doubt it is a range issue, I have the router 1m from the board but it is worth checking.

    I have modified the code and it throws errors like this:
    Esp32-DevKitC-VE + ArduCam OV2640: Image Interference and Resolution Issues .
    After which there is a reboot always above SVGA. The board has 8 MB PSRAM it should embrace UXGA. An ESP32 CAM having 4 MB PSRAM on the same program can handle it at nobody FPS.

    PSRAM I seem to have enabled in the Arduino IDE:
    Esp32-DevKitC-VE + ArduCam OV2640: Image Interference and Resolution Issues .

    If I disable it and the rami buffer uses DRAM is the max resolution then the VGA continues to pop up.
    I also tested on ESP32-DevKitC-32E V4 (ESP-WROOM-32E) with DRAM and it is the same.
    I found a similar project https://www.youtube.com/watch?v=qsBIUTUxpEM&ab_channel=anErik .
    The resolution will somehow survive, as overall VGA/SVGA is enough for me. The camera will be used for a Wi-Fi controlled robot with a smartphone. What I care most about is to cancel out image noise.
  • ADVERTISEMENT
  • #4 19964435
    khoam
    Level 42  
    Mires98 wrote:
    I modified the code and it throws these errors:
    .
    At what XCLK setting?

    Added after 2 [minutes]: .

    Mires98 wrote:
    I'll check though I doubt it's a coverage issue, I have the router 1m from the board but it's worth checking
    .
    It's not so much about range as it is about interference in the pcb antenna. With "normal" WiFi use this does not matter much, but already when transmitting large blocks of data they can affect the image quality.
  • #5 19965023
    Mires98
    Level 6  
    khoam wrote:
    At what XCLK setting?
    .
    At 20 MHz. I tested 10 and 6 more but it is still the same.
    khoam wrote:
    It's not so much the range as the interference in the pcb antenna.

    I fitted an external antenna but the interference is the same, nothing helped.
    I read on https://github.com/espressif/esp32-camera supported SoC for ESP32 are: ESP32, ESP32-S2, ESP32-S3 maybe this is the cause of the problem, no support for ESP32-WROVER-E.
  • ADVERTISEMENT
  • #6 19965030
    khoam
    Level 42  
    Mires98 wrote:
    At 20 Mhz. I tested another 10 and 6 but it is still the same.
    .
    For FRAMESIZE_UXGA mode there should be no more than 10 MHz.

    Mires98 wrote:
    I read on https://github.com/espressif/esp32-camera the supported Soc for ESP32 are : ESP32, ESP32-S2, ESP32-S3 maybe this is the cause of the problem, no support for ESP32-WROVER-E.

    ESP32-WROVER-E includes ESP32, so it should walk properly. What remains is the quality of the camera itself and the connections between the camera module and the board.

    Mires98 wrote:
    I installed an external antenna but the interference is the same, nothing helped.
    .
    Have you moved the jumper on the board to redirect the signal to the external antenna?

    Added after 2 [hours] 35 [minutes]:

    Mires98 wrote:
    I use a ready-made example in the Arduino IDE on ESP32 (https://github.com/espressif/arduino-esp32/tree/master/libraries/ESP32/examples/Camera/CameraWebServer).
    .
    In line 60 of this program I suggest modifying to:
    Code: C / C++
    Log in, to see the code
  • #7 21467966
    rysin
    Level 12  
    @khoam In which file should I modify, as I have the same problem?
  • #8 21515640
    Mocny Amper
    Level 10  
    khoam wrote:
    .
    For FRAMESIZE_UXGA mode there should be no more than 10 MHz.
    .

    Why? I'm using 1600x1200 with a 20MHz clock in my project, it laughs without a problem, as long as 5 FPS can be called laughing. The camera is on 15cm tape. But I'm not streaming video, just writing to the card. Well, and my board is LilyGO TTGO Camera Plus, because ESP-CAM is suitable for everything but the camera.

    The 800x600 only chapter indicates problems with lack of memory. Is your project not trying to do e.g. image frame decompression? Because 1600x1200 RGB888 is nowhere to be squeezed into memory, and don't let 8MB fool you, because you can only have 4MB at a time.
  • ADVERTISEMENT
  • #9 21515734
    khoam
    Level 42  
    Mocny Amper wrote:
    Why?
    .
    I will answer in three years.

Topic summary

The discussion addresses image interference and resolution limitations when using an ArduCam OV2640 camera module with an ESP32-DevKitC-VE (WROVER-E) board running the ESP32 CameraWebServer example. The main issues are black blinking spots and horizontal lines in the transmitted image, and inability to achieve the camera's maximum 1600x1200 resolution, with the system defaulting to 800x600 or lower. Attempts to reduce interference by lowering the XCLK clock frequency (tested at 20 MHz, 10 MHz, and 6 MHz) only partially mitigate the problem. Using an external antenna connected via I-PEX did not improve interference, suggesting the issue may stem from PCB antenna interference or camera module quality. The ESP32-WROVER-E includes 8 MB PSRAM, which should support FRAMESIZE_UXGA (1600x1200), but errors occur when setting this resolution, possibly due to PSRAM detection or memory allocation issues. Disabling PSRAM results in fallback to VGA resolution. Modifications to the CameraWebServer code, such as adjusting frame size settings and framebuffer count, were suggested. It was noted that ESP32-WROVER-E is supported by the ESP32 camera library, but memory constraints and image processing demands (e.g., RGB888 format) may limit achievable resolution and frame rate. Alternative boards like LilyGO TTGO Camera Plus were mentioned as more suitable for high-resolution camera applications. Overall, the problem likely involves a combination of PSRAM configuration, camera module quality, antenna interference, and memory limitations affecting image quality and maximum resolution.
Summary generated by the language model.
ADVERTISEMENT