Multiple cameras on the Vim 3

@Gouwa 13+MP sensor like the Omnivision 138xx

@adzio the VIM3’s ISP can only handle 8MPs max (and two pairs of MIPI CSI streams)
so it can be split up to either 4MP, 4MP or 5MP and 3MP etc.


Thanks for the input!

The ISP of VIM3 only supports 8MP maximum :blush:

additionally I will point out that RK3588 will support upto 48MP (according to the released spec list) so most likely if you need multiple high definition cameras, (above 8MP), you can expect it to work when Khadas comes out with the respective device :slightly_smiling_face:


Understood; too bad. I was going to say, 8MP is low in 2021.

Given the development timelines that are being quoted in other threads in this forum, a potential RK3588 board won’t be a reality until at least 2022+, correct

Ideal, if you would make module, that convert signal from two “standart” arduino camera to your connector

The list below that VIM3(A311D) able to support:

Vendor Part Number Application Mega Interface HDR Optical Form Pixel Size Output Support
Galaxycore GC4C33 Surveillance 4M MIPI-CSI Yes 1/2.7" 2.24um RAW Y
OV OV13858 Surveillance 13M MIPI-CSI Yes 1/3.06" 1.12um RAW TBC
OV OS08A10 Surveillance 8M MIPI-CSI Yes 1/1.8" 2um RAW Y
Sony IMX481 Consumer 16M MIPI-CSI Yes 1/3.09" 1um RAW TBC
Sony IMX290 Surveillance 2M MIPI-CSI Yes 1/2.7" 3um RAW Y
Sony IMX307 Surveillance 2M MIPI-CSI Yes 1/2.8" 2.9um RAW Y
Sony IMX227 Consumer 6.52M MIPI-CSI Yes 1/3" 1.65um RAW Y
Sony IMX415 Surveillance 8M MIPI-CSI Yes 1/2.8" 1.45um RAW TBC

Has anyone successfully drive two MIPI camera? We have build an adapter board to connect two MIPI camera, but found it hard to drive two MIPI camera: only lane0 and lane1 can be used. Is that any drivers that has been tested?

Hi @yuming
Did you get your two camera setup to work?
We have also made an adapter for two MIPI cameras and are now looking for the needed software config to get it work.

please help!
how to do this?

how to code for this?please help!

pls ask developers @numbqq @Frank
it requires hardware and software modifications

We have successfully managed to get our MIPI CSI camera working in Linux on a VIM3 board. Now we need to connect another instance of the same camera. For this we have made a adapter board to connect the two cameras to the single MIPI CSI connector on the VIM3 board.
My question is on how to configure Linux to find our second camera?
Is there a tutorial or example for this? @numbqq @Frank
Thanks for your support!

@henrik First, you can’t use two cameras at the same time. It should be that the sensor addresses of the two cameras are exactly the same and are connected to the same i2c bus. You can only use time-sharing, switch i2c through the small board you designed, and ensure that only one camera’s sensor address is on the i2c bus at the same time

@Frank Thanks for your reply.
Our adapter board has a TCA9546 1-to-4 I2C switch that extends the single I2C bus from VIM3 to access the 2 cameras. We use the PCA954x driver to get the extended I2C into Linux. So, I think we are on track on the I2C side.
Our biggest concern is if the MIPI interface driver support 2 camera streams and, if it does, how to configure the MIPI interface and drivers to present them as devices under /dev.
As I understand it the hardware supports 2 cameras (our cameras are low resolution cameras) so this is more a question of if the software support is in place or if we need to plan for adding the support or find some other solution.

@henrik From the driver level, the driver only supports one camera. If you want to support two cameras, you need to modify the driver yourself.

@Frank Ok. If we go that path we would need detailed documentation on the MIPI adapter and PHY blocks. Is such information available and/or are there any test or reference code available? (We already have the A311D Datasheet rev 01 2019-05-05 that contain brief register descriptions. I’m thinking more of a technical reference manual.)

@henrik Sorry, we haven’t done the relevant tests.

Hi @Gouwa,

In vim3 (with ISP), is the mentioned sensor tested?
Do you/anyone have any idea for the ov5640 and IMX481 sensor?
I am planning to use them.

We just tested OS08A10 and IMX335 til now here, and for the IMX481 should work as it’s in the support list.