Difference between revisions of "MV Camera on Radxa Boards"
(Created page with "查看中文 ===Overview=== The MV series and RAW series cameras are cameras designed for AI applications in the industrial field. They use t...") |
|||
| (16 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 89: | Line 95: | ||
In addition, a compiled linux kernel installation package and Android image is provided in the [https://github.com/veyeimaging/rk356x_radxa/releases releases]. | In addition, a compiled linux kernel installation package and Android image is provided in the [https://github.com/veyeimaging/rk356x_radxa/releases releases]. | ||
| − | ===Upgrade Radxa | + | ===Upgrade Radxa Debain system=== |
| − | + | ====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. | |
| + | ====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 [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 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/ . | ||
| + | |||
| + | <code>tar -xavf rk356x_radxa_zero3w.tar.gz</code> | ||
| + | |||
| + | <code>cd rk356x_radxa_zero3w/released_images/mvcam</code> | ||
| + | |||
| + | <code>sudo dpkg -i linux-headers-5.10.160-36-rk356x_5.10.160-36_arm64_mvcam.deb</code> | ||
| + | |||
| + | <code>sudo dpkg -i linux-image-5.10.160-36-rk356x_5.10.160-36_arm64_mvcam.deb</code> | ||
| + | |||
| + | <code>sudo reboot</code> | ||
| + | |||
| + | If the version does not match, it needs to be compiled from the source code. | ||
===Check system status=== | ===Check system status=== | ||
====Whether the camera is correctly recognized==== | ====Whether the camera is correctly recognized==== | ||
| Line 105: | 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 | + | <code>mvcam 2-003b: camera is:MV-MIPI-IMX296M</code> |
| − | + | <code>mvcam 2-003b: firmware version: 0x1290133</code> | |
| − | + | For Radxa Zero 3W/3E, the camera is connected to i2c-2. | |
*Check the video0 device node: | *Check the video0 device node: | ||
| Line 124: | 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=== | |
| − | ===== | ||
| − | |||
| − | + | *RK356x | |
| − | + | https://github.com/veyeimaging/rk35xx_radxa/tree/main/linux/drivers/rk356x | |
| − | + | ===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. | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | === | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | use | ||
| − | + | 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-290/327 i2c/|VEYE-MIPI-327 I2C]] | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
===References=== | ===References=== | ||
| − | * | + | *Radxa Zero 3W/3E Manual |
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | https://docs.radxa.com/zero/zero3 | |
| − | * | + | *BSP toolkit |
| − | + | https://radxa-repo.github.io/bsp/ | |
===Document History=== | ===Document History=== | ||
| − | * | + | *2025-12-26 |
| − | + | Add a chapter on application development guidelines | |
| − | * | + | *2025-04-07 |
| − | Add | + | Add support for Radxa Zero 3E. |
| − | * | + | *2025-03-23 |
| − | Add | + | Add description of mv_probe.sh. |
| − | * | + | *2024-07-09 |
| − | + | Add support for RAW-MIPI-SC535M. | |
| − | * | + | *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.