Cameras for Raspberry Pi

  1. Home
  2. Docs
  3. Cameras for Raspberry Pi
  4. Native Raspberry Pi Cameras
  5. 5MP OV5647 PT&PTZ Camera Module

5MP OV5647 PT&PTZ Camera Module


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

There are two cameras in this series. The main difference between them is whether the lens can be zoomed. If you wanna a 5MP PTZ camera, B01675MP and Pan Tilt Digital Servo Kit are needed.



Common Specs

Image Sensor

Sensor ModelOV5647
Shutter TypeRolling Shutter
Active Pixels2592×1944
Image Sensor FormatType 1/4″
Pixel Size1.4μm×1.4μm
OV5647 Block Diagram
OV5647 Block Diagram

OV5647 Full Datasheet

Refer here:

Quick Start Guide

Hardware Setup for B0033PT​​​​​

Video Tutorial
mini pt bracket
Assembling Steps

Hardware Setup for B01675MP

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.

servo jumper connection pan tilt zoom ptz camera
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.

HardwareConnection pan tilt zoon camera raspberry pi
Picture 3: Connection Overview

Software Setup​​ Preparation

  • Start up your Raspberry Pi.
  • Go to the main menu and open the Raspberry Pi Configuration tool.Raspberry Pi Configuration Tool
  • Select the Interfaces tab and ensure that the camera is enabled:Camera enabled
  • Reboot your Raspberry Pi.

Using the Arducam PT Camera Example for B0033PT

1. Clone the demo code

git clone

2. Enter the target Directory

cd PCA9685/

3. Comile


4.Run the demo

sudo ./RunServoDemo

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 B01675MP

  • 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
Add: dtoverlay=ov5647
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
Focus Example

  • zoom-lens basic control component.

  • Provide two autofocus methods are available, depending on, opencv, picamera
  • Use the sudo apt-get install python-opencv command to install opencv.

  • Example of using autofocus, depending on

  • zoom-lens controller.

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.
Was this article helpful to you? Yes 2 No 2