Noob in need of help: opencv project

Hi everyone, i first came to know arduino about a week ago and my knowledge on the matter is limited to what you can find in paul mcwhorter' s lessons ( i just finished his "course" today), so i hope you ll excuse me if some things i say and ask may not make sense. I found an extensive set of lessons about opencv and before going into them i was wondering if it s possible to have a bluetooth cam connected to my pc, analyze the recorded image with opencv and then remotely send data (using a bluetooth or wifi module (?) as a receiver ) to the arduino, which would control some servos and steppers using the aforesaid data. Everything (cam and arduino) must be mobile, and not physically connected to the pc. Thanks in advance to everyone!

It's surely doable but calls for significant PC work.
The BT communication PC - Arduino is the second major part.
The third part would be the Arduino handling the hardware.

Where do You want to start?

1 Like

When you say significant pc work, do you mean a vast amount of coding to be done or a heavy workload for the pc to process? As for where i d like to start: i m confident controlling the servos and steppers with Arduino will not be much of an hassle, as i ve already done it before. so my starting point would be to learn how to process the camera feed with opecv and, since i found a very detailed course, i m not too preoccupied about it. my main problem comes from the remote communication between pc and Arduino, since (probably cause i searched for info in the wrong places) i know nothing about this matter.

As you want to have a wireless connection between PC and microcontroller.
There are other microcontrollers that can be programmed with the arduino-IDE just the same way as orginal Arduinos which have WiFi on board.

Namely the ESP32. An ESP32 can do all the things an Arduino Uno can do.
Has more flash
has more RAM
can create step-pulses for stepper-motors at higher frequencies than an Arduino Uno
cost less than an original Arduino Uno
in my opinion a real arduino killer

The ESP32 can even act as the Access-point that creates its own WiFi-network your PC can connect to.
Sending Data between PC and microcontroller can be done with UDP or TCP pretty easy

additionally the EPS32 has its own protocoll to send data wireless pretty fast.
This is called ESP-NOW. This would require one ESP32 connected to your PC via USB
Sending the data over the virtual COMport to the first ESP32 and forwardning the data to the second ESP32 through ESP-NOW

best regards Stefan

1 Like

Thanks a lot for your insight! So, as i understand, i d need 2 esp32: one physically connected to the pc, that would receive the opencv data through cable and then act as a communication device (using the espnow protocol), the other, being the mobile one, in charge of processing the data and managing the motors.

No, not really. Rather system work, finding the right programs/systems needed. Not a subject for me.
Processing camera data calls for programs like Face recognition. That's one part of the work I try to point out.

1 Like

If your PC has WiFi himself a SINGLE ESP32 is sufficient where this SINGLE ESP32 acts as

  • the WiFi-Access-Point that creates the WiFi-network
  • sends and receives data via UDP-protocol or via TCP-protocol
1 Like

For some reason i thought your second option was the preferred one. i think i ll work with just one esp then! thanks again, you ve been really helpful. have a good rest of the day

There are cheap ESP32 modules that have a camera, search for "ESP32 CAM".

Just as example:

https://de.aliexpress.com/item/1005002822682231.html

1 Like

thank you for the suggestion. you reckon it d be easier to use this instead of an external cam? i opted for an "off the board" cam since i was concerned about the quality of the image

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.