Raspberry Pi Multiple Camera Solutions: Adapters, Multiplexers, and Projects

Published by Lee Jackson on

Standard RPi boards (not Compute Modules) accept a single MIPI camera, but Arducam offers solutions to take multiple.

Raspberry Pi Multi Camera Adapter

We released the first revision that supported the 5MP V1.3 Pi camera multiplexing in 2015. Later, we’ve released a newer adapter to add 8MP support in 2018.​​

Now, you can even use the latest IMX477 High Quality camera modules with it.

Raspberry Pi Multiple Camera Projects

During these years, the users have built many Raspberry Pi multiple camera projects with this adapter, and the following blogs show you 6 of them.

raspberry pi multiple camera projects ardudcam multi camera adapter

6 Exciting Raspberry Pi Multiple Camera Applications: From Under the Sea to up in the Space

The Raspberry Pi is a powerful single-board computer to help you do proof-of-concept of your ideas. To make the Raspberry Pi smart enough to realize what we want, we’ll need it to sense the world. Read more…

0 comments

Arducam Camarray Multiple Camera Solutions

In 2019, we had another breakthrough in making the multiple cameras connected work synchronized, which is now the Camarray series. The new solution can merge and resize video inputs from multiple cameras to simulate the resolution and aspect ratio of a single camera that the native driver expects or bypass the limits of the native driver to fully display multiple video inputs with the Arducam V4L2 driver.

As we’ve made it more robust, versatile, and complete for the Raspberry Pi multiple camera solutions, the product released in 2015 has fulfilled its purposes and been replaced by its successors introduced in the following two blogs.

Recommended Further Reading

Arducam Blog Thumbnail camarray release

Introducing Camarray: Arducam’s New Solution to Multiple Cameras on Embedded Systems and Edge Devices for 2021

Preface As one of the leading companies that pioneers in multiple cameras for popular embedded systems, Arducam now releases the new multi-camera solutions – named Camarray – which allows you to connect and sync up Read more…

12 comments
multi_cam_adapter_board_blog_thumbnail

Arducam V2.1 Multi-Camera Adapter Board for Raspberry Pi 8MP Camera IMX219

Introduction Since the old multi-camera adapter board doesn’t work with Raspberry Pi 8MP IMX219 pi camera due to the camera driver issue. Now Arducam team designed upgrade V2.1 multi-camera adapter board for both 5MP and Read more…

What do you want to do with multiple cameras on Raspberry Pi?

Leave your comments below!

Take me to the old blog (2015) instead

The Raspberry Pi multi-camera adapter module is designed to connect more than one camera to a single CSI camera port on the Raspberry Pi board. Each adapter board can connect up to 4 cameras and the user can stack up to 4 adapter boards, which means up to 16 cameras on a single Raspberry Pi board.

Please note that this Raspberry Pi multi-camera adapter board is a nascent product which may have some stability issues and limitations because of the cable’s signal integrity and RPi’s closed source video core libraries, so use it at your own risk.

Application

  • IoT cameras
  • Robot cameras
  • Wildlife cameras
  • 3D scanner

Features

  • Accommodate 4 Raspberry Pi cameras on a multi-camera adapter board
  • Stackable and maxim cascade 4 adapter boards
  • 3 GPIOs required for multiplexing on one adapter board, 5 GPIOs for two adapter board, 9 GPIOs for four adapter board
  • All camera ports are FFC (flexible flat cable) connectors
  • DIP switches for easy stack up configuration
  • Support Raspberry Pi A/B/B+ and Pi 2.

Pin Configuration

DIP switches are used here to easily stack up configuration. When only one multi-camera adapter board is used, the switches 1and 5 should be switched to ON position. If two multi-camera adapter boards are used, the downside board should be switched 1 and 5 to ON and upside board should be switched 2 and 6 to ON position, and if 3 or 4 multi-camera adapter boards are used together each board layer should be configured as Table 1 shown.

Table 1 Pin Configuration

Operations

For proper operation, only one camera should be enabled at a time. In case of only one multi-camera adapter board is used, driving Pin12 HIGH and driving Pin11, Pin7 to LOW to enable camera A on the adapter board. Enable camera B, C, and D, please refer the Table 2 for camera selection configuration. To disable all cameras on one adapter board, Enable 1 and Enable 2 signals should be toggled HIGH. Care should be taken so that it is not allowed to drive Enable 1 and Enable 2 LOW at the same time. When connecting more than two multi-camera adapter boards, only one of the cameras can be enabled by enabling the desired camera on one adapter board and disable all the cameras on the rest of adapter boards.

Table 2 Camera Selection Configuration

Camera Selection ConfigurationSelectionEnable 1Enable 2
A001
B101
C010
D110
No CameraX11
ErrorX00

(X: don’t care)

Software Demonstration

Before using it, required dependency python-rpi.gpio have to be installed with

sudo apt-get install python-rpi.gpio

the command from the Terminal. Then run the following code for a quick demo.

import RPi.GPIO as gp
import os

gp.setwarnings(False)
gp.setmode(gp.BOARD)

gp.setup(7, gp.OUT)
gp.setup(11, gp.OUT)
gp.setup(12, gp.OUT)

gp.setup(15, gp.OUT)
gp.setup(16, gp.OUT)
gp.setup(21, gp.OUT)
gp.setup(22, gp.OUT)

gp.output(11, True)
gp.output(12, True)
gp.output(15, True)
gp.output(16, True)
gp.output(21, True)
gp.output(22, True)

def main():
    gp.output(7, False)
    gp.output(11, False)
    gp.output(12, True)
    capture(1)

    gp.output(7, True)
    gp.output(11, False)
    gp.output(12, True)
    capture(2)

    gp.output(7, False)
    gp.output(11, True)
    gp.output(12, False)
    capture(3)

    gp.output(7, True)
    gp.output(11, True)
    gp.output(12, False)
    capture(4)

def capture(cam):
    cmd = "raspistill -o capture_%d.jpg" % cam
    os.system(cmd)

if __name__ == "__main__":
    main()

    gp.output(7, False)
    gp.output(11, False)
    gp.output(12, True)

Due to normal camera operations, users can still use raspistill or raspivid command to take photos or videos. By controlling the GPIOs according to Table 1 and Table 2 configuration, users can take photos or videos by switching between different cameras. Have fun!

Further Reading

synchronized-stereo-pi-camera-hat-dual-blog-thumbnail

Wanna Use Synchronized Dual Camera for Raspberry Pi 4 or Stereo Camera HAT for Pi 3B+/3? Arducam Makes Them All Come True

Preface Standard Raspberry Pi, like the Pi 4, only offers a single CSI camera connector, but people would love multiple cameras for 3D applications. Arducam has figured out a way to connect the sync two Read more…

55 comments
multi_cam_adapter_board_blog_thumbnail

Arducam V2.1 Multi-Camera Adapter Board for Raspberry Pi 8MP Camera IMX219

Introduction Since the old multi-camera adapter board doesn’t work with Raspberry Pi 8MP IMX219 pi camera due to the camera driver issue. Now Arducam team designed upgrade V2.1 multi-camera adapter board for both 5MP and Read more…

quad camera raspberry pi compute module arducam stereo camera hat

A Quad-Camera System with The Raspberry Pi Compute Module 3/3+

The Difference Between A Compute Module and A Raspberry Pi Most of us are familiar with the standard Raspberry Pi models, such as the Raspberry Pi 2, 3, 3B+, 4. Aside from these models for Read more…

10 comments
jetson-nano-camera-multi-multiplexer-blog-thumbnail

Multi Camera Solutions for Nvidia Jetson Nano

Things to know about using multiple cameras on Jetson Nano The Nvidia Jetson series is known for its extraordinary performance in artificial intelligence with a small form factor. Since the Jetson TX1/TX2 could be too Read more…

1 comment
Categories: Applications

19 Comments

Jeremy · March 17, 2016 at 5:16 pm

Do you sell the adapter board?

Bruce · January 27, 2017 at 5:57 pm

How can I buy this module ? I’m interested to have one.

Mathieu · June 14, 2019 at 9:26 am

Hello,
I would like to know if this multi-camera module is also compatible with Jetson Nano products ?
(https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit) or if it has to be connected to a raspberry pi ?

Regards

Ravi · December 8, 2019 at 11:48 am

Hi, I would like to buy camera adapter for raspberry pi 4. Can you please confirm the availability. Thank you

Keith · July 10, 2020 at 7:28 pm

I notice that it says “one camera at a time”. I want to connect as many cans as possible (i.e. 16) and take a simultaneous picture with all of them. My application is slow moving, do I might be able to take sequential pics from all the cameras if switching time is small: ideally not much more than about 5 milliseconds, based on getting all 16 images in less than 100 milliseconds. Does anyone know if that’s likely to be possible?

Philipp · July 22, 2020 at 12:10 am

Hello, I need a cable length of 70 feet between the cameras and the Raspberry. Will that work with the multi-camera adapter? I can use Cat 7 cable for extend.

    [email protected] · July 22, 2020 at 5:46 pm

    The signal integrity degrades a lot at 70 feet, and we’ve only had the extension tested with 10 meters (about 33 feet) HDMI cable

Diomedes Dominguez · August 2, 2020 at 7:11 am

@Keith, You will need to use the USB ports or use the approach of using IP Cameras.

Julius Pinsker · August 18, 2020 at 12:57 am

How fast is the switching latency? Would it be possible to quickly alternate between camera inputs to feed the made pictures into an obstacle avoidance ai?

Donie · September 8, 2020 at 8:33 am

Is it possible to buy this module?

jasfree · September 11, 2020 at 5:45 am

The Cameras and module requires power. Will the normal raspberry pi power adapter work (5v 3000mA)?

multicamuser · September 16, 2020 at 9:11 am

This board is so much more user-friendly. The i2c requirements on the newest boards tend to throw errors if the environment isn’t perfectly set-up. I just spent a couple of hours trying to get the v2.1 board to work with the RPi4 to no avail, then within three minutes got this board up and running successfully.

I wish this design had been maintained.

John · September 25, 2020 at 8:39 am

Where can I buy this module? Could somebody point me to it?

David Morris · February 22, 2021 at 10:26 pm

Very interested in supporting your product. I am a application developer on pi.
Please get back to me.
David

wilfried · April 5, 2021 at 5:39 am

I would like to build a bird (Bat, Insect) detection and tracking system, based on a wide angle detection cam and a tele cam. of course also two servo’s and a raspberry pi and ssddrive. the idea is to put the unit behind the window facing my garden with nesting boxes and get footage of the birds entering those boxes and leaving.

your ideas are welcome 🙂
regards,
Wilfried

    ZhangWeiQiu · April 6, 2021 at 11:34 pm

    Hi Wilfried, there are actually multiple choices, I’ve forwarded your message to our tech team, you will get an email reply with recommendations soon.

Tom Knight · April 14, 2021 at 10:13 am

Is it possible to run different types of cameras at the same time, I would like to take capture an image using camera connected to a Pi and capture a thermal image at the same time with a second camera.

Leave a Reply

Your email address will not be published. Required fields are marked *