Cameras for Raspberry Pi

  1. Home
  2. Docs
  3. Cameras for Raspberry Pi
  4. Native Raspberry Pi Cameras
  5. 8MP IMX219 PT&PTZ Camera Modules

8MP IMX219 PT&PTZ Camera Modules


Arducam PT camera can move in two dimensions with 180 degrees horizontal and 145 degrees vertical movements. So it can be used to monitor places that should be covered by multiple ones commonly in the surveillance system.

Arducam PTZ cameras are the complete solution to turn your Raspberry Pi cameras into a fully functional surveillance camera that covers 360 degrees space. With the software autofocus function, you can clearly focus on your target when zooming. The IRCUT control also helps both the daylight and night vision. ​​

Models in this Series

  • If you wanna an 8MP PTZ camera, B01678MP and Pan Tilt Digital Servo Kit are needed.
  • If you wanna an 8MP PT camera, a Raspberry Pi V2 camera or V2-Sized IMX219 camera and Arudcam Pan Tilt Platform are needed. (B0283  is an upgraded version of B0227 with improved bracket quality and a mini customized control board.)

Common Specs

General Specifications

Sensor ModelIMX219
Shutter TypeRolling Shutter
Active Pixels3280 (H) × 2464 (V)
Image Sensor FormatType 1/4″
Pixel Size1.12μm×1.12μm
CSI-2 Data Output2-lane mode
Data FormatRaw Bayer 10bit
IMX219 block diagram
IMX219 Block Diagram

IMX219 Full Datasheet

Refer here:

Quick Start Guide

Hardware Setup

For B01678MP

Ensure your Raspberry Pi is turned off.

Connect the Camera Module to RPi with Ribbon Cable

The camera module connects to the RPi with a ribbon cable.

  • To connect to the standard RPi, such as Pi 4, use the included 15pin-15pin white ribbon cable.
  • To connect to Pi Zero and Compute Module, prepare a 15pin-22pin cable on your own.

The ribbon cable establishes a connection to the RPi and camera module with the help of metal contacts.

  • The ribbon cable comes with metal contacts on both ends, but different sides.
  • The camera module comes with metal contacts on the camera connector, beside the lens mount
  • The RPi also comes with metal contacts on its CSI camera connector, beside the HDMI connector
white camera ribbon cable contacts
Contacts on the white ribbon cable
metal contacts camera connector 2
Contacts on the Pi’s camera connector
camera ribbon cable contacts
Contacts on the gold ribbon cable
camera connector contacts
Contacts on the cam module’s connector

Therefore, to ensure we are connecting the components in the correct way, just make sure the metal contacts of the ribbon cable are touching those of the camera module and the RPi on both ends.

1.Locate the camera port (CSI)

For Raspberry Pi Model A & B, it’s between the HDMI and audio port of the Raspberry Pi board.

SPRK default preset name web 1920 – 1

2.Gently pull up on the edges of the connector’s plastic clip and avoid pulling it off

3.Insert the ribbon cable

Make sure the metal contacts are facing the HDMI connectors. Do not bend the flex cable, and make sure it’s firmly inserted.

4.Push the plastic clip down

Do it while holding the flex cable still, until the connector’s clip is back in place.

Connect the Servo Motors

The metal base with servos and jumper wire are not included in the package.

Connect the 3-pin plug of the servo motors to the two sockets of the driver controller board.

  • The left socket is for the pan servo, and the right socket is for the tilt servo.
  • Note the color of the 3-pin plug. It’s brown, red and yellow from left to right.

You can refer to Picture 1.

ptz camera servo connection
Picture 1: Servo plug connection
Connect the driver controller board jumpers

The metal base with servos and jumper wire are not included in the package.

The jumpers of the driver controller board can be separated into 3 pairs, and they are mainly for two purposes: I2C control signals and power supplies.

  1. The 1st pair connects to external power, with Pin#1 being Servo VCC and Pin#2 GND.
  2. The 2nd pair connects to the RPi’s GPIO pins for power, with Pin#3 being 5V and Pin#4 GND.
  3. The 3rd pair also connects to the RPI’s GPIO pins for I2C, with Pin#5 being SCL and Pin#6 SDA.

You can refer to Picture 2.

11 2
Picture 2: Driver controller board jumpers connection

Please note that In this illustrator, the different colors of the jumper wires are just to make it easier to distinguish them from each other. The order of those colors varies from item to item, so it may not match the one you’ve received. Therefore, instead of its color, you should rely on the position of the wire to correctly connect the jumpers.

After you finish the hardware assemble process, refer to Picture 3 to review the connections you’ve made.

10 2
Picture 3: Connection Overview

For B0283

Video Tutorial
Upgraded Camera Pan Tilt Platform assembly
Assembling Steps

For B0227

Video Tutorial
mini pt bracket
Assembling Steps

Software Setup​​ Preparation

Install python-OpenCV

  • In your Terminal, type the following command then hit Enter:
python3 -m pip install opencv-python
sudo apt-get install libatlas-base-dev
python3 -m pip install -U numpy

Using the Arducam PTZ Camera Example for B01678MP

  • In your Terminal, type the following command then hit Enter to download the library:
git clone
  • Install libcamera:
cd PTZ-Camera-Controller
python3 -m pip install ./libcamera-1.0.2-cp39-cp39-linux_armv7l.whl
  • Add camera:
Edit the configuration file: sudo nano /boot/config.txt
Find the line: camera_auto_detect=1, update it to:camera_auto_detect=0
imx219 camera added: dtoverlay=imx219
Save and reboot
  • Enable i2c on the Raspberry Pi
cd PTZ-Camera-Controller
sudo chmod +x
./ Press Y to reboot
  • Run the
cd PTZ-Camera-Controller
Arducam Controller.png
  • Run the
cd PTZ-Camera-Controller
Focuser AutoFocus.png

Here are some tips for using the demo example:

  1. After you run the focuser example, you will see instructions in the terminal. Read through the instructions for how to operate with the keys.
  2. Press R to reset the lens before pressing Enter to start autofocus.

Using the Arducam PT Camera Example for B0283&B0227

1. Clone the demo code

git clone

2. Enter the target Directory

cd PCA9685/

3. Comile


4.Run the demo

sudo ./RunServoDemo
Was this article helpful to you? Yes 1 No