7.4 Channel & network reference
Quick-reference tables for working with EGO1 and EGO1GS programmatically.
Network & ports
| Name | Value |
|---|---|
| Device hotspot SSID | GILABS-XXXXXXXX (open, no password) |
| Hotspot band | 5 GHz, falling back to 2.4 GHz when no 5 GHz channel is usable |
| Hotspot gateway IP | 192.168.4.1 (subnet 192.168.4.0/24) |
| Setup page (HTTP) | http://192.168.4.1 on the hotspot, port 80 |
| Setup page (same Wi-Fi) | http://GILABS-XXXXXXXX.local (mDNS) |
| Data port (TCP) | 50001 |
| Foxglove bridge port | ws://localhost:8765 (from visio-display --foxglove) |
| USB serial | COMx (Windows), /dev/ttyACM0 (Linux) |
XXXXXXXX is the device's 8-character code — printed on the sticker on the back of the device, and the same
string the companion app shows as the device name. It is derived from the SoC's one-time-programmable ID, and it
is not a substring of the 16-character DeviceInfo.serial; the two are different encodings of the same
underlying hardware identifier.
Recorded channels
Topics multiplexed into each .mcap recording. Messages and schemas are protobuf.
| Topic | Schema | Contents |
|---|---|---|
/ego/camera/0 | foxglove.CompressedVideo | Camera 0 (right eye) video, H.265 |
/ego/camera/1 | foxglove.CompressedVideo | Camera 1 (left eye) video, H.265 |
/ego/imu/0/raw | visio_schema.v1.sensor.ImuRaw | Raw IMU samples (batched); 200 Hz EGO1, 400 Hz EGO1GS |
/ego/imu/0/quat | visio_schema.v1.ros.geometry_msgs.Quaternion | Fused orientation quaternion |
/ego/audio/0 | foxglove.RawAudio | Stereo microphone audio (PCM s16, 16 kHz) — EGO1GS only |
/ego/camera/0/annotations | foxglove.ImageAnnotations | Hand-detection boxes on camera 0 — EGO1GS only, when enabled |
/ego/system_health | visio_schema.v1.sensor.SystemHealth | Device health (CPU / disk / clients) and wall-clock time |
/ego/command_result | visio_schema.v1.control.CommandResult | Result of a control command |
/device_info | visio_schema.v1.service.device_info.DeviceInfo | Device identifiers / info |
Firmware 1.1.6+ adds /ego/camera/0/frame_info and /ego/camera/1/frame_info using
visio_schema…sensor.CameraFrameInfo: exposure duration, exposure midpoint offset, gain, and row-readout timing,
with timestamps matching the corresponding eye's video frame. Foxglove can inspect these; Python needs a
visio-schema newer than 0.9.1. Filter internal topics such as /ego/diag_log as needed.
USB networking (firmware 1.1.6+) uses GILABS-XXXXXXXX.local:50001; USB MTP exposes Visio Storage for
copying and deleting recordings.
Calibration topics
Republished at ~1 Hz; constant within a recording. See 7.3 Calibration data for semantics and what to expect from the values.
| Topic | Schema | Contents |
|---|---|---|
/ego/camera/0/intrinsics | foxglove.CameraCalibration | Camera 0 intrinsics + distortion |
/ego/camera/1/intrinsics | foxglove.CameraCalibration | Camera 1 intrinsics + distortion |
/ego/camera/1/extrinsics | foxglove.FrameTransform | Pose of cam1 in cam0 |
/ego/imu/0/extrinsics | foxglove.FrameTransform | Pose of imu0 in cam0 |
/ego/imu/0/info | visio_schema.v1.calibration.ImuCalibration | Cam–IMU time offset + IMU defaults |
Access channels
| Channel | Form | Use |
|---|---|---|
| USB serial | COMx / /dev/ttyACM0 | Direct connection, lowest latency |
| TCP (Wi-Fi) | 192.168.4.1:50001 over the device hotspot | Live stream |
| File (MCAP) | .mcap files on the MicroSD card | Offline analysis |
| UVC | Standard UVC video interface (H.265) | Use the device as a USB camera |
USB recording is fully supported since firmware 1.0.4. On older firmware, the USB link is power only.