Video camera recommendation for a ESP32 based robot

Status
Not open for further replies.

laukejas

New Member
Hi,

I am designing a small robot with ESP32 at it's core. It will have two modes of operation - automatic (navigating with an ultrasound and other sensors), and a manual mode (controlled remotely via Wi-Fi). For manual control, I want to have a video camera feed from the robot over Wi-Fi. I've seen several similar projects using OV7670, a cheap camera that is well documented for usage with ESP32. Problem is, this camera requires a ton of pins, and since my robot has a lot of other sensors and modules to control, I don't have that many. I want to do this without port expanders, as these introduce other complexities that I want to avoid.

So, what I'm looking for is a camera module that would work with fewer pins. As I understand it, I2C protocol is too slow for anything but a few frames per second at a very low resolution. Maybe there are some SPI cameras out there? I found some made by ArduCam, but these are very expensive and very bulky. I'm looking for something small (4x4cm at most), cheap (under $15) and that would work using no more than 6 pins on ESP32. I don't need great image quality or 24 frames per second - just enough to make real-time control of the robot possible (maybe 10 fps).

Can you name some options, please?
 
Easiest, and cheapest, option - use two ESP32's, one for the robot, the other for the camera.
 
Easiest, and cheapest, option - use two ESP32's, one for the robot, the other for the camera.

I have thought of that, but battery drain is a consideration, and two ESP's wouldn't fit into this robot anyway... I want to make this with a single microcontroller.
 
I have thought of that, but battery drain is a consideration, and two ESP's wouldn't fit into this robot anyway... I want to make this with a single microcontroller.

In which case you're probably struggling, video cameras need high speed interfaces, which is why they mostly use parallel connections and plenty of pins.
 
In which case you're probably struggling, video cameras need high speed interfaces, which is why they mostly use parallel connections and plenty of pins.

Well, yes, but as I said, I don't need 4K at 60 fps here 10 frames per second at, say, 352 x 240 (240p) would be more than enough for navigation. And since there is at least one line of cameras (ArduCam) that interface through SPI, I thought there must be other SPI interface cameras as well, that might incidentally be cheaper and smaller (with a worse quality, that I would be okay with).

P.S. Maybe it would be possible to have another microcontroller (maybe Atmega?) that would handle the video stream and output it via SPI to ESP32? I am not sure if Atmega is up to such task, or if this is at all doable.
 
Could you be more specific, please? As I said the ArduCam is too bulky for my robot. What (expensive) alternatives are there?

I've no idea, but as it's an unusual requirement it's likely to be expensive, assuming you can even source one.
 
The Raspberry Pi boards have a dedicated camera connector and both those and the matching camera are relatively small.
Not exactly cheap, but not crazy prices either..

eg. https://thepihut.com/products/raspberry-pi-camera-module

The Pi has plenty of CPU power for video processing and can take a suitable micro WiFi module in one of the USB sockets, so it gives you a lot of facilities in one go.

No idea if it would be physically compatible, just something to consider.
 

Thank you for the suggestion, but as far as I understand from that link, this isn't SPI or I2C interface camera either? It would still require a lot of pins, correct? I want to build this robot with ESP32, not Raspberry, because of size and power consumption considerations. Is it possible to interface that camera with ESP32 without using up more than 6 pins?
 
Yeah, well, I guess that counts this camera out... :/ But thank you for the suggestion anyway!

At least it uses less pins than the ESP32 camera - but I suspect the ESP32 wouldn't be powerful enough anyway, the PI is a full computer, not just a micro-controller.
 
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…