EGO-DAQ User Manual

Operation Guide · Data Post-Processing · Technical Reference · Troubleshooting

Operation Guide

Complete instructions from unboxing to data capture

🎁 Quick Start

After unboxing, start capturing in three steps:

  1. Wear the device, connect the battery, and short-press the power button to turn it on
  2. Wait until the indicator light changes from blue flashing to solid blue (startup complete)
  3. Short-press the power button (or say "Start recording") to begin capture
⚠️ Before first use, make sure the TF card is inserted and the battery is sufficiently charged

🧥 Wearing the Device

  1. Fix all hair upward (headband / hair clips) to avoid blocking the cameras
  2. Make sure the camera lenses are clean to keep the footage clear
  3. Wear the device level on the head, right above the brow ridge, with the logo centered on the forehead
  4. Adjust the head strap until comfortable and secure, so it does not shift during vigorous movement
  5. Connect the battery pack and make sure the magnetic connector is firmly attached

🔔 Power On / Off

ActionMethodFeedback
Power onShort-press the power buttonVoice prompt "Power on", power LED lights up blue
Power offLong-press the power button for 3 secondsVoice prompt "Power off", LED turns off
Start recordingShort-press the power buttonVoice prompt "Start recording", LED solid blue
Stop recordingShort-press the power buttonVoice prompt "End recording", LED flashes blue and enters standby
💡 The voice prompt language can be set via the configuration tool: 简体中文 / English

💡 LED Indicators

IndicatorStateLED Pattern
Power LED (left)BootingBlue flashing
StandbyBlue slow flash (0.5Hz)
RecordingBlue solid
Connection LED (right)BootingBlue solid
Bluetooth/WiFi not connectedBlue low-frequency flash
ConnectedBlue solid

📤 Data Export

After recording, captured data can be exported in the following ways:

  1. SD card direct read: remove the TF card, connect it to a computer with the included card reader, and copy the data directly
  2. USB-C connection: connect to a computer via the USB-C cable; the device is recognized as a USB drive
  3. WiFi transfer: join the same local network and download the recordings via the web management interface
💡 Exported data is organized in a timestamped directory structure; see the Data Format Standard for the format definition

Technical Reference

Topic list and output specifications

📄 Output Topics

Output File/TopicDescriptionRate
cam0.mp4 ~ cam3.mp44-channel camera H.264 video streams30 Hz
imu.binRaw 6-DoF IMU + magnetometer data~200 Hz
imu.csvIMU CSV format (optional)~200 Hz
intrinsics.jsonIntrinsics calibration of 4 cameras1 frame
extrinsics.jsonCamera-to-IMU extrinsic transformation matrix1 frame
meta.jsonDevice/firmware/lens ID/fps/resolution1 frame

🏔️ Camera Layout

camera0 — camera3 are arranged left to right in the top view of the terminal:

  • cam0: front-left, horizontal FOV ~120°
  • cam1: front-right, horizontal FOV ~120°
  • cam2: rear-left / left, horizontal FOV ~120°
  • cam3: rear-right / right, horizontal FOV ~120°

🧬 World Coordinate Frame

  • Origin: the IMU position at the start of capture
  • Z axis (blue): opposite to gravity, pointing upward
  • X axis (red): the forward projection onto the horizontal plane of the device heading at initialization
  • Y axis (green): determined by the right-hand rule
The world frame is the global reference; all output VIO poses are based on this frame

🧰 Local Coordinate Frame (IMU frame)

  • Origin: geometric center of the IMU
  • X axis (red): device forward (perpendicular to the wearing plane, pointing forward)
  • Y axis (green): device left direction
  • Z axis (blue): device up, determined by the right-hand rule
All raw sensor data (IMU, camera extrinsics) is referenced to the local frame

📐 Data Dimension Specification

Following the VITRA data representation standard (arXiv:2510.21571, Sec. 3.2), EGO-DAQ output adopts the following dimension conventions:

Data DomainDimensionsComponentsLeRobot Mapping
cam0~3.mp41280×720×3 @30fpsGlobal-shutter H.264, 4×30fpsobservation.images.{cam}
imu.bin10-DoFacc(3)+gyro(3)+mag(3)+temp(1)observation.state
intrinsics.json4×(4+3)fx/fy/cx/cy + k1/k2/k3 per camcamera_info
extrinsics.json4×4×4cam→IMU transformation matrixextrinsics
meta.jsonJSONFirmware/lens ID/frame rate/fpsinfo.json features

🔄 LeRobot Dataset Export Interface

EGO-DAQ captured data can be converted directly to the Hugging Face LeRobot v2.1 standard format with the following Python code:

# pip install lerobot huggingface_hub
from lerobot import LeRobotDataset

dataset = LeRobotDataset.create(
  repo_id="gear-lab/ego-daq-demo",
  fps=30, root="./export/",
  features={
    "observation.images.cam0": {"dtype": "video", "shape": (3, 720, 1280)},
    "observation.images.cam1": {"dtype": "video", "shape": (3, 720, 1280)},
    "observation.images.cam2": {"dtype": "video", "shape": (3, 720, 1280)},
    "observation.images.cam3": {"dtype": "video", "shape": (3, 720, 1280)},
    "observation.state": {"dtype": "float32", "shape": (10,)},
    "action": {"dtype": "float32", "shape": (10,)},
  },
)
for episode in sorted(ego_raw_episodes):
  for frame in episode.frames:
    dataset.add_frame({
      f"observation.images.cam{i}": frame.video[i] for i in range(4)
      | "observation.state": np.r_[frame.imu.acc, frame.imu.gyro, frame.imu.mag],
      "action": frame.action or np.zeros(10),
    })
  dataset.save_episode()
dataset.push_to_hub()

📚 References

[1] Qixiu Li, Yu Deng, Yaobo Liang, et al. "Scalable Vision-Language-Action Model Pretraining for Robotic Manipulation with Real-Life Human Activity Videos." ICRA 2026. arXiv:2510.21571. arXiv | GitHub | HF Model

[2] Hugging Face. "LeRobot: Open-Source Robot Learning Library." Documentation | Dataset Format v2.1

[3] Gear-Lab. "EGO-DAQ Data Format Standard." ego-data-format.html

Troubleshooting & Maintenance

Resolving common issues and routine device maintenance

⚠️ Safety Precautions

  • Do not disassemble or modify the device on your own
  • If the device is damaged or unstable, stop using it immediately
  • Avoid prolonged exposure to strong magnetic fields or high temperatures
  • Operating temperature: 0℃–40℃, humidity 40%–65%
  • Before capture, make sure the TF card is properly inserted with sufficient free space
  • Swapping the battery during recording is not supported; doing so may corrupt data

🔧 Routine Maintenance

  • Clean the camera lenses regularly with a dedicated lens cloth
  • Keep the connector ports dry and clean
  • Use the included USB-C cable when charging the battery
  • For long-term storage, charge to 60% and cycle the battery once a month
  • Watch the official release announcements for firmware updates
  • Back up captured data regularly and format the TF card to maintain performance

❓ FAQ

The device will not power on
Check that the battery contacts are clean, reconnect the battery, then short-press the power button
"No SDCard" prompt during recording
The TF card is not properly inserted or has an incorrect format; format it as FAT32/exFAT
Voice commands are not responding
Check whether the microphone array is blocked, or control the device manually via the power button
Short battery life
About 4h per pack; spare battery packs can be hot-swapped. Make sure the battery is fully charged before use

💡 Voice Prompts

"Low battery"
Battery is low; replace the battery pack or charge it promptly
"No SDCard"
No storage card detected; recording cannot start
"Start recording"
Capture has started; 4-channel video + IMU are being saved to disk in sync
"End recording"
Capture is complete; data has been saved to the TF card
📦

What's in the Box

EGO data capture terminal × 1
Battery pack × 2 (4000mAh each)
TF card × 1 (128GB)
Card reader × 1
USB-C charging cable × 1

🔋

Battery & Power

System power consumption < 10W
Runtime ≥ 8h (dual battery)
USB-C PD fast-charge input
Charging management + high-precision fuel gauge

⚙️

Specifications

SoC: RK3576/RK3588
Cameras: 4× global-shutter MIPI CSI
Sync accuracy: <50µs
Weight: ≤ 150g (full device)