Guides

There are two ways to get the hardware for FaceTrackVR. First, you can purchase different kits directly from me. These kits range from just the mainboard—for those who already have an EyeTrackVR setup and only want to replace the ESP modules—to a full kit. The full kit includes all necessary components, such as cameras, infrared LEDs, and the mainboard, to add both eye and face tracking to your setup.

The second option is to produce the circuit board and assemble all the necessary components yourself using the DIY approach or have it manufactured by a company like JLCPCB. More details on this can be found further down.

Kit Assembly

If you’ve purchased any kit or followed the DIY instructions, please follow the kit assembly guides provided below. If you need support, feel free to join the FaceFocusVR Discord.

TBD – Additional instructions will be provided before reaching out to individuals who completed the form

TBD – Additional instructions will be provided before reaching out to individuals who completed the form

TBD – Additional instructions will be provided before reaching out to individuals who completed the form

DIY

I’m a big fan of open-source solutions, which is why I decided to publish all the files and offer this guide. However, since the Mainboard allone costs around €250 due to the minimum order quantity at JLCPCB, it might not be the most economical option for everyone.

I’m open to suggestions, feature requests, and any improvements you might have, so feel free to share your ideas!

Disclaimer: I provide the DIY instructions and files as-is, with no guarantees or warranties. I will not accept any liability for damages or issues arising from their use. While I can offer limited support through Discord, I do not provide ongoing technical assistance, updates, or customization. By using these files, you agree to do so at your own risk and acknowledge that I do not guarantee the success or functionality of the project.

PCB

For creating the circuit diagrams and then designing and laying out the PCB, I used the software EasyEDA Pro.

I mainly chose it over alternatives like Altium because it’s free and provides an easy entry into the complex world of PCB design. Additionally, it’s invaluable that the components are directly linked to JLCPCB’s database and available components, allowing the BOM and 3D models to be generated automatically, making it seamless to place an order with JLCPCB. The DRCs for JLCPCB are also integrated directly into EasyEDA.

If you want to make changes to the mainboard using EasyEDA Pro, you can find the file here.

Additionally, I used the Saturn PCB Toolkit V8.39 to calculate trace widths, via sizes, and other parameters. I can highly recommend this tool.

OSHWLab

OSHWLab is an open-source hardware platform that enables designers, engineers, and enthusiasts to collaborate, share, and develop innovative hardware projects. The platform fosters a community-driven approach, offering tools for project management, design sharing, and prototyping.

The OSHWLab STARS Program supports open-source hardware projects by offering free resources like PCB manufacturing, SMT/PCBA services, LCSC components, and 3D printing. 

I participated in the OSHWLab STARS Program and am very satisfied with the experience. If you have an interesting project, I highly recommend submitting it—you might get valuable support and resources to bring your idea to life!

Component
Amount
Approximate Price*
Link*
Mainboard PCB + PCBA
1 (JLCPCB minimum 2)
~160€
EyetrackVR LEDS
1 Kit (with 8 LEDS)
50€
3D Prints (Mounts)
3-4 Parts
999,99€
Threads
2
999,99€
Amazon
Screws
2
999,99€
Amazon
OV2640 Cameras
2-3
999,99€
/
30X30X7mm Fan
1
10€
JST MX1.25 mm
1
7€
Switch
1
1,4€

*  The links and prices are updated irregularly and may therefore vary.

How to Place a PCB Assembly Order at JLCPCB: Video

Mainboard
  • The production files can be found here (TBD).
  • Once you upload the Gerber file, JLCPCB should automatically adjust most of the parameters.
  • Since the PCB has 4 layers, it is important that the layers in the Gerber file are assigned to the correct layer for production:
  • After setting „Specify Layer Sequence“ to yes, confirming the layer order, and setting „Confirm Production File“ to yes, check the box for PCB assembly:
  • After setting „Confirm parts placement“ to yes, proceed with uploading the BOM and Pick and Place file.
  • In the next step, a large table will be displayed—this is the BOM (Bill of Materials), which lists all the components used on the PCB. Make sure there is a checkmark on the right for all components (except for the USB-A connector (USB-05)). If any component is out of stock, it must be ordered in the minimum quantity specified by JLCPCB beforehand. If you proceed with this step while components are out of stock, they will NOT be placed.
  • If all parts are in stock, click on „Next.“ Now, an error message will be displayed. This occurs because the USB-A connector is only available in the more expensive Standard PCB Assembly, not the Economy PCB Assembly from JLCPCB.
  • Click on „Do not place this part.“ Then again on „Next“ and „Do not Place.“
  • Once you reach the „Charge Details“ page, you’re almost done. Just select „Research/Education/DIY/Entertainment“ for shipping and choose „DIY – HS Code 902300,“ then add the order to your cart.
EyeTrackVR LEDs

Since I do not work with the EyetrackVR team, have no direct involvement with them, and therefore do not have any rights to their hardware, I am unable to create a guide for ordering the EyeTrackVR LEDs. Please refer to the official Eyetrack documentation for this or buy them from the official EyeTrackVR Store.

LEDs for Facetracking
  • The production files can be found here.
  • Once you upload the Gerber file, JLCPCB should automatically adjust most of the parameters.
  • TBD

The 3D model for the mainboard casing was created by MUTE, who also designed the DEV frunk mod.

Mainboard casing: stl Files (TBD)
Face-Tracking: stl Files (TBD)
Eye-Tracking: Please consult the EyeTrackVR documentation.

JLC3DP

If you don’t have a 3D printer or if you’re looking for higher quality, you can have the 3D files printed. I recommend using JLC3DP and the following settings:

TBD – Additional instructions will be provided soon