Connect, preview & capture
This is the working session: get connected, confirm what the cameras see, set capture quality, and record.
You can do most of it two ways — from the Visio Companion app, or from the setup page the device serves itself in any browser. The setup page needs no app install, which makes it the fastest path on a borrowed phone or a laptop.
Walkthrough
Two minutes on the phone: Wi-Fi to the device, live view, bitrate, record, and upload to your own S3 bucket. The written steps below are the same flow, with the IAM policy and failure cases.
1. Connect to the device
The device is reachable three ways, and you can use whichever is convenient:
| Route | When to use it |
|---|---|
| Its setup hotspot | First contact, or any time there's no shared network. Needs no infrastructure. |
| Your Wi-Fi network | Normal operation once the device has joined your network. Required for cloud upload. |
| USB | Bench work — the most reliable link, and it powers the device at the same time. |
This surprises people: the device runs its hotspot and your network at the same time, on two independent
Wi-Fi legs. Joining your network does not switch the hotspot off. That means http://192.168.4.1 is
always a way in — including while you are reconfiguring the network settings, which is exactly when you need
it. If you mistype a passphrase, you have not locked yourself out.
Join the device's setup hotspot
Look for an open network named GILABS-XXXXXXXX in your phone's Wi-Fi list, where XXXXXXXX is the
device's own 8-character code — the same code the app shows as the device name.
It's an open hotspot with no password. Your phone will warn that the network has no internet access; that is expected — choose stay connected.
Once you're on it, the device is at http://192.168.4.1.
Unlike hotel Wi-Fi, the device does not trigger your phone's captive-portal sheet, and this is
deliberate. The device answers your phone's "is there internet here?" check with a success, because a phone
that decides the network is useless roams back to a real Wi-Fi within about half a minute — which used to kill
firmware updates mid-flight. The trade is that no sign-in sheet appears. Type http://192.168.4.1 into your
browser.
Pair in the Visio Companion app
Open the app and tap Add device. It scans all three routes at once and lists what it finds under USB, On this Wi-Fi, and Nearby setup hotspots. Tap a device to pair it — if it's in hotspot mode, the app joins the hotspot for you first.
On Android the app asks for the Camera permission before it can talk to a device over USB. This looks alarming and isn't: the device presents a camera-class USB interface, and Android gates that interface behind the camera permission. The app doesn't use your phone's camera.
Only one phone can control a device at once. If the app shows Device in use, another phone is connected — disconnect that one, then pull down to refresh.
Put the device on your Wi-Fi network
The device only uploads to the cloud while it's on a real network, so this is the step that turns on cloud upload. It also means you can reach the device without giving up your phone's internet connection.
In the app: open the device, tap Configure Device Wi-Fi, then either pick from Nearby networks or fill in Network name (SSID) and Passphrase yourself. Save. The app warns that the device switches network as soon as you save and that it may briefly lose contact until it rediscovers it — that's normal.
On the setup page: enter the network name and passphrase and save. The setup page has no network scanner, on purpose — scanning costs the shared radio several seconds of airtime on the very link you are provisioning over, to save you typing a name you are standing next to. So type the SSID exactly, capitals included. (The app can scan, because it uses your phone's radio instead.)
Joining usually takes under 30 seconds. If the credentials were wrong, the device tells you so and stays reachable on its hotspot — check for a typo and try again.
The device remembers networks and tries them newest-first whenever it has no link, so a unit that moves between sites re-joins on its own. Under Saved networks the current one is marked Connected, and you can Forget any single entry — or clear all of them at once with Reset to setup hotspot under Device settings.
The device authenticates with a network name and a passphrase, and nothing else. Two common setups will therefore fail, both of them looking like a working connection at first:
- Captive portals. Guest Wi-Fi with a splash page that wants a click-through, a room number, or a browser login. The device associates and gets an IP — so the app shows it connected — but every upload is intercepted by the portal and fails.
- Enterprise (802.1X / WPA2-EAP) networks, the kind that ask for a username and password. There is nowhere to enter them. The app's network scan will show such a network, but the device cannot join it.
Use a WPA2/WPA3 network with a pre-shared key, a dedicated IoT SSID, or a phone hotspot. The radio is 2.4 GHz.
2. Check framing with live preview
Live preview answers two questions, and on EGO1GS the second one is the more valuable of the pair:
- Are the cameras pointed where the work is? The mount's pitch is adjustable — set it while watching the preview, not by guesswork. This is also your chance to confirm the lenses are clean and in focus.
- Do the wearer's hands stay in frame while the task is performed? See hand detection below.
In the app: open the device. Preview is on the device page itself, below the capture controls — there is no separate screen to navigate to. When the device announces two cameras you can toggle between Show both cameras and Show one camera. Live IMU readouts — acceleration, rotation, and temperature — are on Device info.
On the setup page: start the preview from the page. It shows camera 0 only, one viewer at a time, and it stays off until you ask for it — see the warning below for why.
Preview only confirms the shot. Your data is whatever landed on the MicroSD card.
The device has one video encoder per camera, so preview is not a cheap second encode — it is the same H.265 stream at the same bitrate as the recording. Two consequences follow. The setup page keeps preview off until you ask, because a viewer costs real bandwidth on a shared radio. And a choppy preview means your viewer or the link is struggling, not the device: the recording on the card does not drop frames, and stutter you see here does not appear in the file.
Hand detection on EGO1GS
Physical-AI training data is only useful if the hands are in it. A session where the wearer's hands drifted out of frame is a wasted session — and with a conventional capture device you find that out in post-processing, after the fleet has gone home.
EGO1GS can detect the wearer's hands on the headset itself, while recording. The detector runs on the device's own neural accelerator — no cloud round-trip, no tethered computer — and it changes what preview is for. Instead of a framing check you do once at the start, preview becomes a live quality check on the session:
- Before you start, confirm the mount pitch actually frames the working volume, with the wearer's hands in the pose the task uses.
- While the task runs, see at a glance that hands are staying in frame.
In the app's live preview, each detected hand is outlined with a box drawn over the camera view, updating several times a second. When the detector sees nothing for a moment the boxes are held briefly rather than blinked away, so a single missed frame doesn't flicker.
The device also says so out loud. When both hands leave the frame, the speaker announces "Hands out of view" (or the Chinese equivalent, following the app's language setting), so the wearer can correct their own framing without looking at a phone. Repeat announcements are rate-limited, so a hand hovering at the edge of frame cannot produce a stream of nagging.
Hand detection is built into a dedicated firmware build, and it is not part of the standard EGO1GS firmware image offered over the air. If Live Preview shows no boxes and you never hear the announcement, your unit is running the standard build. Ask your GI Labs representative which build your fleet shipped with, and whether hand-detection firmware is available for it.
We are not publishing detector accuracy, throughput, or inference-budget figures yet. Those are still being characterized and will be published with the production firmware — treat the feature as a capture-time quality aid, and don't build acceptance criteria on numbers we haven't given you.
3. Tag the capture
Before you record, set the metadata that gets stored with the session. Every field is free text:
| Field | What goes in it |
|---|---|
| Task | What you are capturing |
| Location | Where you are capturing |
| Capturer | Who is operating the capture |
| Message | A note attached to the recordings |
These are the labels your delivery is accounted by, so filling them in is worth the ten seconds. Set them in
the app or on the setup page; they persist as defaults for later sessions, and they land in each session's
session.json sidecar alongside the recording. The app also attaches your phone's GPS coordinates.
Metadata takes effect on the next recording — setting it mid-session does not retag the session already running.
4. Set resolution and bitrate
Both live under Device settings in the companion app, and both take effect after the device reboots. The app confirms with "reboot the device to apply"; until you power-cycle it, the device keeps capturing at the old setting.
Camera resolution
Applies to both cameras. The options depend on which variant you have, because the two use different sensors:
| Variant | Options |
|---|---|
| EGO1 | 1920×1080, 1600×1296, 1600×1200 |
| EGO1GS | 1920×1080, 1728×1200 |
1920×1080 is the default and the right answer unless you specifically need the taller frame. See EGO1/EGO1GS if you're not sure which variant you have.
Video bitrate
Video bitrate sets the H.265 quality target, as the app's subtitle says, for all cameras — one value, applied to each camera. The app offers four presets: 4, 6, 8, and 10 Mbps. 8 Mbps is what the device ships configured to, and is tuned for 1080p30.
Because the value applies to each of the two cameras, the number you pick is roughly doubled on the way to the card. Here is what that costs, at 1080p30:
| Preset | Both cameras | Sustained write | Per minute | Per hour | 128 GB card holds |
|---|---|---|---|---|---|
| 4 Mbps | 8 Mbps | 1 MB/s | 60 MB | 3.6 GB | ~33 h |
| 6 Mbps | 12 Mbps | 1.5 MB/s | 90 MB | 5.4 GB | ~22 h |
| 8 Mbps (default) | 16 Mbps | 2 MB/s | 120 MB | 7.2 GB | ~16 h |
| 10 Mbps | 20 Mbps | 2.5 MB/s | 150 MB | 9 GB | ~13 h |
On EGO1GS, audio and the higher-rate IMU add roughly 0.4 GB per hour on top, regardless of bitrate.
The device itself accepts anything from 0.5 to 50 Mbps, but the app deliberately exposes only the four
presets above. To set a value outside them — a very low bitrate for long unattended runs, or a very high one
for a reference capture — use a settings QR code, which
carries an explicit bitrate_kbps. At the 50 Mbps ceiling you are writing 12.5 MB/s and filling a 128 GB card
in under three hours.
If the app shows a Current value that isn't one of the four presets, the device was configured this way — by QR, or by a firmware build with a different default. That's expected, not a fault.
How this interacts with the SD card. A genuine V30 card sustains 30 MB/s, which clears every preset — and even the 50 Mbps ceiling — with room to spare. So on a real card, the speed class is not what limits your bitrate. What does bite is a counterfeit or worn-out card that never delivers its rating: those fail by not recording at all rather than by degrading gracefully, and a higher bitrate is what exposes them. Before you rely on a new card, verify it — see SD cards.
How this interacts with upload. The bitrate you choose is also the rate you have to ship. At the 8 Mbps default, continuous recording produces about 16 Mbps of data; if auto-upload is on, your site's upload bandwidth needs to beat that sustained or the queue grows for as long as you keep recording. Stepping from 8 to 10 Mbps is a 25% larger uplink requirement. See Cloud upload.
5. Record
There are three ways to start and stop a capture. They're equivalent and interchangeable.
The physical switch. Flip it one way to start recording, the other way to stop. It is a maintained switch — not a momentary button — so its position is the source of truth, including at power-up. A device switched to record starts recording the moment it has power, with no phone involved. This is the field default: put it on, flip the switch, work. Starting an already-running recording, or stopping an already-stopped one, does nothing rather than erroring.
The app. Start recording / Stop recording from the device screen.
The setup page. Start and stop from the browser.
While a session is running, the status LED blinks about once a second; it's solid when the device is idle. On EGO1GS you also hear "Recording started" and "Recording stopped" spoken aloud, and can optionally enable a tick-tock reminder so the wearer can't forget capture is live.
Recording to the phone instead
The app can also record to the phone rather than to the device's card. Under Record to, switch from
Device SD card to Phone (USB): with the device connected over USB, the app writes the live streams to
an .mcap on the phone itself. No card is needed — this is the one path that works with an empty card slot —
and you can still start and stop with the device's record switch.
Use it for bench work and short verification captures. For field sessions, record to the card: it doesn't depend on a cable staying seated or a phone staying awake.
Stopping cleanly
Stop the recording and let it finish saving before you cut power. Because capture is written in 256 MB parts as it goes, a power cut costs you the part in flight rather than the whole session — but stopping properly costs nothing. A torn part is detected and repaired automatically on the next scan, and then uploads normally.
Where to go next
- Cloud upload — have the device push recordings to your own bucket automatically.
- Retrieve & view data — get the files off the card and open them.
- Troubleshooting & FAQ — when something doesn't behave.