Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ESP32-S3-WROOM CAM development board is just showing a blank video on OV5640 camera. #10792

Open
1 task done
SaadKhan10000 opened this issue Dec 31, 2024 · 4 comments
Open
1 task done

Comments

@SaadKhan10000
Copy link

Board

ESP32-S3-WROOM-1-N16R8 CAM development board

Device Description

A camera interface and sd card interface is attached to the development board.
Screenshot_2024-12-29-15-38-25-699_com daraz android

Hardware Configuration

Only OV5640 camera is attached

Version

latest master (checkout manually)

IDE Name

Arduino IDE

Operating System

Windows 10

Flash frequency

80Mhz

PSRAM enabled

yes

Upload speed

115200

Description

The module is working good with OV2640 camera but not working with OV5640 canmera, even I have checked 2 new cameras. In the streaming of camera example only blank image/video is shown

Sketch

/**********************************************************************
  Filename    : Camera Web Server
  Description : The camera images captured by the ESP32S3 are displayed on the web page.
  Auther      : www.freenove.com
  Modification: 2024/07/01
**********************************************************************/
#include "esp_camera.h"
#include <WiFi.h>

// ===================
// Select camera model
// ===================
//#define CAMERA_MODEL_WROVER_KIT // Has PSRAM
//#define CAMERA_MODEL_ESP_EYE // Has PSRAM
#define CAMERA_MODEL_ESP32S3_EYE // Has PSRAM
//#define CAMERA_MODEL_M5STACK_PSRAM // Has PSRAM
//#define CAMERA_MODEL_M5STACK_V2_PSRAM // M5Camera version B Has PSRAM
//#define CAMERA_MODEL_M5STACK_WIDE // Has PSRAM
//#define CAMERA_MODEL_M5STACK_ESP32CAM // No PSRAM
//#define CAMERA_MODEL_M5STACK_UNITCAM // No PSRAM
//#define CAMERA_MODEL_AI_THINKER // Has PSRAM
//#define CAMERA_MODEL_TTGO_T_JOURNAL // No PSRAM
// ** Espressif Internal Boards **
//#define CAMERA_MODEL_ESP32_CAM_BOARD
//#define CAMERA_MODEL_ESP32S2_CAM_BOARD
//#define CAMERA_MODEL_ESP32S3_CAM_LCD

#include "camera_pins.h"

// ===========================
// Enter your AP credentials
// ===========================
const char* ssid = "ESP32S3-CAM-AP";
const char* password = "123456789";

void startCameraServer();

void setup() {
  Serial.begin(115200);
  Serial.setDebugOutput(true);
  Serial.println();

  camera_config_t config;
  config.ledc_channel = LEDC_CHANNEL_0;
  config.ledc_timer = LEDC_TIMER_0;
  config.pin_d0 = Y2_GPIO_NUM;
  config.pin_d1 = Y3_GPIO_NUM;
  config.pin_d2 = Y4_GPIO_NUM;
  config.pin_d3 = Y5_GPIO_NUM;
  config.pin_d4 = Y6_GPIO_NUM;
  config.pin_d5 = Y7_GPIO_NUM;
  config.pin_d6 = Y8_GPIO_NUM;
  config.pin_d7 = Y9_GPIO_NUM;
  config.pin_xclk = XCLK_GPIO_NUM;
  config.pin_pclk = PCLK_GPIO_NUM;
  config.pin_vsync = VSYNC_GPIO_NUM;
  config.pin_href = HREF_GPIO_NUM;
  config.pin_sccb_sda = SIOD_GPIO_NUM;
  config.pin_sccb_scl = SIOC_GPIO_NUM;
  config.pin_pwdn = PWDN_GPIO_NUM;
  config.pin_reset = RESET_GPIO_NUM;
  config.xclk_freq_hz = 20000000;
  config.frame_size = FRAMESIZE_UXGA;
  config.pixel_format = PIXFORMAT_JPEG; // for streaming
  config.grab_mode = CAMERA_GRAB_WHEN_EMPTY;
  config.fb_location = CAMERA_FB_IN_PSRAM;
  config.jpeg_quality = 12;
  config.fb_count = 1;
  
  if(psramFound()){
    config.jpeg_quality = 10;
    config.fb_count = 2;
    config.grab_mode = CAMERA_GRAB_LATEST;
  } else {
    config.frame_size = FRAMESIZE_SVGA;
    config.fb_location = CAMERA_FB_IN_DRAM;
  }

  esp_err_t err = esp_camera_init(&config);
  if (err != ESP_OK) {
    Serial.printf("Camera init failed with error 0x%x", err);
    return;
  }

  sensor_t * s = esp_camera_sensor_get();
  s->set_vflip(s, 1);
  s->set_brightness(s, 1);
  s->set_saturation(s, 0);

  WiFi.softAP(ssid, password);
  IPAddress IP = WiFi.softAPIP();
  Serial.print("AP IP address: ");
  Serial.println(IP);

  startCameraServer();

  Serial.println("Camera Ready! Connect to the AP and use the IP to access the stream.");
}

void loop() {
  delay(10000);
}

Debug Message

No any debug message or error, the camera initializes but blank image/video is shown

Other Steps to Reproduce

No response

I have checked existing issues, online documentation and the Troubleshooting Guide

  • I confirm I have checked existing issues, online documentation and Troubleshooting guide.
@SaadKhan10000 SaadKhan10000 added the Status: Awaiting triage Issue is waiting for triage label Dec 31, 2024
@Jason2866
Copy link
Collaborator

Jason2866 commented Dec 31, 2024

Wrong board type choosen
#define CAMERA_MODEL_ESP32S3_EYE // Has PSRAM
does not match your board.

@SaadKhan10000
Copy link
Author

SaadKhan10000 commented Jan 1, 2025

So which one should I choose, there is no other option woking for my board I have checked one by one , this is also done by www.freenove.com.
And this code is working for OV2640 camera perfectly but not for OV5640

@SuGlider
Copy link
Collaborator

SuGlider commented Jan 1, 2025

The module is working good with OV2640 camera but not working with OV5640 canmera, even I have checked 2 new cameras. In the streaming of camera example only blank image/video is shown.

This project seems to come from https://github.com/Freenove/Freenove_Development_Kit_for_ESP32_S3/tree/main/Sketches/Sketch_03_CameraWebServer

Have you considered posting an issue there?

The only difference when using OV5640 is at https://github.com/Freenove/Freenove_Development_Kit_for_ESP32_S3/blob/main/Sketches/Sketch_03_CameraWebServer/camera_index.h#L998

This is used in
https://github.com/Freenove/Freenove_Development_Kit_for_ESP32_S3/blob/main/Sketches/Sketch_03_CameraWebServer/app_httpd.cpp#L1186-L1203

@SuGlider SuGlider added Type: Question Only question Type: 3rd party Boards and removed Status: Awaiting triage Issue is waiting for triage labels Jan 1, 2025
@SaadKhan10000
Copy link
Author

SaadKhan10000 commented Jan 2, 2025

Thank you for the suggestion. I’ve tried the steps mentioned, but unfortunately, the issue persists – the OV5640 camera still shows a blank stream. I’ve tested multiple OV5640 cameras and configurations, but the problem remains.

I will proceed to post an issue on the Freenove repository as recommended.

Appreciate the guidance and support!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants