1. Home
  2. Docs
  3. Camera breakout board
  4. 1MP OV9281 Global Shutter
  5. Software Guide

Software Guide


This page describle the basic control over the sensor registers using Arducam camera breakout board, it might not be able to cover all the detail register operations, but give you an insight how to adjust these settings.

Sensor I2C Slave Address

The OV9281 camera I2C 8-bit slave address is fixed to 0xC0. With 16bit regsiter address, and 8bit register value.

There is two product ID register (0x300A and 0x300B) which can help diagnose if the I2C bus is accessable and determine the camera models.

Product ID RegisterValue

Sensor Initialization

You need a basic settings to bring up the sensor and make it working in normal streaming mode. Here is the sample config for the Window GUI.

Camera Sample Config
OV9281_1280x800_MIPI_RAW10 (Monochrome)OV9281_MIPI_1L_RAW10.cfg

Manual Exposure Control

We only change the these registers to demonstrate how manual exposure works.

RegisterBit Description
Minimum exposure time is 1 row period.
Maximum exposure time is frame length – 20 row periods,
where frame length is set by registers {0x380E,0x380F}.
Minimum exposure time is 1 row period.
Maximum exposure time is frame length – 20 row periods,
where frame length is set by registers {0x380E,0x380F}.

Here we demonstrate how to change the Exposure through the register (0x3501).

RegAddr = 0x3501, Value = 0x06

RegAddr = 0x3501, Value = 0x16

RegAddr = 0x3501, Value = 0x31

Manual Gain Control

Gain settings are like the ISO settings in most digital cameras. The gain is divided into analog and digital gain, and there are separate gain settings for four color-specific gains. There is also global gain setting to change all the four color-specific gains.

Here we demonstrate how to change the gain through the LONG_Gain register (0x3508/0x3509).

RegisterBit Description
0x35084:0Long gain [12:8]
0x35097:0Long gain [7:0]

RegAddr = 0x3509, Value = 0x10

RegAddr = 0x3509, Value = 0x20

RegAddr = 0x3509, Value = 0x80

Strobe Signal Control

Strobe facilitates implementation of a flashlight. Strobe generates a pulse with a reference starting point at the time when the pixel array starts integration. Following a delay after the reference starting point, which is controlled by strobe_frame_shift_direction, strobe_frame_shift[30:0], a pulse with a width of strobe_frame_span[31:0] is generated. The step width of shift and span is programmable under system clock domain

How to set strobe signal?

0x3006 Bit[3] 1: output

REG= 0x3928, Vaule=0xFF

REG= 0x3924, Value= 0xFF

Was this article helpful to you? Yes 3 No 1