Introduction
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 Register | Value |
0x300A | 0x92 |
0x300B | 0x81 |

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.
Register | Bit | Description |
0x3500 | 3:0 | Bit[3:0]:Exposure[15:12] |
0x3501 | 7:0 | Exposure[11:4] 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}. |
0x3502 | 7:4 | Exposure[3:0] 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).
Register | Bit | Description |
0x3508 | 4:0 | Long gain [12:8] |
0x3509 | 7:0 | Long 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
