Difference between revisions of "MV Camera on Radxa Boards"
| (12 intermediate revisions by 2 users not shown) | |||
| Line 4: | Line 4: | ||
The MV series and RAW series cameras are cameras designed for AI applications in the industrial field. They use the MIPI CSI-2 interface and are particularly suitable for use with embedded computing platforms. They have rich data formats and triggering features, extremely low latency, high bandwidth, and reliable stability. | The MV series and RAW series cameras are cameras designed for AI applications in the industrial field. They use the MIPI CSI-2 interface and are particularly suitable for use with embedded computing platforms. They have rich data formats and triggering features, extremely low latency, high bandwidth, and reliable stability. | ||
| − | This article takes Radxa's ZERO 3W board as an example to introduce how to connect MV and RAW series cameras to the RK3566/3K3568 system. | + | This article takes Radxa's ZERO 3W/3E board as an example to introduce how to connect MV and RAW series cameras to the RK3566/3K3568 system. |
We provide drivers for the Linux operating system (using Radxa OS Debainas an example). | We provide drivers for the Linux operating system (using Radxa OS Debainas an example). | ||
| Line 47: | Line 47: | ||
|RAW series | |RAW series | ||
|RAW-MIPI-AR0234M | |RAW-MIPI-AR0234M | ||
| + | |Done | ||
| + | |- | ||
| + | |RAW series | ||
| + | |RAW-MIPI-SC535M | ||
|Done | |Done | ||
|} | |} | ||
===Hardware Setup=== | ===Hardware Setup=== | ||
| − | ====Connection of MV series camera and Radxa ZERO 3W==== | + | ====Connection of MV series camera and Radxa ZERO 3W/3E==== |
| − | The MV series cameras require the ADP-MV1 adapter board in order to connect to the Radxa ZERO 3W board. | + | The MV series cameras require the ADP-MV1 adapter board in order to connect to the Radxa ZERO 3W/3E board. |
| − | The ADP-MV1 and Zero 3W are connected to each other using a 15 to 22P FFC cable, taking care that the silver contacts are facing outwards. | + | The ADP-MV1 and Zero 3W/3E are connected to each other using a 15 to 22P FFC cable, taking care that the silver contacts are facing outwards. |
{| class="wikitable" | {| class="wikitable" | ||
!TOP | !TOP | ||
!BOTTOM | !BOTTOM | ||
|- | |- | ||
| − | |[[File:Radxa Zero 3W connect to MV camera.jpg|link=https://wiki.veye.cc/index.php/File:Radxa%20Zero%203W%20connect%20to%20MV%20camera.jpg|alt=|center|thumb|600x600px|Radxa Zero 3W connect to MV camera]] | + | |[[File:Radxa Zero 3W connect to MV camera.jpg|link=https://wiki.veye.cc/index.php/File:Radxa%20Zero%203W%20connect%20to%20MV%20camera.jpg|alt=|center|thumb|600x600px|Radxa Zero 3W/3E connect to MV camera]] |
| − | |[[File:Radxa Zero 3W connect to MV camera 2.jpg|link=https://wiki.veye.cc/index.php/File:Radxa%20Zero%203W%20connect%20to%20MV%20camera%202.jpg|alt=|center|thumb|600x600px|Radxa Zero 3W connect to MV camera 2]] | + | |[[File:Radxa Zero 3W connect to MV camera 2.jpg|link=https://wiki.veye.cc/index.php/File:Radxa%20Zero%203W%20connect%20to%20MV%20camera%202.jpg|alt=|center|thumb|600x600px|Radxa Zero 3W/3E connect to MV camera 2]] |
|} | |} | ||
=====Connection of RAW-MIPI-SC132M and ADP-MV2===== | =====Connection of RAW-MIPI-SC132M and ADP-MV2===== | ||
| Line 67: | Line 71: | ||
!BOTTOM | !BOTTOM | ||
|- | |- | ||
| − | |[[File:Radxa Zero 3W connect to RAW-MIPI-SC132M.jpg|link=https://wiki.veye.cc/index.php/File:Radxa%20Zero%203W%20connect%20to%20RAW-MIPI-SC132M.jpg|alt=|center|thumb|600x600px|Radxa Zero 3W connect to RAW-MIPI-SC132M]] | + | |[[File:Radxa Zero 3W connect to RAW-MIPI-SC132M.jpg|link=https://wiki.veye.cc/index.php/File:Radxa%20Zero%203W%20connect%20to%20RAW-MIPI-SC132M.jpg|alt=|center|thumb|600x600px|Radxa Zero 3W/3E connect to RAW-MIPI-SC132M]] |
| − | |[[File:Radxa Zero 3W connect to RAW-MIPI-SC132M 2.jpg|link=https://wiki.veye.cc/index.php/File:Radxa%20Zero%203W%20connect%20to%20RAW-MIPI-SC132M%202.jpg|alt=|center|thumb|600x600px|Radxa Zero 3W connect to RAW-MIPI-SC132M 2]] | + | |[[File:Radxa Zero 3W connect to RAW-MIPI-SC132M 2.jpg|link=https://wiki.veye.cc/index.php/File:Radxa%20Zero%203W%20connect%20to%20RAW-MIPI-SC132M%202.jpg|alt=|center|thumb|600x600px|Radxa Zero 3W/3E connect to RAW-MIPI-SC132M 2]] |
|} | |} | ||
| − | ====Connection of other RAW series camera and Radxa ZERO 3W==== | + | ====Connection of other RAW series camera and Radxa ZERO 3W/3E==== |
The two are connected using 0.5 mm pitch*pin FFC cable with opposite-side contacts. The cable must be inserted with the silver contacts facing outside. | The two are connected using 0.5 mm pitch*pin FFC cable with opposite-side contacts. The cable must be inserted with the silver contacts facing outside. | ||
{| class="wikitable" | {| class="wikitable" | ||
| Line 76: | Line 80: | ||
!BOTTOM | !BOTTOM | ||
|- | |- | ||
| − | |[[File:Radxa Zero 3W connect to RAW series camera.jpg|link=https://wiki.veye.cc/index.php/File:Radxa%20Zero%203W%20connect%20to%20RAW%20series%20camera.jpg|alt=|center|thumb|600x600px|Radxa Zero 3W connect to RAW series camera]] | + | |[[File:Radxa Zero 3W connect to RAW series camera.jpg|link=https://wiki.veye.cc/index.php/File:Radxa%20Zero%203W%20connect%20to%20RAW%20series%20camera.jpg|alt=|center|thumb|600x600px|Radxa Zero 3W/3E connect to RAW series camera]] |
| − | |[[File:Radxa Zero 3W connect to RAW series camera 2.jpg|link=https://wiki.veye.cc/index.php/File:Radxa%20Zero%203W%20connect%20to%20RAW%20series%20camera%202.jpg|alt=ADP-MV2 to RAW series camera No.2|center|thumb|600x600px|Radxa Zero 3W connect to RAW series camera 2]] | + | |[[File:Radxa Zero 3W connect to RAW series camera 2.jpg|link=https://wiki.veye.cc/index.php/File:Radxa%20Zero%203W%20connect%20to%20RAW%20series%20camera%202.jpg|alt=ADP-MV2 to RAW series camera No.2|center|thumb|600x600px|Radxa Zero 3W/3E connect to RAW series camera 2]] |
|} | |} | ||
===Introduction to github repositories=== | ===Introduction to github repositories=== | ||
| + | https://github.com/veyeimaging/rk35xx_veye_bsp | ||
| + | |||
https://github.com/veyeimaging/rk35xx_radxa | https://github.com/veyeimaging/rk35xx_radxa | ||
| Line 95: | Line 101: | ||
We provide a deb installation package that can be installed directly. | We provide a deb installation package that can be installed directly. | ||
====Burn Radxa standard system==== | ====Burn Radxa standard system==== | ||
| − | Refer to the [https:// | + | Refer to the Radxa documentation to burn in a standard system. |
| + | |||
| + | The installation package we are currently releasing is based on [https://github.com/radxa-build/radxa-zero3/releases/download/b6/radxa-zero3_debian_bullseye_xfce_b6.img.xz this image] version. | ||
====Using prebuilt Image and dtb file==== | ====Using prebuilt Image and dtb file==== | ||
Using the compiled debain installation package | Using the compiled debain installation package | ||
| Line 101: | Line 109: | ||
On the RK35xx board, | On the RK35xx board, | ||
| − | Download the latest rk356x_radxa_zero3w.tar.gz from https://github.com/veyeimaging/rk35xx_radxa/releases/ . | + | Download the latest rk356x_radxa_zero3w.tar.gz or rk356x_radxa_zero3e.tar.gz from https://github.com/veyeimaging/rk35xx_radxa/releases/ . |
<code>tar -xavf rk356x_radxa_zero3w.tar.gz</code> | <code>tar -xavf rk356x_radxa_zero3w.tar.gz</code> | ||
| Line 124: | Line 132: | ||
You can see the camera model and the camera version number probed. | You can see the camera model and the camera version number probed. | ||
| − | A prompt as below indicates that the MV-MIPI-IMX296M camera is detected on the i2c- | + | A prompt as below indicates that the MV-MIPI-IMX296M camera is detected on the i2c-2 bus. |
<code>mvcam 2-003b: camera is:MV-MIPI-IMX296M</code> | <code>mvcam 2-003b: camera is:MV-MIPI-IMX296M</code> | ||
| Line 130: | Line 138: | ||
<code>mvcam 2-003b: firmware version: 0x1290133</code> | <code>mvcam 2-003b: firmware version: 0x1290133</code> | ||
| − | For Radxa Zero 3W, the camera is connected to i2c-2. | + | For Radxa Zero 3W/3E, the camera is connected to i2c-2. |
*Check the video0 device node: | *Check the video0 device node: | ||
| Line 141: | Line 149: | ||
After successfully identifying the camera, the camera will be recognized as /dev/video0. | After successfully identifying the camera, the camera will be recognized as /dev/video0. | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | ===Camera Application Development Guide=== | |
| − | + | [[MV Camera Application Development Guide on Rochchip|Application Development Guide]] | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
===Compile drivers and dtb from source code=== | ===Compile drivers and dtb from source code=== | ||
| Line 487: | Line 170: | ||
===References=== | ===References=== | ||
| − | *Radxa Zero 3W Manual | + | *Radxa Zero 3W/3E Manual |
https://docs.radxa.com/zero/zero3 | https://docs.radxa.com/zero/zero3 | ||
| Line 495: | Line 178: | ||
https://radxa-repo.github.io/bsp/ | https://radxa-repo.github.io/bsp/ | ||
===Document History=== | ===Document History=== | ||
| + | |||
| + | *2025-12-26 | ||
| + | |||
| + | Add a chapter on application development guidelines | ||
| + | |||
| + | *2025-04-07 | ||
| + | |||
| + | Add support for Radxa Zero 3E. | ||
| + | |||
| + | *2025-03-23 | ||
| + | |||
| + | Add description of mv_probe.sh. | ||
| + | |||
| + | *2024-07-09 | ||
| + | |||
| + | Add support for RAW-MIPI-SC535M. | ||
*2024-04-24 | *2024-04-24 | ||
Release 1st version. | Release 1st version. | ||
Latest revision as of 15:41, 26 December 2025
1 Overview
The MV series and RAW series cameras are cameras designed for AI applications in the industrial field. They use the MIPI CSI-2 interface and are particularly suitable for use with embedded computing platforms. They have rich data formats and triggering features, extremely low latency, high bandwidth, and reliable stability.
This article takes Radxa's ZERO 3W/3E board as an example to introduce how to connect MV and RAW series cameras to the RK3566/3K3568 system.
We provide drivers for the Linux operating system (using Radxa OS Debainas an example).
1.1 Camera Module List
| Series | Model | Status |
|---|---|---|
| MV series | MV-MIPI-IMX178M | Done |
| MV series | MV-MIPI-SC130M | Done |
| MV series | MV-MIPI-IMX296M | Done |
| MV series | MV-MIPI-IMX287M | Done |
| MV series | MV-MIPI-IMX265M | Done |
| MV series | MV-MIPI-IMX264M | Done |
| RAW series | RAW-MIPI-SC132M | Done |
| RAW series | RAW-MIPI-IMX462M | Done |
| RAW series | RAW-MIPI-AR0234M | Done |
| RAW series | RAW-MIPI-SC535M | Done |
2 Hardware Setup
2.1 Connection of MV series camera and Radxa ZERO 3W/3E
The MV series cameras require the ADP-MV1 adapter board in order to connect to the Radxa ZERO 3W/3E board.
The ADP-MV1 and Zero 3W/3E are connected to each other using a 15 to 22P FFC cable, taking care that the silver contacts are facing outwards.
| TOP | BOTTOM |
|---|---|
2.1.1 Connection of RAW-MIPI-SC132M and ADP-MV2
The two are connected to each other using a 15 to 22P FFC cable, taking care that the silver contacts are facing outwards.
| TOP | BOTTOM |
|---|---|
2.2 Connection of other RAW series camera and Radxa ZERO 3W/3E
The two are connected using 0.5 mm pitch*pin FFC cable with opposite-side contacts. The cable must be inserted with the silver contacts facing outside.
| TOP | BOTTOM |
|---|---|
3 Introduction to github repositories
https://github.com/veyeimaging/rk35xx_veye_bsp
https://github.com/veyeimaging/rk35xx_radxa
includes:
- driver source code
- i2c toolkits
- application demo
In addition, a compiled linux kernel installation package and Android image is provided in the releases.
4 Upgrade Radxa Debain system
4.1 Overview
This section describes how to update the RK35xx system to support our camera modules.
We provide a deb installation package that can be installed directly.
4.2 Burn Radxa standard system
Refer to the Radxa documentation to burn in a standard system.
The installation package we are currently releasing is based on this image version.
4.3 Using prebuilt Image and dtb file
Using the compiled debain installation package
On the RK35xx board,
Download the latest rk356x_radxa_zero3w.tar.gz or rk356x_radxa_zero3e.tar.gz from https://github.com/veyeimaging/rk35xx_radxa/releases/ .
tar -xavf rk356x_radxa_zero3w.tar.gz
cd rk356x_radxa_zero3w/released_images/mvcam
sudo dpkg -i linux-headers-5.10.160-36-rk356x_5.10.160-36_arm64_mvcam.deb
sudo dpkg -i linux-image-5.10.160-36-rk356x_5.10.160-36_arm64_mvcam.deb
sudo reboot
If the version does not match, it needs to be compiled from the source code.
5 Check system status
5.1 Whether the camera is correctly recognized
After system update, reboot the main board.
Execute the following command on the main board to check if the camera is properly connected.
dmesg | grep mvcam
You can see the camera model and the camera version number probed.
A prompt as below indicates that the MV-MIPI-IMX296M camera is detected on the i2c-2 bus.
mvcam 2-003b: camera is:MV-MIPI-IMX296M
mvcam 2-003b: firmware version: 0x1290133
For Radxa Zero 3W/3E, the camera is connected to i2c-2.
- Check the video0 device node:
ls /dev/video0
You should see:
video0
After successfully identifying the camera, the camera will be recognized as /dev/video0.
6 Camera Application Development Guide
7 Compile drivers and dtb from source code
- RK356x
https://github.com/veyeimaging/rk35xx_radxa/tree/main/linux/drivers/rk356x
8 i2c script for parameter configuration
Because of the high degree of freedom of our camera parameters, we do not use V4L2 parameters to control, but use scripts to configure parameters.
https://github.com/veyeimaging/rk35xx_radxa/tree/main/i2c_cmd
using -b option to identify which bus you want to use.
- VEYE series
Video Control Toolkits Manual :VEYE-MIPI-327 I2C
9 References
- Radxa Zero 3W/3E Manual
https://docs.radxa.com/zero/zero3
- BSP toolkit
https://radxa-repo.github.io/bsp/
10 Document History
- 2025-12-26
Add a chapter on application development guidelines
- 2025-04-07
Add support for Radxa Zero 3E.
- 2025-03-23
Add description of mv_probe.sh.
- 2024-07-09
Add support for RAW-MIPI-SC535M.
- 2024-04-24
Release 1st version.