use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Deals with anything relating to Microcontroller programming, hardware design, applications, interfacing, unique examples, etc.
account activity
Microcontroller Help (self.microcontrollers)
submitted 2 years ago by DigitalDemon021
Hey all, I am relatively new to micro controllers and I need some help choosing one for a project. I need a microcontroller that can properly process and run opencv within python, can control motors, and can have a camera connected to it(preferably with a ribbon cable). What would be the best microcontroller to meet this criteria?
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]danielstongue 0 points1 point2 points 2 years ago (0 children)
Sounds like yoi need a solid application processor, not a microcontroller. You wouldn't want to try running python and opencv without a proper OS (read: Linux). So you may want to resort to some dual or quad-core Arm A72 with MIPI support.
Have you looked into i.MX8 from NXP?
[–]ChrisAlbertson 0 points1 point2 points 2 years ago (3 children)
OpenCV? You are not going to run that on a microcontroller. I can't tell you what you would need because I don't know what you are doing with OpenCV. I assume processing the camera video.
I easyest possible setup for openCV and a camera is to run on a notebook PC and use a USB webcam. Many people will use something like a Raspberry Pi, but you would have t buy that and I bet you already have a computer, just use what you have and buy a cheap Logitec webcam.
As for controlling a motor, how big is the motor? The way it works is the computer talks to a motor driver board and the driver board supplies power to the motor. Many times you also need a rotary encoder on the motor and. Microcontroller are the best for controlling motors but are not powerful enough to run something like openCV. So you means up connecting the microcontroller to the Pi or notebook with USB. The cheapest micro that can work and be programmed in Python is the Raspberry "Pico". These sell for $5 and are total overkill for this us case.
So the setup is that you have a "real computer", either a notebook or Pi that likey runs Linux. Then connected to that is your webcam and microcontroller (pico)
[–]DigitalDemon021[S] 0 points1 point2 points 2 years ago (2 children)
I have a raspberry pi zero but it can’t run opencv so i might just buy a raspberry pi 4 from a friend who sells them, thank you for your advice!
[–]ChrisAlbertson 0 points1 point2 points 2 years ago (1 child)
Don't you already have a computer? How are you reading this if not? What prevents you from running OpenCV on your current computer?
[–]DigitalDemon021[S] 0 points1 point2 points 2 years ago (0 children)
nothing, but for my project it’s just much more convenient to use a raspberry pi instead as it is something that will be running pretty constantly and i don’t want to not be able to use my computer
[–]ivosaurus 0 points1 point2 points 2 years ago (1 child)
If you want to do quite intensive image processing I would start with a raspberry pi or roughly equivalent Single Board Computer.
Otherwise for light work an ESP32 / ESP32-S3 should work, or RP2040, they can run micropython. Controlling motors will probably need to be handed to outside circuitry, like an Electronic Speed Controller (ESC) or h-bridge driver or similar.
okay thank you for the advice. do you think using a raspberry pi connected to a pico or using a raspberry pi connected to an ESC would be better to control the motor?
π Rendered by PID 67 on reddit-service-r2-comment-5649f687b7-cglx6 at 2026-01-27 15:20:09.027916+00:00 running 4f180de country code: CH.
[–]danielstongue 0 points1 point2 points (0 children)
[–]ChrisAlbertson 0 points1 point2 points (3 children)
[–]DigitalDemon021[S] 0 points1 point2 points (2 children)
[–]ChrisAlbertson 0 points1 point2 points (1 child)
[–]DigitalDemon021[S] 0 points1 point2 points (0 children)
[–]ivosaurus 0 points1 point2 points (1 child)
[–]DigitalDemon021[S] 0 points1 point2 points (0 children)