GI EGO1GS
Head-worn stereo headset: colour global-shutter cameras, 9-DoF IMU, stereo audio

- Cameras
- Dual 1080p, 30 fps, colourMaker ↗︎
- Shutter
- GlobalMaker ↗︎
- Field of view
- Calibrated cam0 past the fit × 84°, cam1 ~162° × 85°Measured
157° × 84°Maker ↗︎ - Baseline
- 63 mmMaker ↗︎
- IMU
- 9-DoF, 400 HzMaker ↗︎
- Output
- One .mcap file, H.265Maker ↗︎
Maker values checked 2026-11-03 · 2 recordings, 30.1 s each · CC BY-NC 4.0 · ~ is read past the range the board corners reached. Past the fit: no value, the edge lies beyond where the lens fit holds.
Demo and values
Section titled “Demo and values”Two 30-second recordings of an AprilGrid, solved with MVIS for camera, IMU and time offsets.
No independent reference. These values show what MVIS solved, not how close they are to the truth.
Calibration process
Section titled “Calibration process”The solved path of the rig around the board. Press Play or drag the bar to follow it, and use the buttons to change the view.
Solved rig
Section titled “Solved rig”The solved rig in 3D, to scale. Tap a sensor for its values. Full screen lets you rotate and zoom. Grid squares are 20 mm.
To scale, from above and the front
Dashed: past the fit, drawn to the corners' reach, so the lens sees at least this much.
| Camera | Lever x, y, z (mm) | Distance (mm) | log(R) (rad) | td (ms) | Field of view |
|---|---|---|---|---|---|
| cam0 | +19.3, −16.1, −19.5 | 31.8 | [−2.203, +2.234, −0.014] | −0.44 | past the fit × 84° |
| cam1 | +20.1, +46.0, −19.1 | 53.7 | [−2.195, +2.211, −0.042] | −0.39 | ~162° × 85° |
Dashed: past the fit, drawn to the corners' reach, so the lens sees at least this much.
| Camera | Lever x, y, z (mm) | Distance (mm) | log(R) (rad) | td (ms) | Field of view |
|---|---|---|---|---|---|
| cam0 | +19.4, −14.6, −20.0 | 31.5 | [−2.189, +2.221, −0.031] | −1.16 | past the fit × 84° |
| cam1 | +19.6, +47.5, −19.7 | 55.1 | [−2.196, +2.222, −0.014] | −1.16 | past the fit × 84° |
Solved by MVIS. Lever arms are in the IMU frame. Rotation is log(R), camera in the IMU frame.
Specifications
Section titled “Specifications”| Published by the maker | |
|---|---|
| Audio | Stereo, dual microphones ↗︎ |
| Synchronization | All four streams on one hardware clock ↗︎ |
| Storage | MicroSD, 128 GB card included ↗︎ |
| Connectivity | Wi-Fi and USB ↗︎ |
| Power | USB power bank; 12 to 16 hours on 10,000 mAh ↗︎ |
| Weight | About 200 g, headset only ↗︎ |
| Measured in this recording | |
| IMU rate | 470.9 Hz |
| Maker | |
| Company | General Intelligence Labs, San Francisco |
| Not published | |
| Parts | Sensor part numbers, lens model |
| Measured in these recordings | |
| Calibrated field of view | cam0 past the fit × 84° · cam1 ~162° × 85° |
Dataset
Section titled “Dataset”| Recording 1 | 2026-07-23, 30.1 s. Frames kept: cam0 821 of 894, cam1 744 of 890 |
| Recording 2 | 2026-07-24, 30.1 s. Frames kept: 895 of 899 on each camera |
| Frames | Everything except the board is blurred |
| Format | MCAP, H.265, 61 MB |
| Board | AprilGrid 6×6, tag 35.2 mm, spacing 0.3 |
| Bags, configs and results | Calibench community, gi-ego1gs/ (access by automatic approval) |
| Licence | CC BY-NC 4.0, for the data and for this page's clip and figures; commercial use by request |
| Hosted | Calibench, gilabs-examples/ (access by automatic approval) |
Detailed results
Section titled “Detailed results”Lens Calibrated field of view
Calibrated field of view, horizontal × vertical. cam0: past the fit × 84°, corners reach 54° from the axis · cam1: ~162° × 85°, corners reach 59° from the axis
Calibrated field of view, horizontal × vertical. cam0: past the fit × 84°, corners reach 49° from the axis · cam1: past the fit × 84°, corners reach 56° from the axis
cam0 cam1
Read from the calibrated lens fit at the image edges, through the principal point. ~ marks an axis past the range the corners reached, where the fit is extrapolated. Past the fit means an edge lies beyond where the fit holds, so no value is given.
IMU Gyro-to-accel offset +4.83 ms
Scale as deviation from 1. Model: calyx. Gyro-to-accel time offset t_ga: +4.83 ± 0.68 ms.
Scale as deviation from 1. Model: calyx. Gyro-to-accel time offset t_ga: +4.36 ± 0.57 ms.
Timing cam0 td −0.44 ms
Offsets to scale, with t_imu = t_cam + td.
Full results Every solved parameter
Rotation is log(R) in rad, camera in the IMU frame.
| Parameter | MVIS |
|---|---|
| cam0 | |
| fx px | 747.80 |
| fy px | 747.74 |
| cx px | 979.00 |
| cy px | 489.63 |
| k1 | −0.02578 |
| k2 | −0.02985 |
| k3 | 0.04783 |
| k4 | −0.02606 |
| Lever x mm | +19.33 |
| Lever y mm | −16.08 |
| Lever z mm | −19.46 |
| log(R) rad | [−2.2027, +2.2341, −0.0143] |
| td ms | −0.442 |
| Reprojection px | 0.147 |
| cam1 | |
| fx px | 745.68 |
| fy px | 745.57 |
| cx px | 964.95 |
| cy px | 479.70 |
| k1 | −0.03016 |
| k2 | −0.01226 |
| k3 | 0.01431 |
| k4 | −0.00594 |
| Lever x mm | +20.11 |
| Lever y mm | +45.99 |
| Lever z mm | −19.15 |
| log(R) rad | [−2.1953, +2.2107, −0.0421] |
| td ms | −0.387 |
| Reprojection px | 0.260 |
| IMU | |
| t_ga ms | +4.83 ± 0.68 |
| Parameter | MVIS |
|---|---|
| cam0 | |
| fx px | 745.96 |
| fy px | 746.10 |
| cx px | 1003.47 |
| cy px | 536.17 |
| k1 | −0.02507 |
| k2 | −0.02995 |
| k3 | 0.06089 |
| k4 | −0.04418 |
| Lever x mm | +19.44 |
| Lever y mm | −14.62 |
| Lever z mm | −20.02 |
| log(R) rad | [−2.1894, +2.2210, −0.0306] |
| td ms | −1.158 |
| Reprojection px | 0.151 |
| cam1 | |
| fx px | 746.94 |
| fy px | 747.00 |
| cx px | 966.59 |
| cy px | 535.74 |
| k1 | −0.02958 |
| k2 | −0.01571 |
| k3 | 0.02675 |
| k4 | −0.01467 |
| Lever x mm | +19.58 |
| Lever y mm | +47.53 |
| Lever z mm | −19.71 |
| log(R) rad | [−2.1965, +2.2224, −0.0143] |
| td ms | −1.158 |
| Reprojection px | 0.200 |
| IMU | |
| t_ga ms | +4.36 ± 0.57 |
Limits
Section titled “Limits”- No independent reference. These values show what MVIS solved, not how close they are to the truth.
- Recording 1 lost frames on both cameras at decode, so it has gaps.
- Both recordings are solved from the blurred video. Blurring moved the lever arm by less than 0.1 mm.
How it was run
Section titled “How it was run”- Recording converted to EuRoC layout, camera-only solve per camera, then camera + IMU with camera intrinsics free and t_ga on. Batch of 2026-11-03.
- sha256 of the recording:
54ce767a06ae0a6c9ab1acb73924a0c243928470f35ac7be36d19215514cea89