• Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Video camera recommendation for a ESP32 based robot

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?
 

laukejas

New Member
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.
 

Nigel Goodwin

Super Moderator
Most Helpful Member
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.
 

laukejas

New Member
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.
 

rjenkinsgb

Well-Known Member
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.
 

laukejas

New Member
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?
 

Latest threads

EE World Online Articles

Loading

 
Top