Skip to main content

Astra S36 Stereo Camera

Overview

The S36 is a stereo camera specifically engineered for embodied intelligence applications. It features dual 3MP High Dynamic Range (HDR) sensors and achieves an overall IP65 protection rating, making it adaptable to both indoor and outdoor robotic environments. The module is equipped with a 6-axis IMU sensor and boasts a human-like 60mm baseline, integrated with wide-angle lenses that provide a 120° Horizontal Field of View (HFOV). It utilizes a high-precision stereo Active Alignment (AA) process to ensure superior optical axis consistency.

S36 Stereo Camera

Key Features and Application

Features:
• GMSL2 Stable Serial Interface
• High Dynamic Range (HDR)
• Stereo Trigger Synchronization
• Integrated 6-axis IMU
• H120° Ultra Wide-Angle
• 60mm Human-eye Baseline

Application:
• Humanoid Robots
• Robot Dog
• Robotic Arm
• Deep Computing

Getting Started

Specifications

ParameterSpecification
QTY Of Sensor2
Resolution3840(H) × 1536 (V)
3840(H) × 1080 (V)
Frame Rate1920 (H) × 1536 (V) @30FPS
1920 (H) × 1080 (V) @60FPS
ShutterRolling shutter
Recommended Working Distance0.4m~8m
Output FormatYUV422
Baseline60 mm
Color / MonoColor sensor
HDR support140dB
IMUBMI088
Camera InterfaceGMSL2
Power Supply9 ~ 16 VDC
Current< 250mA
ConnectorAmphenol (Z Type Fakra)
Operating Temp-40~+85°C
Active speckle projectorNo
DimensionsW: 30mm, L:84mm, H:35.8mm
Ingress ProtectionIP65
Weight< 200g

Dimensions

S36 Stereo Camera

Hardware Overview

Block Diagram

S36 Stereo Camera Block Diagram
IMU Configuration Note

IMU: BMI088 (6-axis IMU)
The camera is equipped with a 6-axis IMU sensor, which provides accurate orientation and motion tracking information.

I2C Address Information

ComponentParameterValue
SerializerModelMAX9295D
I2C Address0x80 (8bit address)
GMSL RateGMSL2 (6G bps)
Sensor-1I2C Address0x34 (8bit address)
Frame SyncControlled by MAX9295D MFP7
ResetControlled by MAX9295D MFP3
Data TypeYUV 422
Sensor-2I2C Address0x36 (8bit address)
Frame SyncControlled by MAX9295D MFP7
ResetControlled by MAX9295D MFP8
Data TypeYUV 422

Lens Options

ResolutionHFOVVFOVF.NoEFL (mm)DOF
Sensor1 -1920(H) × 1536 (V)
Sensor2 -1920(H) × 1536 (V)
120°92°2.03mm0.4m~8
Sensor1 -1920(H) × 1080 (V)120°63°2.03mm0.4m~8

Employing Camera

1. Adaptation to NVIDIA® Jetson™ platform

Step 1: Installation Steps

Quick Setup
  1. Connect the S36 stereo camera to the SG10A-AGON-G2M-A1 board using the coaxial cable
  2. Mount the SG10A-AGON-G2M-A1 board onto the Jetson AGX Orin module
  3. S36 stereo camera Connect the power supply
  4. SG10A-AGON-G2M-A1 board Connect the power supply
  5. Power on the system

Step 2: Software Preparation

SDK Download

-Select the appropriate driver package based on your camera type and JetPack version:

-Copy the full link address to DownGit to download

NO.JetPack VersionCameraNVIDIA Jetson DevicesAdapter BoardDownload Link
1JP6.2S36 stereo cameraJetson AGX Orin Developer KitSG10A-AGON-G2M-A1Download
JetPack Versions

NVIDIA JetPack (Jetpack 5.1.2 or Jetpack 6.0 ) is the official software development kit (SDK) for the Jetson series of development boards. It includes the operating system, drivers, CUDA, cuDNN, TensorRT, and other development tools and libraries. Each JetPack version typically corresponds to a specific Jetson Linux version (formerly known as L4T - Linux for Tegra).

  • 36.4.3: L4T R36.4.3 (Jetpack 6.2)
  • 36.4: L4T R36.4 (Jetpack 6.1)
  • 36.3: L4T R36.3 (Jetpack 6.0)
  • 35.4.1: L4T R35.4.1 (Jetpack 5.1.2)

For more information, visit NVIDIA's official Jetson Download Center.

2. Camera Integration with Customer's Self-developed Platform

For customers with their own deserializer who want to adapt our camera (serializer) to their platform, detailed technical coordination is required.

SG8A-ORIN-GMSL2-complete

The diagram illustrates the communication architecture between a camera and controller system. It shows how data flows from the Sensor/ISP through the Serializer on the Camera side, across to the Deserializer and SOC on the Controller side. The system utilizes Fsync signals for synchronization and MFP7 interfaces for control. This architecture is essential for proper integration of SENSING cameras with customer-developed platforms.

SENSING will provide:

  • Serializer and Deserializer Configuration

  • Link Status Troubleshooting Guide

    • Link training parameters
    • Error detection settings
tip

Please refer to the software flow and demo code below to develop your driver code.

Software Development

  1. Driver Development:
/* Example code for MAX9296 I2C initialization */
#define MAX9296_I2C_ADDR 0x90 // 8-bit address

int max9296_init() {
// Initialize I2C bus
i2c_init();

// disable MIPI output
i2c_write(MAX9296_I2C_ADDR, 0x0313, 0x00);
delay_ms(100);
// Configure link settings for GMSL2 (6Gbps)
i2c_write(MAX9296_I2C_ADDR, 0x0001, 0x02);

// Configure linkA and linkB settings for GMSL2 selection (default value)
i2c_write(MAX9296_I2C_ADDR, 0x0006, 0xC0);

// Configure MIPI rate 1200Mbps
i2c_write(MAX9296_I2C_ADDR, 0x0320, 0x2C);

// enable MIPI output
i2c_write(MAX9296_I2C_ADDR, 0x0313, 0x02);

return 0;
}
  1. Camera Configuration:
/* Example code for   initialization */

#define MAX9295_I2C_ADDR 0x80 // 8-bit address

int camera_init() {
// Initialize deserializer first
max9296_init();

// Reset ISP through MAX9295A
i2c_write(0x80, 0x02BE, 0x10); // MFP0 high
//
i2c_write(0x80, 0x0057, 0x12);
i2c_write(0x80, 0x005B, 0x11);
// Configure datatype YUV422 8bit
i2c_write(0x80, 0x0318, 0x5E);

// camera trigger MFP7 low to high
i2c_write(0x80, 0x02D3, 0x00); // MFP7 low
delay_ms(300);
i2c_write(0x80, 0x02D3, 0x10); // MFP7 high

return 0;
}

Integration Steps

  1. BSP Integration:

    • Modify the device tree to include the CSI interface configuration
    • Add camera driver to kernel build configuration
    • Configure media controller pipeline for the camera
  2. Application Development:

/* Example code for capturing camera frames */
#include "camera_api.h"

int main() {
// Open camera device
int fd = open("/dev/video0", O_RDWR);
if (fd < 0) {
perror("Failed to open camera device");
return -1;
}

// Configure video capture format
struct v4l2_format fmt = {0};
fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
fmt.fmt.pix.width = 1920;
fmt.fmt.pix.height = 1536;
fmt.fmt.pix.pixelformat = V4L2_PIX_FMT_UYVY;

if (ioctl(fd, VIDIOC_S_FMT, &fmt) < 0) {
perror("Failed to set format");
close(fd);
return -1;
}

// Request and map buffers
// ... (buffer setup code) ...

// Start streaming
// ... (streaming code) ...

// Capture and process frames
// ... (frame processing code) ...

// Cleanup
close(fd);
return 0;
}

Step 2: Data Processing

After receiving the module data through the MIPI CSI interface:

  • Data Reception
    • MIPI CSI-2 protocol implementation
    • Data rate configuration
  • Image Processing
    • YUV422 data parsing
    • Image format conversion
    • Display configuration

Technical Support

  • Documentation

    • Detailed register descriptions
  • Engineering Support

    • Technical consultation
    • Debug assistance
    • Performance optimization
tip

SENSING Technology provides technical support for integration with most platforms. For detailed documentation, sample code, and technical assistance, please contact our support team.