Skip to Content

Buying an Egocentric Capture Device for Embodied AI: The CameVision EGO Buyer's Guide

​ 25 October 2026 by
Buying an Egocentric Capture Device for Embodied AI: The CameVision EGO Buyer's Guide
CVHAI
| No comments yet

Buying an Egocentric Capture Device for Embodied AI: The CameVision EGO Buyer's Guide

Robots learn manipulation from people. The cleanest way to record how a person handles a task is from the person's own eyes and hands, with every frame and every motion sample on one clock. That is the job of an egocentric capture device, and the data is only as good as the hardware that records it.

This guide sets out what a buyer should check, in the order that matters, and shows where CameVision EGO answers each point. Camemake designs and builds camera modules in our own production lines, with cleanroom assembly, optical alignment, QA and serial tracking following ISO9001 standards. EGO is fully open source, so every answer below links to the code or document where it lives.

Two devices are covered:

1. Global shutter on every geometry camera

Hands move fast. A rolling shutter reads the frame line by line, so a moving finger or a turning head shears in the image, and stereo matching and pose estimation inherit the error. Any camera used for geometry must be a true global shutter, with one exposure for the whole frame.

Both EGO devices use global-shutter sensors only. The sensor is chosen at order time from one menu shared by both boards:

SensorResolutionNotes
SC233HGS1920 × 1200Colour, global
OG02C101600 × 1200Colour, global
MIRA2201600 × 1400BSI, global
AR02351920 × 1200Colour or mono, global, 120 fps
OX05B1S2592 × 19445 MP, global
Kaimou GS2.31920 × 1200Mono or RGB, global, 120 fps

Each eye runs on its own 4-lane MIPI link. Full sensor cards are on the EGO datasheet.

On the stereo EGO, every shop sensor runs at 60 fps; that is also the stereo board maximum. AR0235 and Kaimou GS2.3 can reach 120 fps as sensors; on the stereo board they still top out at 60 fps. The Ego Single Sensor uses the same six shop sensors at 60 fps and this board can go higher than 60 fps.

Kaimou GS2.3 is the newest option. Kaimou publishes it as a 2.3 MP global-shutter sensor for robot cameras: 1920 × 1200, 3.0 µm pixel, 1/2.6 inch, up to 120 fps, mono or RGB, 68.6 dB dynamic range, 7300 e⁻ full well and 44.6% QE at 850 nm, with frame sync for multi-camera rigs. It is coming: samples Q4 2026, production Q2 2027. Full figures: GS2.3 specification.

2. Field of view and lens

A buyer should ask for the field of view the data actually delivers after distortion correction, not the diagonal printed on the box. Ask for the lens focal length in pixels and the distortion figure, then compute the corrected field yourself.

EGO publishes the full lens data on the optics page. The lens is a fixed M12 module, 2G4P + 1 IR, EFL 1.79 mm, F/2.0, with TV distortion < −22.3 % and a closest object distance of 0.20 m. There is no autofocus, so the intrinsics do not drift with focus. The field follows the sensor:

  • SC233HGS: D 160°, H 144°, V 100° (f = 597 px)
  • OG02C10: D 160°, H 140°, V 112° (f = 519 px)
  • MIRA220: D 147.4°, H 118.6°, V 106.4° (f = 639 px)
  • OX05B1S: f = 814 px
  • Kaimou GS2.3: same field as SC233HGS, D 160°, H 144°, V 100° (f = 597 px)

The lens carries an IR-cut filter (50% at 650 nm) and is sealed to IP69.

3. Stereo baseline

Depth precision at hand distance depends on the baseline and the focal length in pixels. The EGO stereo baseline is 75.0 mm, CAM0 left, CAM1 right. The optics page works the geometry through for a look-down view of the hands: with SC233HGS, disparity is 149 px at 0.30 m, 112 px at 0.40 m and 75 px at 0.60 m, and a 180 mm hand at 0.40 m spans about 269 px.

Depth error at the 75.0 mm baseline for one pixel of disparity is published on the optics page:

RangeSC233HGS / GS2.3MIRA220 / AR0235OG02C10OX05B1S
0.30 m2.0 mm1.9 mm2.3 mm1.5 mm
0.40 m3.6 mm3.3 mm4.1 mm2.6 mm
0.60 m8.0 mm7.5 mm9.2 mm5.9 mm

If your workspace needs a wider or narrower pair, baseline is a standard option in our custom module program.

4. Exposure control

Short exposure keeps fast hand motion sharp. For stereo, both eyes must also expose identically, or the matcher sees two different images. A buyer should check the exposure range the firmware allows, whether left and right share one exposure and white balance, and whether per-frame exposure and gain can be read back.

On EGO, exposure and white balance run through rkaiq 3A on both ISPs. Both eyes share the same exposure and AWB, with Slave HDR off. The IQ default is 50 Hz anti-flicker: exposure steps are N × 10 ms at 50 Hz mains and N × 8.333 ms at 60 Hz. Configuration lives in the IQ JSON files in the release overlay. Sources and the boot chain are documented on the software page. Because the stack is open, a team can set its own exposure policy and verify it directly on the device.

The Ego Single Sensor uses the same rkaiq path and also exposes AE and AWB over UVC. On that board the anti-flicker steps pair with 25 fps at 50 Hz and 30 fps at 60 Hz (UVC power-line modes 0/1/2).

5. IMU

Visual-inertial pipelines need raw, high-rate inertial data, measured in the camera's own frame.

EGO places one IMU beside each camera: two ST LSM6DSVQTR parts on separate SPI buses, so each camera has its own inertial reference with a short, known lever arm. The IMU is 16-bit, ±2 to ±16 g and ±125 to ±4000 dps. Output data rate is selectable up to 7.68 kHz, and the demo HUD runs at 480 Hz by default. Raw accelerometer and gyro samples come through standard Linux IIO with a data-ready interrupt. The Single Sensor carries one IMU of the same part at 480 Hz. Noise figures in the datasheet are the IMU maker's typical values (60 µg/√Hz and 2.8 mdps/√Hz), not board measurements, as stated on the hardware page.

6. Synchronization

Three clocks have to agree: camera to camera, camera to IMU, and head to wrist.

Camera to camera. EGO drives both sensors from RV1126B GPIO FSYNC and EFSYNC lines under direct SoC control, in continuous trigger mode. No software alignment is involved. The sync code is tools/ego_cam_sync.py; the pin map is in the repo README. Shop sensors on the stereo EGO run at 60 fps, which is also the stereo maximum. The demo package triggers at 12.5 fps; the rate is set in the open source.

Camera to IMU. Each IMU sits on the same board as the camera it describes and is read through the kernel with its own interrupt. Recordings on the Single Sensor and through the app write IMU rows with both Unix and monotonic nanosecond timestamps.

Head to wrist. Dexterous manipulation is usually captured with a head stereo pair plus a wrist or tool camera. The Ego Single Sensor is built for that second role: same sensors, same compute, same recorder, one camera and one IMU in a smaller footprint. For fixed multi-camera layouts, the same CameVision platform ships as 3, 5 and 9 camera boards on one trigger domain, described on Camemake robotic solutions.

A buyer should measure skew on delivered units: record a fast LED or a sharp motion on all cameras and compare frame timestamps.

7. Calibration

Intrinsics, stereo extrinsics and camera to IMU extrinsics decide whether the data is usable at all. Calibration runs on the camera itself in EGO: the live page and calibration UI are served by tools/ego_stereo.py with the native matcher in stereo_native.c. A buyer should check the reprojection error on each unit and keep the calibration tied to the unit's serial.

8. Recording, storage and data ownership

Capture data should stay with the team that records it. EGO and the Single Sensor record locally: 16 GB eMMC plus a microSD slot, 1 GB RAM, on an RV1126B SoC with dual ISP and NPU. Power comes from USB-C or battery pads.

Control runs from a phone through the CameVision App over Bluetooth, in two modes:

  • Standalone: start and stop full-resolution recordings to the microSD card, then copy them to the phone.
  • Server: the camera also uploads over its own Wi-Fi 6 to a server you run, with the card as buffer if the network drops.

The Single Sensor also enumerates as a standard UVC camera with the card mounted as a drive, so any host can read it with no Wi-Fi.

9. Data format

Stereo EGO sessions write per-eye timestamp files cam_left.timestamps.jsonl and cam_right.timestamps.jsonl. Frame and IMU sample times use CLOCK_MONOTONIC_ns; the IMU JSON also carries CLOCK_REALTIME and an ISO string, with the RV-3028 setting the system clock.

With the Single Sensor and the CameVision App, each session is one folder on the card:

```

camevision/sessions/<YYYYMMDDTHHMMSSZ>/

session.json

imu0.csv

cam0/video.mp4

COMPLETE

```

Video is full-resolution H.264. imu0.csv holds t_unix_ns, t_mono_ns, ax, ay, az, gx, gy, gz, accel in m/s² and gyro in deg/s. The COMPLETE marker tells your pipeline the session closed cleanly. The upload contract is a plain three-call HTTP API, documented in the app repo. Single Sensor docs: camemake.github.io/CameVision-Ego-Single-Sensor.

10. Acceptance checks on delivery

Run these on every unit before it goes into a capture program:

  1. Confirm the sensor and resolution against the order on the live page.
  2. Spin the device fast in front of a straight edge. Edges must stay straight in both eyes.
  3. Measure camera to camera skew with a fast LED or sharp motion.
  4. Record a still device for ten minutes and check IMU rate, gaps and bias.
  5. Calibrate, then check reprojection error and depth on a known target at 0.30, 0.40 and 0.60 m.
  6. Record a full session to card, pull it through the app, and verify the COMPLETE marker and timestamp continuity.

Everything needed for these checks is in the open repos. Board drivers for Camemake modules on the same SoC family are in ROCKCHIP_MIPI_CAMERAS.

11. Requirement tiers

NeedConfiguration
Head capture, stereo depth of handsCameVision EGO, 1920 × 1200 sensor
Head plus wristCameVision EGO plus Ego Single Sensor
Low light or near IRMono sensor option, IR-pass optics on request
Finished wearable under your brandHeadset, cap, PPE helmet, 5-camera backpack or teaching gripper
Custom baseline, housing or camera countOEM module program

From evaluation to volume

EGO is the evaluation board of a platform we produce at volume. The same board ships under your brand, in your housing, with your baseline and sensor. Order evaluation units of the stereo EGO or the EGO Single Sensor, or start an ODM or OEM program on Camemake robotic solutions.

---

Share this post
Archive
Sign in to leave a comment
Why global-shutter sync across head, wrist, and gripper cameras decides robotics success