B0371 I2C Address

This Arducam page shows the pinout of RaspberryPi cameras:

I am assuming Arducam cameras use the same pinout. I am using a B0371 (RPi autofocus camera).

What is the I2C address of the camera? What settings can be configured over I2C? Is there a register map?

@oneil

For imx519, all our source codes are open.

Configuration of all registers:

Under normal circumstances, all register values are configured and you do not need to modify them. Do you have any needs now?

Hi Edward,

Thanks for the reply. I plan on using this camera with a custom board that I am designing. Since you said:

Under normal circumstances, all register values are configured and you do not need to modify them

Should I bother connecting the I2C lines to the camera? If I will never have a need to communicate with the camera over I2C, then leaving the camera’s I2C lines floating prevents the possibility of there being bus collisions due to the camera.

I would appreciate your thoughts

Ian

@oneil

This is a must.

Need i2c to send the configuration to the camera.
You can also use other hardware to send this i2c, but it is not recommended, you need to modify the driver.

Hi Edward,

Check my understanding: I2C is needed for initial configuration of the registers. Under normal circumstances, the registers do not need to be adjusted after initial configuration. Therefore, under normal circumstances the camera does not talk to the device over I2C except for during initial configuration

I am still unclear on what the I2C address of the camera is. I see in the files you linked all the addresses for the registers, but I haven’t seen the I2C address for the device itself. I’d like to know this so that I don’t confuse the camera with any other devices on the same I2C bus.

Thanks

Hi @oneil

To find the original i2c address of the camera, you can refer to the device tree source file that we provide on GitHub. The device tree source file contains the configuration and parameters of the camera module, including the i2c address.

You can access the device tree source file from this link: linux/imx519.dtsi at rpi-6.1.y · raspberrypi/linux · GitHub

In this file, you can look for the line that says “reg = <0x10>;” under the “imx519@10” node. This means that the i2c address of the camera is 0x10 in hexadecimal format.

In addition, the driver to control the motor is ak7375, the address is “reg = <0x0c>;” , you need to adjust its value to control the motor.

I hope this answers your question and helps you use the camera more easily.

Hi Edward,

That answers my questions, thanks for your help!

@oneil

Gald to hear that.