Connect Arducam HQ Camera to ROCK5B

would it be possible to use an raspberry pi hq camera with the rock 5b (of course with an adaptor), it has an imx477 sensor

If it was in stock I would’ve bought it already.

It is really interesting to know that we can get two 2-lanes cameras running on our Rock 5B.

So I designed an adapter to convert our Rock 5B’s CSI into Two 2-Lanes 15-Pin CSI (Raspberry Pi Model B Camera compatible) Connector.
https://oshwlab.com/kwankiu/rock5b-dualcsi

Note: This is my first time trying to design PCB, therefore I am not sure whether this works or not. I would appreciate it if someone would take a look at my design to see if I made any mistakes.

There are two samples (standard and mini) of how our adapter can be designed. However, routing and trace length matching is not done (only finnished it with EasyEDA’s auto-routing) appreciate it if anyone would help with that.

The standard one puts all connectors on the top layer (larger pcb size), while the mini one put CAM1 at the bottom layer (which reduces the adapter size significantly). Therefore, If it is possible, I prefer making it double-sided mini version.

Additionally, I noticed one issue while allowing two camera connected through this design. We only have one pair of I2C for two camera module.

I2C is a multi-slave protocol so in theory that shouldn’t be too big of an issue. Although if both cameras have the same I2C address there could be problems. I think maybe the PDN pins exist to address that.

1 Like

Thanks for the information.

Just for reference, there seems to be a similar issue on the Pi CM4 :
https://forums.raspberrypi.com/viewtopic.php?t=327042

easyeda has a differential pair function su you could try that

Yeah but you have to cross over so the tool isn’t very useful. Plus the length matching tool doesn’t work with pairs AFAIK.

I’d appreciate it if a Radxa dev could yoink the IMX477 driver from the raspberry pi and add it to the Rock5 kernel.

i am no linux kernel dev but it could be well possible

I will open an issue on the rockchip kernel repo and radxa kernel repo.

I still haven’t figured out how the differential pair routing and track length tuning works, but i did some trial and made a “mini v2 version” that changed the design rule to 5mil track clearance, 0.4mm via diameter and 0.2mm via hole size which is the capabilities listed on JLCPCB’s website, and made the adapter much smaller in size

Not sure this will work or not.

(18.3mm x 21mm)

it looks promising but you could also try kicad an more advanced pcb drawing programm

I suggest making a 4-layer board.

why if only 2 layers are needed

To reduce interference. Plus it’s not that much more expensive.

1 Like

ok that makes sense i am asking because i know nothing about high frequency diff pairs

I placed an order at JLCPCB with SMT assembly. With a coupon it was only $20 for 5pcs.

1 Like

then just hope evreything works

Still have to make the driver.

Nice suggestion on making a 4-layer board. I hope somebody who is interested could help since I don’t have experience and knowledge of the 4-layer boards and the routings.

I changed the PCB design of my dual camera adapter, it now uses the form factor of a Pi Camera Module 2 (25x24mm) with the same mounting holes.

(Since the 15-Pin connector i used before got no stock on LCSC/JLC’s Part, I changed the connector to X10B25U15T)

It now looks like this :


The PCB (appreciate it if somebody could help with routing)


The front side of the 3D View


The bottom side of the 3D View

Link to this project :