Skip to Content

CameVision EGO - Dual Global-Shutter AI Stereo Camera

SKU CV-EGO01-OS-SC Direct manufacturer MOQ 10
(0 review)

Open Stereo Vision Platform for SLAM, Robotics & Spatial AI

CameVision EGO combines dual 2.3MP global-shutter cameras, dual IMUs, a processor with onboard NPU, Wi-Fi 6, BLE, USB 3 and local storage in one compact platform. Built for engineering teams and founders developing SLAM, robotics, egocentric AI and computer vision products. Fully open-source demo software is provided on GitHub, with OEM customization available for product integration and volume projects.

SpecificationCameVision EGO
Cameras2 × 2.3MP global shutter
StereoSynchronized dual-camera vision
IMU2 × IMU, one per camera
ProcessorRockchip RV1126B
AIIntegrated NPU
Memory1GB RAM
Storage16GB eMMC + microSD
WirelessWi-Fi 6 + BLE
USBUSB 3
PowerBattery support
SoftwareFully open-source demo software on GitHub
CustomizationOEM customization available
ApplicationsSLAM, robotics, VIO, egocentric AI, spatial AI
$ 245.00 $ 245.00

  • Sensor

This combination does not exist.

Price breaks
Sales Price Minimum Order Quantity 10 units $ 235.00 per unit
Sales Price Minimum Order Quantity 1000 units $ 190.00 per unit

Minimum order: 10 units.


🔧 Fully Customizable to Your Needs

At Camemake, every camera module you see online is just the beginning. All our models can be custom-tailored to fit your project perfectly — from sensor type and lens options to housing, interface, and firmware. Whether you’re building for robotics, vision systems, or unique applications, we bring your vision to life.

📩 Request a Custom Quote      OR     Start your project

Let’s talk about your idea! Our team will guide you from concept to final delivery.

📦 Talk to the Camemake Team

Need something off-the-shelf and ready to go? Our trusted global distribution partners stock our most popular modules.

🌍 See Our Distributor Network

💡 Not sure whether to choose custom or off-the-shelf? We’ll help you pick the most cost-effective option.

Our online prices are for prototyping & small orders. For bulk pricing, OEM, or custom projects, contact us for exclusive deals & expert support.

📩 Contact sales@camemake.com—let’s build your vision, one pixel at a time!

Disclaimer & Support Policy

All Camemake USB camera modules are fully compliant with UVC (USB Video Class) drivers, ensuring plug-and-play compatibility with all standard UVC-supported devices across Windows, macOS, Linux, and embedded platforms. For developers and integrators working with MIPI camera modules, selected MIPI drivers are available for download via our official Camemake GitHub repository. We continuously expand our online driver and documentation library to support a wider range of image sensors and platforms.

Please note: while we provide open access to resources, direct one-on-one technical support for driver integration is not included. For peer-to-peer assistance, tips, and best practices, join our growing Camemake Camera Community on Reddit, where engineers and makers share solutions, showcase projects, and contribute to open development.

CameVision EGO engineering

CV-EGO01-OS-SC (SC233HGS), CV-EGO01-OS-OV (OG02C10), CV-EGO01-OS-AM (MIRA220). Same PCB, V1.I1. USB is ADB, not UVC.

Fitted parts

CameVision Ego V1.I1. Source: device-tree/rv1126b-camevision-ego.dts.

BlockSchematic labelOn the board
SoCRV1126BRV1126B
DDR4 U3K4A4G165WG (512 MB)K4A8G165WG 16-bit 1 GB
eMMC U2ABWCTAK611G16GBWCTAK611G16G 16 GB
Cameras U7 / U10SC233HGS / OG02C10 / MIRA220 (AM220)x2, I2C 0x30 each. SKU OS-SC / OS-OV / OS-AM
IMU U9 / U12LSM6DSV320XTRLSM6DSVQTR x2
PMICRK801-2I2C0 0x27
RTCRV-3028-C7I2C2 0x52
Wi-Fi / BTVS6621S80 U14SDMMC1 + UART2
ChargerBQ24072RGTR U13250 mA fast charge
microSDU6 475710001SDMMC0, 1.8 V VDD

Cameras

NetPad / GPIOFunction
CAM0 MIPICSI RX0, 4-lane + CLKU7 to /dev/video24
I2C3_SCL/SDA_CAMI2C3M1 GPIO4_A4 / A5 @0x30CAM0 control, 400 kHz
CAM0 XVCLKCLK_CAM0_OUT 27 MHzSensor clock
CAM0_PWDNGPIO4_A3 pad 1V21XSHUTDN, active high
MIPI_RX0_SYNCAG32 GPIO4_A1FSYNC to U7.D3
MIPI_RX0_TRIGGERU31 GPIO6_C2EFSYNC to U7.B5
CAM1 MIPICSI RX1, 4-lane + CLKU10 to /dev/video32
I2C4_SCL/SDA_CAMGPIO4_A6 SCL, GPIO4_A7 SDA @0x30CAM1 bit-bang (pads swapped vs SoC I2C4_M2)
CAM1 XVCLKCLK_CAM1_OUT 27 MHzSensor clock
CAM1_PWDNGPIO4_A2 pad 1Y23XSHUTDN
MIPI_RX1_SYNCAG31 GPIO4_A0FSYNC to U10.D3
MIPI_RX1_TRIGGERV31 GPIO6_C3EFSYNC to U10.B5
PWR_EN_2.8VGPIO0_B0 pad 1AB4U15 AVDD 2.8 V
PWR_EN_1.5VGPIO0_B1 pad 1AA4U16 1.5 V
PWR_EN_1.2VGPIO0_B2 pad 1AC2U18 DVDD 1.2 V

Continuous trigger. Shared tick on FSYNC and EFSYNC. I2C4 disabled. GMAC off. SC233HGS chip id 0xcb61.

IMU, I2C, SPI

NetPad / GPIOFunction
SPI0 CLK/CS0/MISO/MOSISPI0_M2 GPIO5_A3 / A4 / A5 / A6IMU0 U9 (CAM0)
IMU0_INT1 / INT2GPIO5_B1, GPIO5_D4IMU0 interrupts
SPI1 CLK/CS0/MISO/MOSISPI1_M0IMU1 U12 (CAM1)
IMU1_INT1 / INT2GPIO6_B5, GPIO6_C1IMU1 interrupts
I2C0_SCL/SDA_PMICI2C0M0 0x27RK801-2
PMIC INT / PWRCTRLGPIO0_C0, GPIO0_C1PMIC
I2C2I2C2M0 0x52RV-3028
RTC INT / EVIGPIO0_C5, GPIO0_C4RTC
I2C1 / I2C5-Disabled on this PCB

IMU sample rates

Fitted part is LSM6DSVQTR x2, IIO st,lsm6dsv. SPI mode 3, spi-max-frequency 1 MHz. DTB: st,odr-triggered, DRDY on INT1.

AccelGyro
This package (HUD)480 Hz480 Hz
IIO nodesCAM0 iio:device2, CAM1 iio:device4CAM0 iio:device1, CAM1 iio:device3
ODR list (Hz)1.875, 7.5, 15, 30, 60, 120, 240, 480, 960, 1920, 3840, 76807.5, 15, 30, 60, 120, 240, 480, 960, 1920, 3840, 7680
Full-scale (typical)+/-2 / 4 / 8 / 16 g+/-125 / 250 / 500 / 1000 / 2000 / 4000 dps

/sys/bus/iio/devices/iio:deviceN/sampling_frequency. Default ODR in tools/ego_imu_hud.py is 480.

Wi-Fi, SD, USB, power, LED, boot

NetPad / GPIOFunction
eMMCEMMC / FSPIU2A, live mmc0
SDMMC0 CLK/CMD/D0-D3GPIO2_A0-A5microSD
SDMMC0_DETGPIO3_B3 pad 1B14Card detect, active low, pull-up
SDMMC0_PWRENGPIO3_B4 pad 1A14SD rail enable
SDMMC1 CLK/CMD/D0-D3SDIOVS6621 Wi-Fi
WIFI_RST / CHIP_ENGPIO3_B2pwrseq, low = rail on (BSS84 Q1)
WIFI_SOC_PWCTLGPIO3_B6HOST_WAKE_WL
WIFI_INTGPIO3_B7 pad A16WL_WAKE_HOST
UART2 TX/RX/CTSUART2M0BT
UART2 RTSGPIO3_A6BT RTS as GPIO
USB-C J3USB2 + USB3 DRDADB gadget, dr_mode peripheral
BAT_CHGGPIO0_A7 pad 1AC4BQ24072 charge status, active low
STATUS_LED_RGPIO0_A6 pad 1AA6RGB common-anode, active low
STATUS_LED_GGPIO0_A5 pad AL10RGB common-anode, active low
STATUS_LED_BGPIO0_A4 pad 1AB6RGB common-anode, active low
UART0UART0M2Console 1.5 Mbaud
SARADC0_IN7ADCMaskrom / eMMC boot

Card detect is GPIO3_B3. GPIO0_A5 is the green LED. USB stays ADB, not a UVC webcam.

Schematic sheets not used on this PCB

BlockState in the device tree
GMACOff: frees GPIO6_C2 / C3 for camera EFSYNC
I2C1, I2C5Disabled
DSI / displayUnused
EPHY / EthernetSheet present, not fitted
Audio / I2SSheet present, not fitted

The two faces

Camera side: dual modules and RV1126B
Camera side: dual modules and RV1126B
Connector side: USB-C, PH, RST, BOOT, UART, thermal via field
Connector side: USB-C, PH, RST, BOOT, UART, thermal via field

Where the heat is

Thermal path: RV1126B, centre of the camera side. Dual ISP, stereo and NPU. Cameras, eMMC and VS6621 stay clear of that path.

ZoneOn the PCBIn the housing
SoC lidLarge square, camera side, between the two eyesPrimary cool point. Soft thermal pad or putty onto a metal wall, spreader or small heatsink.
SoC via fieldCentre of the connector side, under the BGASecondary cool point. Isolating gap pad from that copper into the same metal volume.
PMIC / powerDark block left of centre on the connector sideAir or a light pad. Keep USB-C and PH clear.
CamerasBlack barrels at each endOptical keep-out. Support the PCB, never clamp or twist the modules.
Wi-Fi / antennasRight-hand square and gold RF padsPlastic or air in front of the antennas. Metal here kills range and does not cool the SoC.

Die operating 35-45 C. Kernel trip 115 C (cpu-thermal / soc-crit). Passive sink sized for the top of the band in still 25 C air. NPU off at the low end.

Cooling is part of the housing

The metal that holds the cameras is the heat path off the RV1126B.

  1. Pick up the lid. A 1-2 mm silicone gap pad (electrically isolating, 3 W/mK or better) on the RV1126B lid, compressed 10-30 % onto a flat aluminium or steel wall.
  2. Use the via field. A second pad on the connector-side via field, into the same metal.
  3. One stiff volume. The stereo baseline is the PCB. Housing holds the board, not the camera barrels.
  4. Leave service faces. USB-C, BOOT, RST and PH stay reachable. Maskrom: hold BOOT, tap RST.

Mass and air surface

About 2.0 W with dual ISP and stereo, NPU off. About 3.0 W with the NPU on. Room 25 C. Design die: 42 C off, 45 C on. Pad about 1.5 C/W.

NPU off, 2.0 WNPU on, 3.0 W
Die in still 25 C air35-42 C40-45 C
Air skin on the metal100 cm2160 cm2
Aluminium60 g100 g
Practical part50 x 50 mm, 12 mm fins60 x 60 mm, 15-18 mm fins, or one 80 x 50 mm housing wall

Pad and metal

UseAvoid
InterfaceSoft isolating gap pad or putty on the SoC lid and via fieldBare metal on the via field, liquid metal, hard thermal epoxy that locks the BGA
PressureEven, light compression from the lidA point load, a screw through the SoC, or a spring that bends the board
MetalAluminium pocket or plate over the centre of the boardMetal over the right-hand RF square or in front of the lenses
AirA short chimney past the SoC if the shell is plastic-onlyFoam, tape or a logo plate sitting on the RV1126B

Assembly order

  1. Board. Handle the green outline, not the camera barrels and not the SoC lid. Both modules square. Baseline is this PCB. Keep the connector side clean.
  2. Thermal parts. Lid pad on the RV1126B square only. Cut the back pad to the via field only. Stay off USB-C, PH, RST, BOOT and the UART pads.
  3. Housing. Lower the board onto the bosses. Cameras enter their holes last, with no side load. Close the lid so the SoC pad compresses. Check that BOOT and RST still click.
  4. Prove the path. Power from USB-C. Wait until stereo and ISP are up (live page after ADB forward on the host). On-die sensor after depth is up: 35-45 C (35000-45000). NPU off at the low end; NPU on near 45 C.

Keep-outs

FeatureWhy
Camera barrelsOptical axis and stereo baseline. A clamp here shifts depth and can crack the module.
microSDCard eject. SoC pad stays off the slot.
BOOT / RST / RX / TXMaskrom and console.
PHBattery lead. Strain-relieve the cable in the shell, not on the connector.
Right-hand RF squareWi-Fi / BT. Metal here is an antenna shield, not a cooler.
Board flexThe outline is the stereo bar. One screw that twists the PCB is a calibration failure.

Read the SoC temperature

adb shell cat /sys/class/thermal/thermal_zone0/temp

Millidegrees C. 40000 is 40 C. Operating 35000-45000. Critical trip 115000 (115 C).

2G4P module

Construction2G4P + 1 IR, M12
EFL1.79 mm (597 px SC233HGS, 639 px MIRA220, 519 px OG02C10)
F-number2.0
SC233HGS fieldD 160, H 144, V 100 on 6.60 / 5.76 / 3.60 mm
TV distortion< -22.3 %
CRA15.94 deg
Relative illumination> 40 %
Image circle6.60 mm (SC233HGS), 7.00 mm (OG02C10)
Optical TTL15.00 +/- 0.3 mm
Mechanical TTL13.92 +/- 0.3 mm
Back focal3.40 mm
Thread / barrelM12 x 12.00 mm, OD 16.00 mm
IR-cut420-600 nm Tavg >= 90 %, 650 +/- 10 nm T = 50 %
Closest object0.20 m
Seal / storageIP69, -40 to +85 C
Baseline75.0 mm, CAM0 left, CAM1 right

Dies

SC233HGSMIRA220 (AM220)OG02C10
Pixels1920 x 12001600 x 14001600 x 1200
Pitch3.00 um2.80 um3.45 um
Active array5.760 x 3.600 mm4.488 x 3.922 mm5.520 x 4.140 mm
Diagonal6.79 mm5.95 mm6.90 mm
Format1/2.6 in1/2.7 in1/2.5 in
ShutterColour Bayer, globalBSI globalColour global
f597 px639 px519 px
D / H / V160 / 144 / 100147.4 / 118.6 / 106.4160 / 140 / 112
Half field H / V / D72.0 / 50.0 / 80.059.3 / 53.2 / 73.770.0 / 56.0 / 80.0
CRA15.9415.9415.95
SKUCV-EGO01-OS-SCCV-EGO01-OS-AMCV-EGO01-OS-OV
Active arrays, 72 px / mm
Active arrays, 72 px / mm

Size at 0.40 m

SC233HGSMIRA220 (AM220)OG02C10
10 mm grid15 px16 px13 px
30 mm module45 px48 px39 px
100 mm149 px160 px130 px
180 mm hand269 px288 px233 px
200 mm mat298 px320 px259 px
Disparity 0.30 / 0.40 / 0.60 m149 / 112 / 75 px160 / 120 / 80 px130 / 97 / 65 px
Look-down pose: lens 1.42 m, table 0.75 m, hands 0.40 m
Look-down pose: lens 1.42 m, table 0.75 m, hands 0.40 m

Ego frames

SC233HGS, 1920x1200, 144 x 100
SC233HGS, 1920x1200, 144 x 100
MIRA220 (AM220), 1600x1400, 118.6 x 106.4
MIRA220 (AM220), 1600x1400, 118.6 x 106.4
OG02C10, 1600x1200, 140 x 112
OG02C10, 1600x1200, 140 x 112

Field on the table

SC233HGS left
SC233HGS left
MIRA220 left
MIRA220 left
OG02C10 left
OG02C10 left
SC233HGS stereo pair, +75.0 mm, 112 px at 0.40 m
SC233HGS stereo pair, +75.0 mm, 112 px at 0.40 m

Where it runs

PlaceWhat sits there
Host PCUSB driver, flash, overlay push, ADB forwards, diagnostics, session writer. Sources on GitHub.
Board /userdataStereo page, FSYNC/EFSYNC, IMU HUD, calibration UI, Wi-Fi STA, IQ JSON, native matcher, boot scripts
Board kernelDevice tree, CSI, I2C/SPI, SDIO Wi-Fi, ADB gadget: rv1126b-camevision-ego.dts

Sources: tools/. Overlay: restore/release-0.2-20260902/overlay/ to /userdata.

Drivers

Kernel in the boot FIT is 6.1.141-rt52. In-tree nodes come from the DTB. Out-of-tree modules sit in the overlay and are insmod'd from the boot scripts.

BlockDriver / compatibleWhere it livesLive nodes
MIPI sensorsmartsens,sc233hgsBoot FIT (kernel + DTB)I2C 3-0030, 6-0030, chip id 0xcb61
MIPI CSI-2 D-PHYcsi2_dphy0, csi2_dphy1DTB, 4 lanes eachPHY under CSI RX0 / RX1
MIPI CSI-2 hostmipi0_csi2, mipi1_csi2DTBBridge into CIF
CIFrkcif, rkcif_mipi_lvds, rkcif_mipi_lvds1DTB + Rockchip CIFRaw path into ISP
ISP / VPSSrkisp, rkisp_vir0/1, rkvpss_vir0/1DTB + Rockchip ISP/dev/video24 CAM0, /dev/video32 CAM1
3A / IQrkaiq_3A_server/oem/usr/bin/ + IQ JSONExposure / AWB on both ISPs
IMUst,lsm6dsv (IIO)Boot FIT, SPI0 / SPI1iio:device1 to iio:device4
Wi-Fi / BLESDIO 1FFE:6621, skw_sdio_lite, swt6621s_wifi, skwbtOverlay swt6621-rt52/ + FWmmc2, wlan0, hci0
Wi-Fi stackcfg80211, mac80211camevision-wifi.shnl80211 + wpa_camevision.conf
USB gadgetDWC3 dr_mode=peripheralDTB + rootfsADB 2207:0006
eMMC / SD / SDIOemmc, sdmmc0, sdmmc1DTBmmc0 eMMC, mmc1 uSD, mmc2 Wi-Fi
RTC / PMICrv3028 I2C2 0x52, rk801 I2C0 0x27DTB/dev/rtc0
NPU / GPU / MPPrknpu, mali, mppKernel + kmpp-rt52.ko/dev/rknpu, /dev/mpp_service

Camera pipe: sensor to D-PHY to CSI-2 to CIF to ISP to VPSS. USB stays the Camemake ADB gadget. Do not switch the board to a webcam profile.

Device tree

Board source: rv1126b-camevision-ego.dts. Model string CameVision Ego, compatible camemake,camevision-ego.

NodeState
i2c3/sc233hgs@30, i2c-gpio-cam1/sc233hgs@30Both cameras, 27 MHz XVCLK, 4-lane
i2c4Disabled: CAM1 SCL/SDA are swapped, bit-bang instead
csi2_dphy0/1, mipi0/1_csi2, rkcif*, rkisp*Dual pipe
spi0/imu@0, spi1/imu@0st,lsm6dsv, SPI mode 3, 1 MHz, st,odr-triggered
sdmmc1 + pwrseq, UART2 BTVS6621
usb@21500000dr_mode = peripheral (ADB)
gmac, dsi, i2c1, i2c5Disabled
uart0Console 1.5 Mbaud

Flash partition map

LBAImage
loader (db once)rv1126b_spl_loader_k4a8g.bin
0x0env.img
0x40idblock.img
0x440uboot.img
0x2440camevision_boot_ego.img (kernel + DTB FIT)
0x7C40userdata.img, then overlay
0x207C40oem_noko.img
0x607C40rootfs_bootstable.img

CLI: tools/cv_ego_flash.py then tools/cv_ego_overlay_deploy.py.

python tools/cv_ego_flash.py --prebuilt
python tools/cv_ego_overlay_deploy.py

Boot chain

  1. S11hwclock: RV-3028 to system clock.
  2. S99ego-stereo: starts the stereo script.
  3. camevision-stereo.sh: kmpp, Wi-Fi, rkaiq 3A, IMU HUD, then ego_stereo.py.
  4. cv_ego_page.py: adb forward 8081 and 8083, opens the live page on the host.

On the board

BlockFileOn the boardRole
Live stereoego_stereo.py/userdata/ego_stereo.py, port 8081Reads /dev/video24 and /dev/video32. JPEG live page, depth, calibration, record.
Matcherstereo_native.c/userdata/libego_stereo.soC block matcher and NV12 overlay.
FSYNC / EFSYNCego_cam_sync.pyimported by the live pageGPIO4_A1/A0 + GPIO6_C2/C3. Default 12.5 fps continuous trigger.
IMU HUDego_imu_hud.pyport 8083JSON of IMU0 (CAM0) and IMU1 (CAM1).
Calibrationego_calib.html/calWrites /userdata/ego_calib.json.
Focus / MTFego_mtf.py/focus/startISO 12233 slanted-edge MTF50.
Recordego_record.py/record/startHEVC of the live NV12.
Wi-Fi STAcamevision-wifi.sh/userdataVS6621 modules + wpa conf.
IQiq JSON/userdata/iqfiles/SC233HGS 3A / ISP tuning.

Live page routes (host after ADB forward)

On the PC that has the board on USB: adb forward tcp:8081 tcp:8081, then open http://127.0.0.1:8081/.

PathBody
/Live HTML, /ov0 and /ov1 MJPEG
/ov0, /ov1MJPEG with depth overlay
/raw0, /raw1MJPEG without overlay
/depthDepth view
/snap0, /snap1, /snapxSingle JPEG
/statJSON status
/imuJSON from :8083
/trigFSYNC / EFSYNC status
/cal and /cal/*Calibration session
/focus/start, /focus/stopMTF
/alignStereo align
/record/start, /record/statSession record

Host tools on GitHub

BlockFileRole
USB drivercv_ego_driver.pyRockusb + ADB
Flashcv_ego_flash.pyMaskrom write, then overlay
Overlaycv_ego_overlay_deploy.pyADB copy into /userdata
Open livecv_ego_page.pyForwards 8081 / 8083
Autostartcv_ego_autostart.pyHost watcher
Diagnosticscv_ego_diag.pyADB dump
Record (host)cv_ego_record_host.pySession writer

Repository: github.com/Camemake/CameVision-Ego

Specifications

Sensor SC233HGS, OG02C10, MIRA220

Let's make your own customized camera module

The prices shown in our webshop reflect low-volume pricing intended for evaluation and prototyping. For bulk orders, OEM integration, or project-based customization, we offer competitive volume pricing and professional support.

Our Camemake products

Your Dynamic Snippet will be displayed here... This message is displayed because you did not provide both a filter and a template to use.