Nvidia Jetson Cameras

  1. Home
  2. Docs
  3. Nvidia Jetson Cameras
  4. Native Jetson Cameras – IMX219/IMX477
  5. IMX477 – IR-CUT Camera

IMX477 – IR-CUT Camera

Introduction

This Arducam module uses the same 12MP IMX477 image sensor as the Raspberry Pi High Quality Camera, but offers a mechanical IR cut-off filter switched automatically based on light condition. The official RPi HQ camera is not sensitive to infrared, and there won’t be a NoIR version. On the contrary, this Arducam camera module not only offers sensitivity to infrared, but also keeps the natural feeling during daylight. It’s fully compatible with Jetson Nano/Xavier NX with a camera connector.

Common Specs

Image sensor

Sensor ModelIMX477
Shutter TypeRolling Shutter
IR SensitivityVisible light
Active Pixels4056×3040
Resolution12 MP
Image Sensor Format1/2.3″
Pixel Size1.55μm×1.55μm
IMX477 camera board
IMX477 mechanical drawing

Lens

F/NO1.2
Focus TypeManual Focus
MOD0.1 m
Lens Focal Length6mm
Field of View(FoV)65° (H)
Back Focal Length7.53mm
Lens DimentionΦ30×31mm

Connector & Cable

Camera ConnectorMIPI CSI-2 22-pin
Cable Length300mm(15-22pin)
Pin #NameTypeDescription
1GNDGroundPower Ground
2CAM_D0_NOutputPixel Data Lane0 Negative
3CAM_D0_POutputPixel Data Lane0 Positive
4GNDGroundPower Ground
5CAM_D1_NOutputPixel Data Lane1 Negative
6CAM_D1_POutputPixel Data Lane1Positive
7GNDGroundPower Ground
8CAM_CK_NOutputPixel Clock Output Form Sensor Negaitive
9CAM_CK_POutputPixel Clock Output Form Sensor Positive
10GNDGroundPower Ground
11CAM_D2_NOutputPixel Data Lane2 Negative
12CAM_D2_POutputPixel Data Lane2 Positive
13GNDGroundPower Ground
14CAM_D3_NOutputPixel Data Lane3 Negative
15CAM_D3_POutputPixel Data Lane3 Positive
16GNDGroundPower Ground
17POWER-ENInputPower Enable
18LED-ENI/OLED Enable/XCLK
19GNDGroundPower Ground
20SCLInputSCCB serial interface clock input
21SDAI/OSCCB serial interface data I/O
22VCCPower3.3V Power Supply

Hardware Setup​​

b0274 04

Driver Setup

Please refer to the DOC: IMX477 – How to install the Driver.

First Use

Open your Terminal, and run the corresponding commands.

Display

  • 1920×1080
SENSOR_ID=0 # 0 for CAM0 and 1 for CAM1 ports
FRAMERATE=60 # Framerate can go from 2 to 60 for 1920x1080 mode
gst-launch-1.0 nvarguscamerasrc sensor-id=$SENSOR_ID ! "video/x-raw(memory:NVMM),width=1920,height=1080,framerate=$FRAMERATE/1" ! nvvidconv ! nvoverlaysink
  • 4032×3040
SENSOR_ID=0 # 0 for CAM0 and 1 for CAM1 ports
FRAMERATE=30 # Framerate can go from 2 to 30 for 4032x3040 mode
gst-launch-1.0 nvarguscamerasrc sensor-id=$SENSOR_ID ! "video/x-raw(memory:NVMM),width=4032,height=3040,framerate=$FRAMERATE/1" ! nvvidconv ! "video/x-raw(memory:NVMM),width=1920,height=1080,framerate=$FRAMERATE/1" ! nvoverlaysink

MP4 recording

  • 1920×1080
SENSOR_ID=0 # 0 for CAM0 and 1 for CAM1 ports
FRAMERATE=60 # Framerate can go from 2 to 60 for 1920x1080 mode
gst-launch-1.0 -e nvarguscamerasrc sensor-id=$SENSOR_ID ! "video/x-raw(memory:NVMM),width=1920,height=1080,framerate=$FRAMERATE/1" ! nvv4l2h264enc ! h264parse ! mp4mux ! filesink location=rpi_v3_imx477_cam$SENSOR_ID.mp4
  • 4032×3040
SENSOR_ID=0 # 0 for CAM0 and 1 for CAM1 ports
FRAMERATE=30 # Framerate can go from 2 to 30 for 4032x3040 mode
gst-launch-1.0 -e nvarguscamerasrc sensor-id=$SENSOR_ID ! "video/x-raw(memory:NVMM),width=4032,height=3040,framerate=$FRAMERATE/1" ! nvv4l2h264enc ! h264parse ! mp4mux ! filesink location=rpi_v3_imx477_cam$SENSOR_ID.mp4

JEPG snapshots

  • 1920×1080
SENSOR_ID=0 # 0 for CAM0 and 1 for CAM1 ports
FRAMERATE=60 # Framerate can go from 2 to 60 for 1920x1080 mode
NUMBER_OF_SNAPSHOTS=20
gst-launch-1.0 -e nvarguscamerasrc num-buffers=$NUMBER_OF_SNAPSHOTS sensor-id=$SENSOR_ID ! "video/x-raw(memory:NVMM),width=1920,height=1080,framerate=$FRAMERATE/1" ! nvjpegenc ! multifilesink location=%03d_rpi_v3_imx477_cam$SENSOR_ID.jpeg
  • 4032×3040
SENSOR_ID=0 # 0 for CAM0 and 1 for CAM1 ports
FRAMERATE=30 # Framerate can go from 2 to 30 for 4032x3040 mode
NUMBER_OF_SNAPSHOTS=20
gst-launch-1.0 -e nvarguscamerasrc num-buffers=$NUMBER_OF_SNAPSHOTS sensor-id=$SENSOR_ID ! "video/x-raw(memory:NVMM),width=4032,height=3040,framerate=$FRAMERATE/1" ! nvjpegenc ! multifilesink location=%03d_rpi_v3_imx477_cam$SENSOR_ID.jpeg

Use two cameras at same time

  • 1920×1080
SENSOR_ID=0 # 0 for CAM0 and 1 for CAM1 ports
FRAMERATE=60 # Framerate can go from 2 to 60 for 1920x1080 mode
gst-launch-1.0 nvarguscamerasrc sensor-id=$SENSOR_ID ! "video/x-raw(memory:NVMM),width=1920,height=1080,framerate=$FRAMERATE/1" ! nvvidconv ! nveglglessink
  • 4032×3040
SENSOR_ID=0 # 0 for CAM0 and 1 for CAM1 ports
FRAMERATE=30 # Framerate can go from 2 to 30 for 4032x3040 mode
gst-launch-1.0 nvarguscamerasrc sensor-id=$SENSOR_ID ! "video/x-raw(memory:NVMM),width=4032,height=3040,framerate=$FRAMERATE/1" ! nvvidconv ! nveglglessink

Troubleshoot

Reference

Was this article helpful to you? Yes 1 No 1