/Phys-Index-EyetrackVR-HW

Custom solution for a clean, unobtrusive, EyetrackVR installation in the Valve Index.

Phys-Index-EyetrackVR-HW

Custom solution for a clean, unobtrusive, EyeTrackVR installation in the Valve Index.

Project includes:

  • Custom, highly iterated camera and LED mounts based on bitbyt3r's design that may be preferable to any builder. Supports most OV2640 cameras with an 8mm square, 2mm tall base.
  • All-in-one dongle that carries a USB hub, 2x XIAO ESP32s, the ETVR v4 PCB, and an extra USB port.

Everything fits entirely within the envelope of the Valve Index. No modifications to the Valve Index headset are required whatsoever; just some clever cable routing.

newnewnewnwe

Build It!

Camera and LED mounts

An evolution of bitbyt3r's index-eyetrackvr mounts for the Valve Index found here: https://github.com/bitbyt3r/index-eyetrackvr

cad-shot

Light pattern: image

Changes:

  • Lowered all leds 0.5mm further from face.
  • Thickened up thin points near LEDs so they are FDM-printable in a single fill-line.
  • Chamfers and fillets for strength and comfort.
  • Tweaked the fit on the LED posts to prevent binding on solderless kits.
  • Moved the camera up to the side of the eye.
  • Moved the all the LEDs to a more optimal position to prevent specular reflections, shadows, and silhouetting.

Tips:

  • Print in black PETG
  • Mirror the provided file for the opposite eye
  • If you need to extend the wires a bit, stagger your cuts to prevent the joints from ever touching.

Gum Stick USB Hub Dongle

Built around a specific ultra-slim 3-port USB hub. Fits two XIAO ESP32-S3s and a ETVR v4 PCB, as well as a spare USB port.

PXL_20231018_0040476332

You need this specific USB hub (various brands)

Found on the likes of Amazon and Aliexpress. Its easy to modify for our purpose.

image

Common Titles:

  • "USB Hub 3.0 Extender 3-Port, sartyee Computer Networking Hubs for MacBook, Mac Pro, iMac, Ps4/5, Surface Pro,Flash Drive, Keyboard, Mouse, Windows"
  • "3 Ports Multiple Expander with 1 USB3.0 and 2 USB2.0 Ports Type-C3.0/USB3.0 To 3USB HUB Ultra Slim Splitter 480Mbps-5.0Gbps"
  • "3 Port USB 3.0 USB Hub 2.0 Multi Type-C Ultra Slim Splitter Hub Use Power Adapter Multiple Expander 2.0 USB 3.0 Hub for PC"

Links:

Note/Avoid:

You want these other parts too

image

Additional hardware options with more links available in the EyeTrackVR docs: https://docs.eyetrackvr.dev/how_to_build/parts_list

Assemble it!

Follow the EyetrackVR docs for primary assembly and programming: https://docs.eyetrackvr.dev/how_to_build/full_build

Steps specific to the dongle are as follows.

Print

  • Print all 3 parts in PETG
  • Refer or use the "PRINT ME" file for suggested orientations.
  • ENABLE SUPPORT MATERIAL on build plate only.

Mod the hub

  • Take the aforementioned USB hub apart (it slides out when you plug something in the end with a little force) and de-solder all the connectors. Save at least one of the small USB 2.0 ones.
  • I suggest using a hot air tool if possible. Adding your own flux and leaded solder will make desoldering easier too regardless.

Untitled-1pin

Place

  • Insert your dismantled USB hub into the dongle along with the spare USB port. Make sure you removed all the support material in that cavity.
  • Verify that your XIAO ESPs and ETVR v4 PCB fit in their slots. It may be tight, but if not, use adhesives. Careful not to crush the ESP's buttons or riser connector!

image

Solder

  • Solder your VUSB, GND, D+ and D- wires to your ESPs now.
  • Use the square ground pad on the bottom of the XIAO ESP for ground (not the GND pin on the edge of the board).
  • Observe the Connector orientation of the original USB hub and refrence it to a pin-out diagram of the USB A port.
  • Solder 2 wires to the bottom side of the ETVR v4 PCB for power. (and led wires for solder-kit)
  • Route them like so and solder in place. A small hole will let you route the ETVR v4 PCB wires into the main cavity.

image image

  • quick wiring diagram to mitigate confusion image

LEDs!

  • You will follow the instructions in the ETVR docs and lengthen a couple of the wires with 36-32awg wire.

  • The long main feed wires get extended to about 200-250mm, while two of the shorter wires get extended to about 80mm.

  • Tip: Stagger your cuts when lengthening your wires so the soldered ends can never touch.

  • Once you verify everyhting is working 100%, it might be a good idea to remove the unused connectors on the E/End LEDs. You can do this with a pair of snips and a soldering iron with fresh solder.

image

(early version of the modified mounts) image

(latest version close up, installed ) anotehr-new-bpic

Cable Routing

  • Your 200mm camera ribbons can be pushed up the "nose" of the headset and around the top of the PCB.

PXL_20231018_004047633s

  • They may seem to interfere with IPD adjustment, but try folding them so they take a twist as they travel behind the PCB and between the screens. Keep in mind you may loose a couple millimeters of IPD due to the LED placement when using solder-less kit.
  • Then they can be massaged through the vent holes in the frunk along with the extended LED power wires.

image

  • It might help to gently fold your ribbon cable like so to get it to fit in the frunk vent holes. Note that some vent slots are blocked when assembled.

image

  • Pinch point! Watch here when the face pad is mounted. It's possible the ribbon cable can get trapped under this lip when adjusting screen-face distance. A small bend in the wire will teach it to stay away.

pibce

  • I also found that folding the camera ribbons like so can help teach them where to go.

teach

Finalizing

  • Plug everything in and secure the optional covers with M2x5mm Countersink Self-tapping screws.

image image

  • Use a Command Strip or piece of foam to ensure dongle does not come out during extreme VR stunts.

Camera mount for Babble Face Tracking (uses same ESPs and Cameras)

  • This part is in development, but working nicely from the start. You'll have to observe the pictures below to duplicate the build for your specific hardware.

image image extendd-mount image

In (experimental) summary:

  • Use the same XIAO ESPs, with the same OpenIris firmware as the eye trackers.
  • Use the same 200mm long OV2640 160 degrees night version IR camera module.
  • Use two 3mm IR LEDs wired in series with a 220R resister on the 5v VBUS rail (use the 3V3 rail or a larger resistor for more efficient LEDs). I sanded the lenses down on my leds for a wider, softer spread as well.
  • 3D print the print file in the Babble Face Tracker Cam-LED Mount folder with support material enabled. (EXTENDED version also available, print both to see what works for you)
  • Stick camera mount base and cable clip to your Valve Index with double-sided VHB tape as shown.
  • Use a 25mm countersink M3 screw with lock nut for the hinge.
  • XIAO ESP can be placed at the end of the Gum Stick with more VBH tape.