ON THIS PAGE

  • Getting started with FFC
  • Overview
  • OAK FFC Baseboards
  • FFC Camera Modules
  • Raspberry Pi Camera Modules
  • FFC Camera Mounting
  • M12 Mount Lenses
  • M12 Selectable FOV
  • Developing with the OAK FFC
  • Installing requirements
  • Testing the configuration
  • Use cameras in code
  • Extending functionality
  • PSRBS Connector
  • Connecting an IR Module
  • UART
  • UART Pinout
  • SD Card support

Getting started with FFC

Overview

OAK FFC baseboards and camera modules are great for prototyping flexibility. Since cameras are modular, you can place them at various stereo baselines and select the camera module based on your project requirements (resolution, shutter type, FPS, optics).

OAK FFC Baseboards

OAK FFC baseboards are OAK devices that have onboard VPU and have exposed FFC connectors, to which you can connect OAK FFC camera modules. Additionaly they expose interfaces like UART, so further expansion is possible.Here's the list of our current OAK FFC baseboards:

FFC Camera Modules

Here's the list of already built OAK FFC camera modules, which you can easily connect to any OAK FFC baseboard with a flat flexible cable. We are working towards offering OAK FFC camera modules for all supported CCMs.
OAK FFC Camera ModuleShutterResolutionNotes
OAK-FFC-IMX378 (AF)Rolling12MPColor, Auto-Focus
OAK-FFC-IMX378-FFRolling12MPColor, Fixed-Focus
OAK-FFC-IMX378-WRolling12MPColor, Fixed-Focus, Wide FOV
OAK-FFC-OV9282Global1MPMono, Fixed-Focus
OAK-FFC-OV9282-M12Global1MPMono, M12 mount
OAK-FFC-OV9282-WGlobal1MPMono, Fixed-Focus, Wide FOV
OAK-FFC-OV9782-M12Global1MPColor, M12 mount
OAK-FFC-OV9782-WGlobal1MPColor, Fixed-Focus, Wide FOV
OAK-FFC IMX582Rolling32MPColor, AF
OAK-FFC-IMX577-M12Rolling12MPColor, M12 mount
OAK-FFC-IMX214-WRolling13MPColor, Fixed-Focus, Wide FOV
OAK-FFC-AR0234-M12Global2.3MPColor, M12 mount
OAK-FFC-IMX462 (M12)Rolling2MPColor, Fixed-Focus
Arducam HQ Cam for RPi, IMX477Rolling12.3MPColor, CS mount lens

Raspberry Pi Camera Modules

Raspberry Pi sells a number of camera modules that are compatible with the OAK FFC baseboards. RPi cameras can be connected to the FFC baseboard via the RPi Camera Adapter.
RPi Camera ModuleSensorShutterPixelsNotes
RPi Camera Module 3IMX708Rolling12 MPColor, Auto-Focus. Initial (WIP) integration
RPi Camera Module 2IMX219Rolling8 MPColor, Fixed-Focus. Requires imx219 branch
RPi High Quality CameraIMX477Rolling12 MPColor, C/CS mount
RPi Global Shutter CameraIMX296Global1.6 MPColor, C/CS mount. Might have color artifacts, see workaround here
If you just want to use IMX477, we suggest using Arducam HQ Cam for RPi, IMX477 that works directly with OAK FFC baseboards (without the UC-244 adapter).

FFC Camera Mounting

OAK-FFC Kit is a great way to mount your OAK FFC camera modules. It allows you to easily customize both horizontal and vertical stereo baseline. You can buy it from our shop. For usage, see instruction here.Mounting adapters can also be found on Github.

M12 Mount Lenses

Some of the FFC camera modules above have M12 mount, so you can use a variety of different lenses (for custom FoV), for example:

M12 Selectable FOV

Tests were done using 2x OAK-FFC-IMX477-M12 and two different M12 lenses: 20° FOV and 190° FOV.Side-by-side comparison of narrow and wide FOV M12 lenses on OAK-FFC-IMX477-M12:Test setup from birds view:

Developing with the OAK FFC

1

Installing requirements

Depending on which FFC device you are using, you can check the getting started guide for either:After installing the dependencies and depthai library, you can start developing with the OAK FFC devices.
2

Testing the configuration

After connecting cameras to the baseboard, you can use the utilities/cam_test.py script to quickly test whether cameras are working as expected. By default, it will try to run 2x mono cameras on 2-lane MIPI ports B (left) and C (right) and 2x color cameras on port A (RGB) and D (4-lane MIPI ports).If you have different cameras connected, you can specify which camera types to use with the --cameras argument:
Command Line
1cam_test.py [-h] [--cameras <BoardSocket>,<CameraType>]
For example, if you have 3x mono cameras connected to ports A, B, and C, you can run the following command:
Command Line
1python3 cam_test.py --cameras rgb,m right,m left,m
3

Use cameras in code

Similarly, to add such configuration into your script you can use the following code:
Python
C++
Python
1cam_a = pipeline.create(dai.node.MonoCamera)
2cam_a.setBoardSocket(dai.CameraBoardSocket.CAM_A) # Same as CameraBoardSocket.RGB
3cam_a.setResolution(dai.MonoCameraProperties.SensorResolution.THE_400_P)
4
5cam_b = pipeline.create(dai.node.MonoCamera)
6cam_b.setBoardSocket(dai.CameraBoardSocket.CAM_B) # Same as CameraBoardSocket.LEFT
7
8cam_c = pipeline.create(dai.node.MonoCamera)
9cam_c.setBoardSocket(dai.CameraBoardSocket.CAM_C) # Same as CameraBoardSocket.RIGHT
10
11cam_d = pipeline.create(dai.node.MonoCamera)
12cam_d.setBoardSocket(dai.CameraBoardSocket.CAM_D)

Extending functionality

PSRBS Connector

The OAK-FFC-4P has a PSRBS connector, which allows users to easily connect the OAK camera to the external logic. You can use PSRBS cable to connect to this connector.
PinNameDescription
1VDD_5V5V power input/output
2STROBEStrobe signal output, can drive external lighting (projector, illumination lights, etc.)
3MODULE_nRSTAllows resetting the OAK-FFC from an external source (GND will reset the RVC2, same as RST button)
4BOOT_SELAllows selecting whether to boot into the bootloader (1.8V will skip bootloader, same as BOOT button)
5COM_AUX_IO22-lane MIPI FSYNC signal input/output
6FSIN_4LANE4-lane MIPI FSYNC signal input/output
7GNDGND power input/output

Connecting an IR Module

If you have an OAK-FFC-4P R5 or newer and you wish to use the OAK-FFC-IR module, you must first configure which camera will drive the STROBE signal to the connector to which you connect your IR module. The connector is located to the left of the switch (J12, see the image below).If you have a stereo pair on CAM_B and CAM_C and want to have a dot projector synced with the stereo pair, you should move the switch 2 or 3 up (ON). Keep in mind that only one switch can be up at a time.

UART

Some OAK FFC devices have UART exposed, so you can use it for communication with other devices. For example, you can connect a GPS module to the UART port and get the GPS data in your application.To use UART in your application, checkout the UART Example.

UART Pinout

Pinout depends on the board you are using. Here are the UART pinouts for the OAK-FFC devices:
OAK-FFC DeviceTXRX
OAK-FFC-4P1516
OAK-FFC-4P POE//
OAK-FFC-1P POE4546
OAK-FFC-3P//

SD Card support

SD card functionality is community support only and should still work on separate depthai branch but won't be updated frequently.You can use the SD card to store data (logs/images/configs) from the running device - see example.

Need assistance?

Head over to Discussion Forum for technical support or any other questions you might have.