ESP32 CAM Projects

RDK X5 USB and MIPI Camera AI: The Ultimate Guide to Multi-Camera Vision Without Accelerators

Last Updated on February 27, 2026 by Engr. Shahzada Fahad

Description:

What if I told you that you can connect both MIPI and USB cameras to the RDK X5 and run high-performance AI in real-time without any external AI accelerator?

Complete RDK X5 USB and MIPI camera AI setup for real-time edge processing without external hardware.

In this article, I will explain how to individually configure and use USB and MIPI cameras on the RDK X5.

You will also learn how to run both cameras at the same time, without any conflicts.

Let’s say YOLOv10 on the front camera and a completely different AI model on the rear camera.

Ideal for robotics, surveillance, and automotive AI applications.




Amazon Links:

RDK X5 Development Board

RDK Stereo Camera

High-Quality USB HD Cams

HDMI Screen

Keyboard and Mouse

Other Tools and Components:

ESP32 WiFi + Bluetooth Module (Recommended)

Arduino Nano USB C type (Recommended)

*Please Note: These are affiliate links. I may make a commission if you buy the components through these links. I would appreciate your support in this way!

Why RDK X5 Does Not Need an External AI Accelerator

In the previous article, you already saw what the RDK X5 is capable of.

But honestly; that was just a small glimpse.

The real power of the RDK X5 is this:

  • You don’t need any external AI accelerator.
  • You don’t need an AI HAT like Raspberry Pi.

The RDK X5 already has an onboard BPU “Brain Processing Unit”.

That means AI runs directly on the board, out of the box.

No extra hardware.

No complicated setup.

I have already demonstrated this in my previous articles and videos.

Using the RDK X5, you can build high-level AI projects very easily.

For example:

  • Trash detection with high accuracy
  • Fall detection
  • A gym-level squats counter
  • Monitoring whether a chair or bed is empty or occupied
  • Smart CCTV system that starts recording automatically when a person stays in a specific area for a certain time
  • “Don’t touch your face” detection
  • And even Advanced Driver Assistance Systems “ADAS” using YOLOv10



Understanding How RDK X5 Sees the World

Before you can run YOLO, computer vision, or any AI model, you need to understand how the RDK X5 sees the world.

USB and MIPI are the primary and officially supported camera interfaces on the RDK X5; and they are more than enough for advanced AI projects.

RDK Stereo Camera and MIPI CSI Interface

Dual-lens stereo camera system using the RDK X5 USB and MIPI camera AI development board

The RDK Stereo Camera Module designed for the RDK X5 actually contains two separate image sensors, and both connect via MIPI CSI interfaces on the board.

That means the stereo camera uses two MIPI camera connections simultaneously to capture left and right images for depth and stereo vision.

It’s a bit expensive than a USB camera, but it’s absolutely worth it.



Why I Am Covering Both USB and MIPI Cameras

I honestly don’t know which camera you have; or if you already have both cameras.

Dual input setup featuring both a USB camera and MIPI camera on the RDK X5 USB and MIPI camera AI.

So I decided to show you how to use both of them properly.

This way, you can follow along no matter which camera you are using.

And in the upcoming videos and articles, I will be using the stereo camera for more advanced projects.

So, let’s start with the USB camera first.

USB Camera Requirements and Recommendations

USB camera interface connected to the RDK X5 USB and MIPI camera AI for video input.

You don’t need to buy any fancy or expensive webcam for this.

Almost any USB webcam will work.

But of course, if you can afford it, I would recommend going for a good-quality HD webcam; because better image quality always gives better AI results.

The good thing is, USB cameras are easy to use, just plug them in, and you are ready to go.

Demonstration of a USB camera operating with the RDK X5 USB and MIPI camera AI board



Downloading the Camera Script Folder

You can download this folder from my Patreon page.

Python-based multi-camera integration for the RDK X5 USB and MIPI camera AI project.

After downloading it, simply copy and paste the folder onto your desktop.

Inside this folder, you will find two more folders.

Python programming for managing dual inputs on the RDK X5 USB and MIPI camera AI.

One folder contains scripts related to the MIPI camera, and the other folder contains scripts for the USB camera.




USB Camera with RDK X5:

So, let’s go ahead and open the USB camera folder first.

Specific Python script for capturing USB camera frames on the RDK X5 USB and MIPI camera AI.

First, let’s open this basic python script.

RDK X5 USB Camera Basic Script:

This script is using the model called fcos_512x512_nv12.bin.

If you go to the same path on your RDK X5…  /app/model/basic/ … You will find many more AI models available.

Running pre-trained models on the RDK X5 USB and MIPI camera AI edge device.

We will use these models later in this series to build different and more advanced projects.

But for now, let’s stick with this model; because it’s a really important one.



So, what is fcos_512x512_nv12.bin?

This is a real-time object detection model. It allows the RDK X5 to see and understand objects in front of the camera.

Using this model, you can:

  • Detect people
  • Detect common objects
  • Track movement in real time
  • Trigger actions based on detection results

For example:

  • Turn ON a light when a person appears
  • Start video recording automatically
  • Control a robot when an object is detected
  • Build smart surveillance or monitoring systems

The 512×512 resolution gives a good balance between accuracy and speed, and the NV12 format is optimized for the RDK X5 hardware, so everything runs fast and smoothly on the onboard BPU.

This makes it perfect for beginners, and also powerful enough for real-world AI projects.

To run this script, make sure you are inside the same folder.

Right-click your mouse and select “Open Terminal Here”.

Then type this command:

Terminal execution of a Python script on the RDK X5 USB and MIPI camera AI system.

By default, this model detects all supported objects.

And by “all objects,” I mean the objects that are available in the COCO class list.

Real-time image processing workflow on the RDK X5 USB and MIPI camera AI with USB input.

If you want to detect your own custom object, you will need to train your own dataset and model.

As you can see on the screen, the model is already creating a bounding box around me. And I have full control over its thickness and font size of the label.

I will explain and adjust all of these settings in just a moment.

Let’s open this other script.



Capturing an Image on RDK X5 via USB Camera:

let me quickly explain what this script is doing. First, it imports some basic libraries like OpenCV, OS, and SYS, which are used to access the USB camera, interact with the system, and handle input arguments. Then, the script automatically checks which USB camera is connected to the system by scanning the /dev directory, finding all video devices, and selecting the first available USB camera that can be opened successfully. This is very useful because you don’t need to manually specify the camera device every time.

After that, the script opens the USB camera using OpenCV and sets some important parameters, such as the MJPEG format, 30 frames per second, and a Full HD resolution of 1920 by 1080, ensuring good image quality.

Finally, it captures a single frame from the USB camera and saves it as an image file called img.jpg. Overall, this script is mainly used to test the USB camera, verify that it is working properly, and confirm that the camera is correctly detected by the system before running any AI models on top of it.

Let’s run this script.

Type  this command:

As you can see, the moment I ran this script, it automatically captured this image.

RDK X5 USB and MIPI camera AI snapshot function from a USB camera source.

Let’s open this other script.



Tracking Object on RDK X5 Via USB Camera:

I made some major improvements to the code, making it far more practical. Now, instead of detecting everything, I can track only the object I want. All we need to do is simply write the name of the object, and the model will focus only on that specific object.

Apart from this, if you want to make the font size smaller or larger, you can just change this value.

And if you want to increase or decrease the bounding box thickness, you can adjust this value as well.

On top of that, we also draw a green dot on the detected object to clearly mark it, and you can easily control the size of this dot by changing this value here.

This gives you full control over how the detection looks on the screen and makes it much easier to customize the output according to your project requirements.

To control a servo motor or a stepper motor, I have also extracted the X and Y coordinates of the detected object.

So now, let me run this code

so you can understand it more clearly.

Type this command:

Human tracking with XY coordinates using the RDK X5 USB and MIPI camera AI.

As I move in front of the camera, you can see the system detecting me in real time.

The bounding box follows my movement smoothly, and the green dot stays locked on the detected object.

You can also see the X and Y coordinates updating continuously as I move.

These values change in real time, which means they can be directly used to control a servo, a stepper motor, or any external hardware.

So basically, the camera doesn’t just see the object; It knows where the object is, and that’s what makes this setup so powerful for robotics and automation.




MIPI Camera with RDK X5:

Using MIPI-based stereo cameras for RDK X5 USB and MIPI camera AI depth sensing.

Now, let’s move on to the MIPI camera and start with this basic script.

RDK X5 MIPI Camera Python Script:

In this example, we are using the same model, and by default, it detects all supported objects.

So let me run this script, so you can get a clear idea of how it works.

RDK X5 USB and MIPI camera AI identifying objects via the high-speed MIPI interface.

As you can see, the output looks almost exactly the same.

The only difference is that this time, we are using the MIPI camera instead of the USB camera.

  • Same detection.
  • Same AI power.
  • Just a different camera interface.

Now, let’s open this other script.



Object Detection with XY Co-ordinates RDK X5:

I have made the previous code much more practical in this version.

Using this script, you can specify the exact object you want to detect.

Just like the previous example, I have also extracted the X and Y coordinates of the detected object.

These X-Y values can be used to control servo motors, stepper motors, or trigger other external circuits, making this setup perfect for real-world robotics and automation projects.

Running both the Camera:

This camera is already open, so now let’s open the USB camera as well.

Step-by-step guide for using two cameras on the RDK X5 USB and MIPI camera AI.

As you can see, both cameras are now active at the same time.

And this is where things get really interesting.

Front and rear camera setup for the RDK X5 USB and MIPI camera AI monitoring.

I can run different AI models on each camera.

One camera can be placed at the front, and the other one at the rear.

RDK X5 USB and MIPI camera AI visual data processing pipeline visualization.

This gives you true multi-camera vision.

Front view, rear view; processed simultaneously.

Whether you are building a robot, a smart vehicle, or any advanced AI system, it completely depends on how you want to use it.

Hardware overview of RDK X5 USB and MIPI camera AI camera connectivity options.

The RDK X5 gives you the flexibility; you just decide the logic.

All the scripts used in this article, along with their original source codes, are available for download on my Patreon page.

And in the upcoming articles, we will focus on building fully practical, real-world projects.

So, that’s all for.



Watch Video Tutorial:

RDK X5 Multi-Camera AI: Run Different Models on MIPI and USB | No More Raspberry Pi

 


Discover more from Electronic Clinic

Subscribe to get the latest posts sent to your email.

Engr. Shahzada Fahad

Engr. Shahzada Fahad is an Electrical Engineer with over 15 years of hands-on experience in electronics design, programming, and PCB development. He specializes in microcontrollers (Arduino, ESP32, STM32, Raspberry Pi), robotics, and IoT systems. He is the founder and lead author at Electronic Clinic, dedicated to sharing practical knowledge.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button

Discover more from Electronic Clinic

Subscribe now to keep reading and get access to the full archive.

Continue reading

Electronic Clinic
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.