-
Notifications
You must be signed in to change notification settings - Fork 615
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
Any support for ov5640 possible? #18
Comments
+1 for this I know there is OV3660 support in the corresponding branch (https://github.com/espressif/esp32-camera/tree/ov3660-support), but the OV5640 is more widely available on Taobao/AliExpress and supports 30fps @ 1080p resolution. Linux driver for reference: https://github.com/torvalds/linux/blob/master/drivers/media/i2c/ov5640.c ArduCAM code: https://github.com/ArduCAM/Arduino/blob/master/ArduCAM/ov5640_regs.h |
don't believe frame per second numbers like this :) while the camera might be able to do it, it does not mean that the ESP can handle it :) this is mainly where we hit a wall. Plus, I think we will have enough ov3660 cameras on the market soon :P |
OK, that makes sense - looking forward to see those OV3660 sensors/updated ESP-EYE board 👍 |
Hi great. Waiting for the ov3660 modules. And more thing, there is an micro-rtsp implementation for esp32 on platformio. Can it be ported/implemented to esp-idf? Thanks a lot :) |
@searchingforcode ADF will (very?) soon have SIP/VoIP added: espressif/esp-adf#106 / espressif/esp-adf#81 - I guess it will be possible to add a MJPEG video stream in there as well, which will be more powerful than RTSP. |
MJPEG we already do :) example is in ESP-WHO repository. |
I am aware of that, I meant MJPEG + (microphone) audio combined over SIP so it's possible to create a true "webcam" video+audio stream. |
Out SIP engineer has left the company, but I will poke arround and see if I can finish it. That said, SIP uses h263 and h264 for video transmission. Voice options are a couple, but all feasible. h263/h264 on ESP32 .... not a thing yet and maybe never a thing :) |
I dont think h263/h264 is feasible on esp32. Any idea about streaming to a cloud of this mjpeg streaming? |
I thought SIP allowed different video codecs such as MJPEG as well, but I might be mistaken. Anyway, having the SIP support in ADF would be awesome. |
for actual streaming to a server, MJPEG should be encapsulated in some sort of video container in order to keep the timing between frames correct, else you will watch a video with speed comparable to the speed of the connection to your server :) h263/h264 and other good video compressions work by having multiple frames at the same time and transmitting the differences (simplified). The ESP32 does not have enough memory or speed to acquire and keep a few frames in RGB format and then calculate and transmit their differences. Maybe some really low res thing can be done... but not 100% sure. |
@Niek honestly, I think that SIP should be it's own component. We will not use the compressions used by ADF, because 90% of SIPs out there use G711 audio compression (100% doable on ESP32). |
Hi @me-no-dev are there any higher resolution cameras that may be better candidates than OV5640? I am looking to add more resolution and may have time to work on a driver :) |
@asmalldev honestly I am not sure if it makes sense to look at higher res cameras than 5MP. We do not have enough RAM available :) The sensor must support JPEG compression or there is no chance at all even for 3MP sensors :) |
@me-no-dev thanks for the input :) If the limiting factor is the RAM space, would it be possible to interface with higher resolution cameras by adding more SPI/PSRAM to the hardware? I think this could be interesting for projects that need high resolution + low power but don't have frame rate requirements/ only need to take still images. |
You are limited to 4MB PSRAM access at a time, so that is the maximum. |
Ah right, bank switching stuff is needed to access the higher memory. Thanks for the info, @me-no-dev |
I would be happier with any camera doing autofocus myself. |
Autofocus is a feature of the camera itself. If it can do it and provides control, it can be added. |
My setup is: I hope that the bare-bones SDK will work better, as it just could be an outdated version in Arduino-ESP32. I've recently downloaded the SDK, etc and will try the bare metal example as this issue is possibly already solved. Project goal is to use a couple of these for vision. It will be nice to have them wireless v.s. adding more cabling. The main processing and computation will be using OpenCV on an Android tablet or Linux PC. I haven't decided which yet. |
Happens on the bare-metal variant as well, providing I turn off the debugging. Has to be a DMA conflict. |
What XCLK frequency are you setting? |
20MHz. |
I have not seen any issues with 20MHz XCLK and OV2640. Have tested quite a few samples. Some were bad, but presented in another way. You can set the frame buffers to 1, which will start I2S and DMA when you request a frame and then stop it once done. That will limit the FPS by half though. |
Not worried about FPS at this point. |
Still happens with a singular fb. :-( Any other good ideas? |
try another sensor? |
Have 4 of them, tried 2, they both the same thing. :-/ |
Tried 4 cams, on 4 boards, all showing same issue. |
@tototrix If you are going to use the camera demo application, you need to install the idf together with the bin tools. |
@jjsch-dev Thank you. Regarding to ESP version, which one should i use ? |
@tototrix you need to use a supported ESP32-Camera board (there are a few out there). ESP8266 can not work with cameras. |
I have the ESP-EYE board wich work pretty well. For my needs i want to get 5 MP photos with the OV5640 sensor. I have the OV5640 waveshare board. |
Is ov5642 compatible? Can exposure be controlled from the library to increase framerate? |
@me-no-dev I Download your new March 11, 2020 version of OV5640. Below I show you the captures in JPG format in VGA size. This is a capture in RGB565 format in QQVGA size, with problems in the PLL. |
@jjsch-dev thanks for testing! All is fixed and support is now in master :) |
something wrong with your project setup. Don't know what cam demo you are talking about... anyway, not an issue with the driver :) |
I speak about the following project: Have you an other one ? |
maybe you should ask there :) please do not create issues just to ask for examples ;) this is an issue tracker for issues with the driver and not with user issues. |
Hi @tototrix sorry for the late answer. Today I updated the esp32-cam-demo repository with the CMakeLists.txt files. |
@me-no-dev well I got my board finally, do you mind if you can direct me to any doc or info on how I can add this driver to Arduino IDE (I see the repo [https://github.com/espressif/arduino-esp32/releases ] is last updated on Oct 2019) . Sorry for the hand holding here I am new to this ESP32 stuff :) |
@misghna if you are novice, you should wait for me to update the Arduino repo with the new driver. If you can not wait, https://github.com/espressif/esp32-arduino-lib-builder |
Okay, I will wait. I hope you will update it soon :) |
@me-no-dev, hi I have played with the ov5640 this week but I see vertical lines in the images(still-JPEG picture),and the problem magnifies as the resolution increases. I have tried two cameras, but unfortunately, the result is the same. |
5640 really do not like less than perfect light :D Drop the XCLK to 10/15 MHz and they will dissapear |
Add 100uF tantalum caps on +5 and +3.3v, that solved it for me. |
In the web server example you can adjust quite a few things. Maybe try to adjust the gamma sliders slightly. |
@NathanKuo0821 there is really nothing definitive that I can recommend. Do you have other OV5460 sensors there to try? I do not see that same effect on the sensors I currently have, but I did see them while developing the driver. |
@me-no-dev Nathan Kuo |
I have a total of 3 sensors here. They look identical and came from a customer (no idea where they got them from). Sensors look just like any other OV2460 or OV3360 sensors that I have seen. Marked as 5460 on the flat flex cable |
@me-no-dev well I have tried with several sensors as well but the result is the same, so maybe its the board some capacitor value like they mentioned above? if you can share the board you are using I can try and compare my circuit with the one which is working and report back. |
I am using ESP-EYEs, M5Stack cameras and a board that we use for camera development. I did not find a difference between the boards I personally have and we have poked at power before. Honestly I have no idea what is causing the artefacts. |
Oscilloscope showed me that it was a power problem. It looked similar, with the stripes, but even worse. |
Hi is it possible to integrate ov5640 driver? I found drivers of ov5640 for linux. Can esp32 process ov5640 images?
Thanks
The text was updated successfully, but these errors were encountered: