Image binning in LI-IMX219-MIPI-FF-NANO-H136 v1.3 (Leopard's Imaging IMX219 camera)

Hi,

I have a LI-IMX219-MIPI-FF-NANO H-136 v1.3 camera on a Jetson Nano Development Kit-B01, as the title says. I was particulary interested in this camera because of my previous experience with this sensor (Sony’s IMX219) on the RaspberryPi platform, through the Raspberry Pi Camera v2.

The IMX219 sensor supports a resolution mode of 1640x1232 with 2x2 on-chip binning - which is accessible in the Raspberry Pi. While using the camera on the Jetson Nano., I am able to request this resolution but I would like to have confirmation that the binning is being done. From my experience and by looking at the image, I’d say it isn’t, as the quality differs from what I get with the Raspberry Pi Camera v2, specially when I lower the lighting conditions.

Any way to understand if binning is happening (and how to trigger it if it isn’t) or any clarification from either NVIDIA/Leopard Imaging? Thanks!

I think you may need to consult with Sony to confirm this mode.
Did you confirm the image quality with others sensor mode?

Hi.

I am pretty sure about this mode. It’s mentioned both in the sensor’s datasheet and in the Pi Camera v2 documentation (section 6.2). My question is related to how/if the Leopard Imaging’s implementation handles this.

@SimonZhu
Could you help to check this.

Thanks

Hi daniel35y3s,
Which driver are you using? Please try this ISP file to see if you can get better image.

You can copy camera_overrides.isp to /var/nvidia/nvcam/settings on Jetson and do below two commands to enable the ISP file.
sudo chmod 664 /var/nvidia/nvcam/settings/camera_overrides.isp
sudo chown root:root /var/nvidia/nvcam/settings/camera_overrides.isp

Hi @SimonZhu, thanks for helping out!

I had already applied the ISP file - it fixed the pink tinting on the borders I had initially. What I wanted was some confirmation that indeed the 2x2 binning is active and configured on the LI-IMX219-MIPI-FF-NANO H-136 v1.3. I am new to the Jetson Nano plataform and it’s possible that I might not be configuring everything correctly, so it would be good to have that confirmation from the hardware side.

Hi @anon58607361 ,
I checked the register settings (0x0174 and 0x0175). It should be 2 x 2 analog binning mode

static imx219_reg imx219_mode_1640x1232_120fps = {
/* capture settings /
{0x0157, 0x00}, /
ANALOG_GAIN_GLOBAL[7:0] /
{0x015A, 0x09}, /
COARSE_INTEG_TIME[15:8] /
{0x015B, 0xbd}, /
COARSE_INTEG_TIME[7:0] */

/* format settings */
{0x0160, 0x09}, /* FRM_LENGTH[15:8] */
{0x0161, 0xC1}, /* FRM_LENGTH[7:0] */
{0x0162, 0x0D}, /* LINE_LENGTH[15:8] */
{0x0163, 0xE8}, /* LINE_LENGTH[7:0] */

{0x0164, 0x00},
{0x0165, 0x00},
{0x0166, 0x0C},
{0x0167, 0xCF},
{0x0168, 0x00},
{0x0169, 0x00},
{0x016A, 0x09},
{0x016B, 0x9F},


{0x016C, 0x06},
{0x016D, 0x68},
{0x016E, 0x04},
{0x016F, 0xD0},

{0x0170, 0x01},
{0x0171, 0x01},

{0x0174, 0x03},
{0x0175, 0x03},

{0x018C, 0x0A},
{0x018D, 0x0A},


/* clocks dividers */
{0x0301, 0x05},
{0x0303, 0x01},
{0x0304, 0x03},
{0x0305, 0x03},
{0x0306, 0x00},
{0x0307, 0x39},
{0x0309, 0x0A},
{0x030B, 0x01},
{0x030C, 0x00},
{0x030D, 0x72},


{IMX219_TABLE_END, 0x00}

};

Thanks, exactly the confirmation I was looking for. Marked your reply as the solution.