This Arducam IMX477 High Quality motorized focus camera module integrates a motor that could be controlled by software for a smarter focus, and you will no longer focus the camera by screwing the lens with your bare hands.
So how has software focus control made it more convenient? Here is an idea: Arducam provides you with an example program to control the focusing motor with keyboard keys, so you can focus the camera remotely with precision in an intuitive way. In another example powered by OpenCV, algorithms are used to control the motor and achieve autofocus.
Other than its motorized focus, it offers the same picture quality and camera controls as the Raspberry Pi High Quality camera.
|Shutter Type||Rolling Shutter|
|IR Sensitivity||Visible light|
|Image Sensor Format||1/2.3″|
|Focus Type||Motorized Focus|
|Lens Focal Length||3.24mm|
|Field of View(FoV)||87° (H)|
|Back Focal Length||7.53mm|
Connector & Cable
|Camera Connector||MIPI CSI-2 22-pin|
|2||CAM_D0_N||MIPI Data Lane 0 Negative|
|3||CAM_D0_P||MIPI Data Lane 0 Positive|
|5||CAM_D1_N||MIPI Data Lane 1 Negative|
|6||CAM_D1_P||MIPI Data Lane 1 Positive|
|8||CAM_CK_N||MIPI Clock Lane Negative|
|9||CAM_CK_P||MIPI Clock Lane Positive|
|11||CAM_D2_N||MIPI Data Lane 2 Negative|
|12||CAM_D2_P||MIPI Data Lane 2 Positive|
|14||CAM_D3_N||MIPI Data Lane 3 Negative|
|15||CAM_D3_P||MIPI Data Lane 3 Positive|
|21||SDA||SCCB serial Interface data IO|
|22||VCC||3.3V Power Supply|
Manual driver installation only for L4T32.4.3 and later versions
1. Download automatic installation script
2. Enter the folder
3. Install the driver
chmod +x install_imx477.sh
press y to reboot.
If you want to roll back to original Jetson Nano camera driver, just run the following command to uninstall the Arducam driver, a reboot is also required.
sudo dpkg -r arducam-nvidia-l4t-kernel
Manual driver installation for L4T32.4.3 before versions
1. Identify Kernel Number
Different kernel versions require different driver packages. You need a matching driver package for your camera to work.
To identify your kernel:
- Print your Kernel Version with the following command.
Linux jetson-desktop 4.9.140-tegra #3 SMP PREEMPT Thu Jul 16 13:41:48 CST 2020 aarch64 aarch64 aarch64 GNU/Linux
4.9.140 is our desired value.
- Print your L4T release number with the following command.
# R32 (release), REVISION: 4.3, GCID: 21589087, BOARD: t210ref, EABI: aarch64, DATE: Fri Jun 26 04:38:25 UTC 2020
4.3 are our desired value.
- Combine the desired printed results to get the kernel detail.
From the example above, we get kernel
2. Download Driver Package
To download Arducam IMX477 driver package:
- Go to Arducam GitHub repository for IMX477 on Jetson with the following URL:
What if I can’t find a matching driver?
If you can’t find a driver package matching your kernel version, please contact Arducam to update that.
- Enter the folder for your target Jetson board.
There are separate driver folders for Jetson Nano and Jetson Xavier NX, so use whichever match your target board.
- Click on the name of the matching driver package.
Refer to the kernel information from last step to decide which package is needed.
- Click on the Download button to download the file.
3. Install the IMX477 Driver
To install the IMX477 driver for Jetson:
- Go to the folder in which you’ve saved the driver package, for example:
- Install the driver with the following command, for example:
sudo dpkg -i arducam-nvidia-l4t-kernel_x.x.xxx-xx.x.x-xxxxxxxxxxxxxx_arm64_imx477.deb
- Reboot your Jetson
Download Arducam’s Jetson Nano repository
git clone https://github.com/ArduCAM/MIPI_Camera.git
Enter the folder with autofocus demo
python Autofocus.py -i 7
The I2C bus of the CAM0 interface of Jetson Nano B01 is 7, and the I2C bus of the CAM1 interface is 8.
The I2C bus of the CAM0 interface of Jetson Xavier NX is 10, and the I2C bus of the CAM1 interface is 9.
python FocuserExample.py -i 7