Skip to content

For 8MP IMX219 Motorized Focus Camera

Product


Product Image SKU Pin/Connect Type Sensor Resolution Features Lens Type Field of View(HxV) Focus Type IR Sensitivity
B0182 15/NA IMX219 8MP Drop-in Replacement Stock Lens 65°(H) × 51°(V) Motorized Focus 650nm IR-cut filter
B0190
B0393 15/Bottom Mini Size Stock Lens 62.1° (H) × 46.5° (V) Autofocus 650nm IR-cut filter

Hardware


autofocus_hardaware_connection

Software


Enable the Focus Driver


Please run the command 'sudo nano /boot/config.txt' and add the content below under [all] in the config file to configure the camera and motor driver.

  • Bookworm OS & Pi 5

For Raspberry Pi Bookworm users running on Pi 5, please execute:

sudo nano /boot/firmware/config.txt 
#Find the line: camera_auto_detect=1, update it to:
camera_auto_detect=0
#Find the line: [all], add the following item under it:
dtoverlay=imx219,vcm
#Save and reboot.

If you want to enable the camera kit on the cam0 port of Pi5, please refer to the following modifications:

sudo nano /boot/firmware/config.txt 
#Find the line: camera_auto_detect=1, update it to:
camera_auto_detect=0
#Find the line: [all], add the following item under it:
dtoverlay=imx219,vcm,cam0
#Save and reboot.
  • Bookworm/Bullseye OS & Pi 4

For Raspberry Pi Bookworm/Bullseye users running on Pi 4, please execute:

Bookworm OS on Pi4

sudo nano /boot/firmware/config.txt 
#Find the line: camera_auto_detect=1, update it to:
camera_auto_detect=0
#Find the line: [all], add the following item under it:
dtoverlay=imx219,vcm
#Save and reboot.

Bullseye OS on Pi4

sudo nano /boot/config.txt 
#Find the line: camera_auto_detect=1, update it to:
camera_auto_detect=0
#Find the line: [all], add the following item under it:
dtoverlay=imx219,vcm
#Save and reboot.
  • Bookworm/Bullseye OS & Pi 0 ~ Pi 3

For Raspberry Pi Bookworm/Bullseye users running on Pi 0 ~ 3, please execute:

Bookworm OS on Pi0-Pi3

sudo nano /boot/firmware/config.txt 
#Find the line: camera_auto_detect=1, update it to:
camera_auto_detect=0
#Find the line: [all], add the following item under it:
dtoverlay=imx219,vcm
#Save and reboot.

Bullseye OS on Pi0-Pi3


sudo nano /boot/config.txt 
#Find the line: camera_auto_detect=1, update it to:
camera_auto_detect=0
#Find the line: [all], add the following item under it:
dtoverlay=imx219,vcm
#Save and reboot.
Open a terminal 
Run sudo raspi-config
Navigate to Advanced Options 
Enable Glamor graphic acceleration 
Reboot your Pi

If you encounter the display issues, please also execute the following steps:

Open a terminal
Run sudo raspi-config
Navigate to Advanced Options
Navigate to GL Driver
Select GL (Full KMS)
Reboot your Pi

Then reboot your Pi to take it effective.

sudo reboot

Install libcamera from Arducam


  • Step 1. Download the bash scripts
wget -O install_pivariety_pkgs.sh https://github.com/ArduCAM/Arducam-Pivariety-V4L2-Driver/releases/download/install_script/install_pivariety_pkgs.sh
chmod +x install_pivariety_pkgs.sh
  • Step 2. Install libcamera
./install_pivariety_pkgs.sh -p libcamera_dev
  • Step 3. Install libcamera-apps
./install_pivariety_pkgs.sh -p libcamera_apps

Focus Control for Pi0-Pi4


libcamera-still -t 0 --tuning-file /usr/share/libcamera/ipa/rpi/vc4/imx219_af.json
  • Continuous Autofocus
libcamera-still -t 0 --autofocus-mode continuous --tuning-file /usr/share/libcamera/ipa/rpi/vc4/imx219_af.json
  • Single Autofocus
libcamera-still -t 0 --autofocus-mode auto --tuning-file /usr/share/libcamera/ipa/rpi/vc4/imx219_af.json
  • Manual Focus
libcamera-still -t 0 --autofocus-mode manual --tuning-file /usr/share/libcamera/ipa/rpi/vc4/imx219_af.json
# Use keyboard to control focus
# "f" trigger one-shot autofocus
# "a" add the lens position, "d" decrease the lens position, the minimum unit of step adjustment is 1
libcamera-still -t 0 --autofocus-mode manual -k --tuning-file /usr/share/libcamera/ipa/rpi/vc4/imx219_af.json
  • Adjust Lens Position
libcamera-still -t 0 --autofocus-mode manual --lens-position 5 --tuning-file /usr/share/libcamera/ipa/rpi/vc4/imx219_af.json
  • Autofocus Before Capture images
libcamera-still -t 0 --autofocus-on-capture --tuning-file /usr/share/libcamera/ipa/rpi/vc4/imx219_af.json
  • Set Focus Range
# Normal
libcamera-still -t 0 --autofocus-range normal --tuning-file /usr/share/libcamera/ipa/rpi/vc4/imx219_af.json
# Close Focus
libcamera-still -t 0 --autofocus-range macro --tuning-file /usr/share/libcamera/ipa/rpi/vc4/imx219_af.json

Focus Control for Pi5


libcamera-still -t 0 --tuning-file /usr/share/libcamera/ipa/rpi/pisp/imx219_af.json
  • Continuous Autofocus
libcamera-still -t 0 --autofocus-mode continuous --tuning-file /usr/share/libcamera/ipa/rpi/pisp/imx219_af.json
  • Single Autofocus
libcamera-still -t 0 --autofocus-mode auto --tuning-file /usr/share/libcamera/ipa/rpi/pisp/imx219_af.json
  • Manual Focus
libcamera-still -t 0 --autofocus-mode manual --tuning-file /usr/share/libcamera/ipa/rpi/pisp/imx219_af.json
# Use keyboard to control focus
# "f" trigger one-shot autofocus
# "a" add the lens position, "d" decrease the lens position, the minimum unit of step adjustment is 1
libcamera-still -t 0 --autofocus-mode manual -k --tuning-file /usr/share/libcamera/ipa/rpi/pisp/imx219_af.json
  • Adjust Lens Position
libcamera-still -t 0 --autofocus-mode manual --lens-position 5 --tuning-file /usr/share/libcamera/ipa/rpi/pisp/imx219_af.json
  • Autofocus Before Capture images
libcamera-still -t 0 --autofocus-on-capture --tuning-file /usr/share/libcamera/ipa/rpi/pisp/imx219_af.json
  • Set Focus Range
# Normal
libcamera-still -t 0 --autofocus-range normal --tuning-file /usr/share/libcamera/ipa/rpi/pisp/imx219_af.json
# Close Focus
libcamera-still -t 0 --autofocus-range macro --tuning-file /usr/share/libcamera/ipa/rpi/pisp/imx219_af.json