Skip to main content

M3A (3MP Mini HDR 30fps)-HFOV 200°

Overview

The M3A camera is specially developed and designed for humanoid robot applications. It features an ultra-small size and ultra-lightweight design, with dimensions of 17mm x 17mm. It uses a 3MP HDR sensor and can be applied to positions such as the head and torso of humanoid robots. It offers high-quality image effects that have been professionally tuned.

M3A

Key Features and Application

Features:
• Output uncompressed YUV data
• High Dynamic Range (HDR)
• Low latency
• Support external trigger
• Multi-camera synchronization

Application:
• Humanoid Robots
• Data collection
• Robot dog

Getting Started

Specification

ParameterValue
SensorRGGB
ISPBuilt-in
Image Size1/2.42 inch CMOS
Output Pixels1920H*1536V
Pixel Size3.0um*3.0um
Frame Rate1920*1536@30fps (MAX 60fps)
HDR SupportYes
LFMYes
Output dataYUV422@8bit
SerializerMAXIM MAX96717
Camera InterfaceGMSL2
Power Supply9~16V POC
CurrentLess than 200mA@12VDC
ConnectorAmphenol Fakra (Z Code)
Operating temp. range-40~+85℃
DimensionsW: 25mm, L:25mm, H:18.6mm
WeightLess than 50g

Dimensions

M3A

Hardware Overview

Block Diagram

M3A_BlockDiagram

I2C Address Information

ComponentParameterValue
SerializerModelMAX96717
I2C Address0x80 (8bit address)
GMSL RateGMSL2 (6G bps)
SensorModelRGGB
I2C Address0x34 (8bit address)
Frame SyncControlled by MAX96717 MFP7
ResetControlled by MAX96717 MFP0

Lens Specifications

HFOVVFOVF.NoEFLFocus DistanceDepth of FieldWater-proofLens Mount
200°155°2.01.51mm0.4m0.15m - INFIP69KAA

Employing Camera

1. Adaptation to NVIDIA® Jetson™ platform

SH3-S11A60-G2A_ConnectNvidia

M3A Camera Connect to Nvidia Jetson AGX Orin

Step 1: Installation Steps

Quick Setup
  1. Connect the M3A 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. M3A 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.2M3AJetson 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 MAX96717_I2C_ADDR 0x80 // 8-bit address

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

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

// camera trigger MFP7 low to high
i2c_write(MAX96717_I2C_ADDR, 0x02D3, 0x00); // MFP7 low
delay_ms(300);
i2c_write(MAX96717_I2C_ADDR, 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.