← Back to Instructions

FaceFocusVR

Instructions

Offline Version

This document is an exported snapshot of the online instructions. For the best experience with interactive images, videos, and the latest updates, please use the website. This PDF is intended as a backup in case the website is unavailable or you have no internet access.

facefocusvr.com/instructions

If you need any help, join the Discord (facefocusvr.com/discord).

  1. 📖 Basics
  2. 🔧 Hardware Setup
  3. 🖥️ Software Setup
  4. 💡 Fine-Tuning
  5. 🔗 FFVR Connect

📖 Basics

Essential information before you start installing your FaceFocusVR kit.

Before You Begin

Installing the kit is mostly straightforward and should take roughly one to two hours if you follow the instructions carefully, thoughtfully, and at your own pace. There is no need to rush.

The instructions in this guide describe the method I have found to be the most reliable and easiest to install. If you discover a better approach during installation, for example a different cable routing method, you are free to use it. That said, I strongly recommend following my instructions exactly as written, especially on your first attempt.

Regardless of your chosen approach, please keep one important rule in mind: camera cables must never be kinked, twisted, or folded. Gentle bends are perfectly fine, but the cables must remain smooth and free of sharp angles at all times. Damaged cables cannot be repaired and will need to be replaced.

  1. ▶

    Board Connector Overview

    The FaceFocusVR board is the central piece of your kit. It connects all cameras, LEDs, and the fan. Before you start installing, take a moment to familiarize yourself with each connector and its purpose.

    FaceFocusVR board with all connectors labeled: Eye cameras, face camera, LED connectors, fan header, power button, and USB-C port
    FaceFocusVR board with all connectors labeled: Eye cameras, face camera, LED connectors, fan header, power button, and USB-C port

    Camera Connectors
    The three wide ribbon cable connectors are for the cameras: Eye Right and Eye Left at the top, and Face at the bottom. The eye cameras sit inside rings that mount around your headset lenses. The face camera in the face module.

    LED Connectors
    The three small connectors along the bottom edge are for the infrared LEDs: Eye R and Eye L on the right, Face on the left. They ensure tracking works even in complete darkness.

    Fan / Power Button
    The fan header at the top powers the cooling fan. The connector on the right side is where the power button connects.

    USB
    The additional USB port on the front of the board can be used for extra accessories such as a Bluetooth dongle. However, since it is power-limited, I would not recommend using it.

🔧 Hardware Setup

Physical installation of the FaceFocusVR kit into your Valve Index headset.

Required Tools

  • M3 Allen key (hex key)
  • T5 Torx screwdriver
  • (Self-holding) Tweezers (optional)
  1. 1

    Preparation

    Before you begin, prepare your headset by adjusting a few settings and removing detachable parts.

    FOV adjustment knob on the Valve Index
    FOV adjustment knob on the Valve Index
    Removing the magnetic face cushion
    Removing the magnetic face cushion
    Pulling the tether cable out of the headset
    Pulling the tether cable out of the headset

    Source: ifixit.com

    • Rotate the field-of-view adjustment knob clockwise until it is fully extended.
    • Set the IPD to its minimum value (lenses fully inward).
    • Remove the magnetic face cushion.
    • Gently pull the tether cable straight out of the headset (only the cable itself; there's no need to remove the cable clips from the head strap).
  2. 2

    Remove the Face Gasket Bezel

    The face gasket bezel needs to come off so you can access the internal components.

    Four T5 Torx screws highlighted on the headset
    Four T5 Torx screws highlighted on the headset
    Grabbing the left edge of the bezel
    Grabbing the left edge of the bezel
    Sliding the left side of the bezel off
    Sliding the left side of the bezel off
    Sliding the right side of the bezel off
    Sliding the right side of the bezel off
    Pulling the bezel further away
    Pulling the bezel further away
    Bezel fully removed, headset internals visible
    Bezel fully removed, headset internals visible

    Source: ifixit.com

    • Use a T5 Torx screwdriver to remove the four 6 mm screws securing the faceplate frame to the headset.
    • Grab the left edge of the face gasket bezel with your hand and slide it off of the headset.
    • Repeat the previous step for the right side of the face gasket bezel.
    • Remove the face gasket bezel.
    Warning: Do not try and pry the face gasket bezel off, or you will damage the headset.
  3. 3

    Remove the Eye Tube Gasket

    With the bezel removed, carefully detach the eye tube gasket using tweezers.

    Eye tube gasket area overview
    Eye tube gasket area overview
    Using tweezers to separate left gasket edge
    Using tweezers to separate left gasket edge
    Separating right gasket edge with tweezers
    Separating right gasket edge with tweezers

    Source: ifixit.com

    • Use a pair of tweezers to separate the left edge of the eye tube gasket from the headset by lifting the gasket carefully over the hooks on each side.
    • Repeat the process for the right edge of the gasket.
  4. 4

    Remove the Motherboard Cover

    With the gasket removed, take off the front cover and motherboard cover to access the internals.

    Pulling the magnetic front cover off the headset
    Pulling the magnetic front cover off the headset
    Four T5 Torx screws highlighted on the motherboard cover
    Four T5 Torx screws highlighted on the motherboard cover
    Removing the motherboard cover, internals visible
    Removing the motherboard cover, internals visible

    Source: ifixit.com

    • Pull the front cover straight off of the front of the headset. It is held in place by four magnets.
    • Use a T5 Torx screwdriver to remove the four 5.4 mm screws securing the motherboard cover to the headset.
    • Remove the motherboard cover from the headset.
  5. ◎

    Goal for Steps 5, 6, 7 and 8

    From this point onward, the process becomes more delicate because you are working with ribbon cables. Take your time!

    Completed setup with four ribbon cables routed through the front of the headset
    Completed setup with four ribbon cables routed through the front of the headset
    Close-up of the left side cable routing
    Close-up of the left side cable routing
    Close-up of the right side cable routing
    Close-up of the right side cable routing
    Final overview of all four cables in position
    Final overview of all four cables in position

    In the next four steps, you will install the two rings used for eye tracking. Each ring contains a circuit board with LEDs for eye illumination and a camera.

    Since it's often easier to work toward a visible goal, the images show what your setup should look like after completing steps 5, 6, 7, and 8.

    In step 5, you will route the ribbon cable for the left side through the headset. In step 6, you will do the same for the right side. Steps 7 and 8 will then connect the LED modules.

    In the end, there should be four cables coming out of the front of your Index, positioned exactly as shown.

    Note: On newer revisions of the kit, the LEDs and connector are recessed into the ring, with the LED cable pre-attached.
  6. 5

    Routing the Left Ribbon Cable

    Guide the left ribbon cable through the headset so it exits on the front side.

    Reference image showing blue-marked plastic piece and orange arrow for cable routing
    Reference image showing blue-marked plastic piece and orange arrow for cable routing
    Using a light source to illuminate the cable exit hole
    Using a light source to illuminate the cable exit hole
    Inside view showing the ribbon cable exit point
    Inside view showing the ribbon cable exit point
    Front view with highlighted area where the cable exits
    Front view with highlighted area where the cable exits

    The ribbon cable should pass behind the blue-marked plastic piece and exit through the bright hole, following the orange arrow shown in the reference image.

    If you have difficulty guiding the cable through the hole or seeing it, place a light source in front of the headset to clearly see where the cable should exit.

    In the last image, you can see where the ribbon cable should exit. With enough light and some patience, it's quite easy to guide the ribbon cable through the hole.

    Once the cable has reached the other side, gently press the ring onto the lens to keep it in place.

  7. 6

    Routing the Right Ribbon Cable

    Now repeat step 5 for the right side.

    Reference image showing cable routing path for the right side
    Reference image showing cable routing path for the right side
    Guiding the right ribbon cable behind the plastic piece
    Guiding the right ribbon cable behind the plastic piece
    Inside view showing the right ribbon cable exit point
    Inside view showing the right ribbon cable exit point
    Front view with highlighted area where the right cable exits
    Front view with highlighted area where the right cable exits

    The ribbon cable should again pass behind the blue-marked plastic piece and exit through the bright hole, following the orange arrow shown in the reference image.

    In the last image, you can see where the ribbon cable should exit.

    Once the cable has reached the other side, gently press the ring onto the lens to hold it in place.

  8. 7

    Routing the Left LED Cable

    Route the flexible LED cable on the left side through the same path used in step 5.

    Left LED cable being routed along the same path as step 5
    Left LED cable being routed along the same path as step 5
    Connecting the LED cable to the ring
    Connecting the LED cable to the ring
    Ring pressed onto lens with excess cable pulled through
    Ring pressed onto lens with excess cable pulled through

    After routing the two ribbon cables for the cameras, route the left flexible LED cable along the same path as shown in step 5.

    You may need to slightly lift the ring off the lens to guide the cable through. Be careful not to let the camera ribbon cable slip out while doing so.

    After connecting the cable to the ring, press the ring back onto the lens and gently pull any excess cable out from the front.

  9. 8

    Routing the Right LED Cable

    Route the flexible LED cable on the right side through the same path used in step 6.

    Right LED cable being routed along the same path as step 6
    Right LED cable being routed along the same path as step 6
    Connecting the right LED cable to the ring
    Connecting the right LED cable to the ring
    Ring pressed onto lens with excess cable pulled through
    Ring pressed onto lens with excess cable pulled through

    Now repeat step 7 for the right side. Route the right flexible LED cable along the same path as shown in step 6.

    Again, you may need to slightly lift the ring off the lens to guide the cable through. Be careful not to let the camera ribbon cable slip out while doing so.

    After connecting the cable to the ring, press the ring back onto the lens and gently pull any excess cable out from the front.

  10. 9

    Reattach the Eye Tube Gasket

    With all cables routed, reattach the eye tube gasket to the headset.

    Placing the left edge of the eye tube gasket onto the hooks
    Placing the left edge of the eye tube gasket onto the hooks
    Attaching the right edge of the gasket
    Attaching the right edge of the gasket
    Eye tube gasket fully reattached
    Eye tube gasket fully reattached

    Source: ifixit.com

    • Use a pair of tweezers to place the left edge of the eye tube gasket onto the small hooks on the headset.
    • Repeat the process for the right side of the gasket.
  11. 10

    Reattach the Face Gasket Bezel

    With all cables in place, reattach the face gasket bezel to complete the hardware installation.

    Positioning the left side of the face gasket bezel
    Positioning the left side of the face gasket bezel
    Positioning the right side of the face gasket bezel
    Positioning the right side of the face gasket bezel
    Sliding the bezel onto the headset
    Sliding the bezel onto the headset
    Bezel fully slid into place
    Bezel fully slid into place
    Fastening the four T5 Torx screws
    Fastening the four T5 Torx screws
    Face gasket bezel fully reattached
    Face gasket bezel fully reattached

    Source: ifixit.com

    • Position both sides of the face gasket bezel and carefully slide it onto the headset.
    • Use a T5 Torx screwdriver to fasten the four 6 mm screws, securing the bezel to the headset and reattach the magnetic face cushion.
    Warning: Make sure the clips on the face gasket bezel are properly aligned with the headset before sliding it fully into place.
  12. 11

    Cable Routing Preparation

    To prevent the left ribbon cable from getting caught in the fan, it needs to be routed through a specific gap.

    Overview of the cable routing gap on the left side
    Overview of the cable routing gap on the left side
    Gap between plastic housing and threaded insert highlighted
    Gap between plastic housing and threaded insert highlighted
    Guiding the ribbon cable through the gap
    Guiding the ribbon cable through the gap
    Ribbon cable fully pushed through the gap
    Ribbon cable fully pushed through the gap
    • Make sure the field-of-view adjustment is still fully extended and that the IPD is set to the lowest setting (lenses fully inward).
    • Guide the LEFT ribbon cable (when looking at the Index from the front) through the small gap between the plastic housing of the Index and the threaded insert, as shown in the pictures.
    Warning: Make absolutely sure that the ribbon cable is fully pushed through and not stuck in the gap. If the cable gets caught there, it will be permanently damaged beyond repair.
  13. 12

    Installing the Frunk

    Route the cables through the new frunk and secure it to the headset.

    Cables pre-bent and routed correctly through the frunk
    Cables pre-bent and routed correctly through the frunk

    Read the entire step before you start!

    • Avoid sharp bends: The cables must not be sharply bent or creased. A gentle curve, as shown in the photos, is fine.
    • Do not pinch the cables: Make sure the ribbon cables are not pinched when attaching the new frunk. They should lie as flat as possible and must not stand on edge, as this could compress and damage them.

    This step requires some patience and care, because the cables tend to stand upright or shift out of position.

    Sometimes it helps to pre-bend the cables slightly so they naturally fall into the correct position during installation, as shown in the picture.

  14. Cable routing through the frunk, showing correct positions
    Cable routing through the frunk, showing correct positions
    Close-up of right cable near USB port, routed away from connector
    Close-up of right cable near USB port, routed away from connector

    When attaching the frunk, make sure the cables run roughly as shown in the pictures. The exact routing is not critical, but it is very important that they are not pinched or sharply bent.

    Pay special attention to the right cable near the USB port. In my experience, it tends to stand upright in front of the connector. The cable should route away from the USB port, not in front of it.

    You should not feel any significant resistance when placing the new frunk. If you have to use force to push it down, one of the ribbon cables is probably being pinched, most likely the right one when looking at the Index from the front.

  15. Cables extending about 1 cm beyond the frunk edge
    Cables extending about 1 cm beyond the frunk edge
    Gold contacts of ribbon cables facing upward in the passthrough
    Gold contacts of ribbon cables facing upward in the passthrough

    The cables should extend about 1 cm beyond the edge of the frunk so you can easily connect them later. The exact length is not critical, as long as there is enough cable to plug them in comfortably.

    Before tightening the screws, make sure that no ribbon cable has shifted into the path of a screw (see step 11).

    Warning: Make sure the gold contact side of the ribbon cables is facing upward when you feed them through the passthrough.
  16. 13

    Installing the Mainboard

    Carefully insert the mainboard into the USB connector and secure it in place.

    Mainboard being inserted at an angle into the USB connector
    Mainboard being inserted at an angle into the USB connector
    • Insert the mainboard at a slight angle into the USB connector. As soon as it clears the edge of the frunk, level it out so it slides straight into the USB connector.
    • Once the board is fully inserted, press down on the back until it clicks into the hook.
  17. 14

    Connect all Cables

    Connect the ribbon cables, LED connectors, and fan.

    Ribbon cable gently bent and connected to the mainboard
    Ribbon cable gently bent and connected to the mainboard
    Black connector tabs lifted upward to open the ZIF connector
    Black connector tabs lifted upward to open the ZIF connector
    LED connector orientation reference
    LED connector orientation reference
    LED connector with metal contacts facing downward
    LED connector with metal contacts facing downward
    Fan connector plugged into the mainboard
    Fan connector plugged into the mainboard
    • Connect the ribbon cables. Do not crease them, bend them gently as shown in the picture.
    • Open the connectors by lifting the black tabs on the sides upward, as demonstrated in this video.
    • You can now also plug in the two connectors for the LEDs. Pay attention to the connector's orientation, as it only fits one way, do not force it. The cable colors and wire order do not matter. Just make sure the metal contacts of the connector are facing downward when plugging it in, as shown in the third picture.
    • Lastly, plug in the fan.
    Warning: Make sure the metal contacts of the LED connectors are facing downward when plugging in, it only fits one way, so do not force it.
  18. 15

    Front Cover

    Attach the front cover with the face tracking module and power switch.

    Face tracking module fed through the front cover and connected to the board
    Face tracking module fed through the front cover and connected to the board
    Front cover secured with screws
    Front cover secured with screws
    • Feed the pre-assembled face tracking module through the front cover and connect it to the board as shown in the photo.
    • Connect the power switch to the board.
    • Secure the cover using the supplied screws.
    Warning: You are screwing into plastic, so do not overtighten. A snug hand-tight fit is all that is needed. Applying too much force risks stripping the threads permanently.
  19. 16

    Face Tracking Module Arm

    Route the ribbon cable through the holder and mount the arm to complete the installation.

    Ribbon cable fed through the designated holder
    Ribbon cable fed through the designated holder
    Face tracking module arm installed at an angle to avoid cable tension
    Face tracking module arm installed at an angle to avoid cable tension
    Module adjusted toward face and long screw tightened
    Module adjusted toward face and long screw tightened
    • Feed the ribbon cable through the designated holder and install the arm. The easiest way to do this is to temporarily position the face tracking module at an angle so the cables are not under tension.
    • Install the long screw that secures the face tracking module.
    • Adjust the module so it points toward your face, then tighten the screw. The installation is now complete.
    Warning: You are screwing into plastic, so do not overtighten. A snug hand-tight fit is all that is needed. Applying too much force risks stripping the threads permanently.
  20. ✓

    Congratulations, you are done!

    Your hardware installation is complete. Follow the steps below to verify everything is working.

    Device Manager showing three camera devices confirming successful installation
    Device Manager showing three camera devices confirming successful installation

    To test if everything is working, power on your Index and switch on your new hardware using the button on the front. A blue LED should light up on the board, visible through the top ventilation slots above the power button.

    Next, open the Device Manager. If you see three camera devices listed, as shown in the image on the right, the mainboard is working correctly. If you only see two, simply power-cycle the system once. This can happen because Windows or the USB connection may not initialize all devices on the first attempt.

    Now open the Windows Camera app and try switching between all three video streams. If this works, congratulations, your hardware is installed and functioning correctly.

    Now move on to the software part.

🖥️ Software Setup

Configure the tracking software on your PC.

Basics

This project focuses on hardware. Your computer sees the three cameras (Eye L, Eye R, Face) as standard UVC webcam streams at 240x240@60 FPS or 320x320@45 FPS on newer revisions. Any software that can process a webcam stream will work.

Popular tracking software includes ETVR, Ryan's Eye Tracking, and Project Babble. All of them are compatible with this hardware. I recommend Baballonia by Project Babble for the best results and ease of use, but feel free to try other options.

This guide covers the Baballonia setup.

  1. ▶

    VRCFaceTracking

    VRCFaceTracking Module Registry
    VRCFaceTracking Module Registry
    VRCFT-Babble module search result
    VRCFT-Babble module search result
    Babble module installed on VRCFT home page
    Babble module installed on VRCFT home page

    VRCFT acts as a translator for VRChat. It converts face-tracking values and eye-tracking data it gets from Baballonia into parameters that VRChat understands, allowing your avatar's expressions and movements to respond accordingly.

    If you want to use face tracking (and eye tracking) in VRChat, you will need VRCFT, regardless of whether you are using my hardware or any other face-tracking solution.

    • Download VRCFT on Steam: store.steampowered.com/app/3329480/VRCFaceTracking
    • After launching it, navigate to "Module Registry" and search for the module "VRCFT-Babble", then install it.
    • Restart VRCFT.
    • The Babble module should now appear on the home page of the VRCFT app, as shown in the last image. No further steps are required in VRCFT.
  2. ▶

    Baballonia

    Baballonia main interface
    Baballonia main interface
    Face Camera Settings with flip options enabled
    Face Camera Settings with flip options enabled
    Camera selection dropdown menu
    Camera selection dropdown menu
    All cameras started and tracking active
    All cameras started and tracking active

    Baballonia analyzes the camera streams from your eyes and face to determine your gaze direction, eye openness, and facial expressions, then forwards this data to VRCFT.

    • Download Baballonia on Steam: store.steampowered.com/app/4091970/Project_Babble_Baballonia
    • Open Baballonia and skip the setup wizard.
    • Open the "Face Camera Settings" and enable both the vertical and horizontal flip options. The flip options may appear as icons depending on your version. Do not adjust any camera settings for the eyes!
    • Make sure your Index and the hardware are powered on, then select the corresponding camera from the dropdown menu.
    • Once you've selected all the cameras, click "Start Camera" for each one.
  3. ✓

    Almost done!

    All following steps need to be done while you are in VR. Yes, VRChat works too.

  4. ▶

    Face Camera Cropping

    Face camera cropping mode selected
    Face camera cropping mode selected
    Setting the crop boundaries with cheeks puffed
    Setting the crop boundaries with cheeks puffed
    Adjusting top boundary with nose visible
    Adjusting top boundary with nose visible
    Final crop result
    Final crop result

    For the face camera only, you need to set a crop that keeps your face visible in all extreme positions while including as little background as possible. I recommend the following approach:

    • Change the mode for the face camera from "Tracking" to "Cropping."
    • Puff out your cheeks as much as you can. This sets the side boundaries of the crop.
    • Open your mouth as wide as possible. This defines the bottom boundary.
    • Set the top boundary so that your nose remains visible, but minimize any static parts of the Index headset in the frame.
    • Try to keep the crop box as close to a square shape as possible.
    • That's it. Face tracking doesn't need any calibration. It automatically adjusts itself over time. Just use it for a few minutes and it will calibrate on its own.

    It doesn't have to be perfectly precise. From my testing, it's better to include a bit more background rather than accidentally cutting off parts of your face. In the end, your crop will likely look similar to mine shown in the last image.

  5. ▶

    Eye Tracking Calibration

    Video: https://www.youtube.com/watch?v=CmLql1VxT-I

    I highly recommend watching the video before starting the calibration process.

    • Stand in the middle of your playspace facing your forward direction. If you're unsure which way that is, recenter your playspace.
    • After clicking "Eye Calibration," a SteamVR overlay will appear showing a short video of the required head movements.
    • Once the 60-second timer ends, repeat those head movements for about 3 minutes. The exact order doesn't matter. What's important is that your eyes always stay focused on the ball and that you move your head so your eyes reach their extreme positions.
    • When this part is done, you'll receive feedback. Then a message will appear saying: "When the countdown finishes, close your eyes."
    • When the timer reaches 2 seconds, close your eyes and keep them fully closed until you receive another confirmation.
    • While your eyes are closed, squeeze each eye shut twice and raise your eyebrows twice as if making a surprised expression, keeping your eyes closed the entire time. Moving the headset slightly during this phase can also help.

    The goal is to teach the software what your eyes look like when closed, since this can vary depending on facial expression or headset position.

  6. ✓

    You're all set!

    Eye and face tracking is now ready to use. Try this avatar for testing in VRChat.

    If you want to fine-tune your tracking, fix issues with blinking or winking, or exaggerate certain expressions, switch to the Fine-Tuning tab.

💡 Fine-Tuning

Adjust tracking parameters to get the best results for your expressions.

  1. ✓

    Before you start

    Only adjust these settings if you notice a specific issue, for example incorrect blinking, expressions triggering too early, or expressions not being strong enough. If everything works fine, there is no need to change anything.

  2. ▶

    Adjusting Parameters

    Baballonia calibration window overview
    Baballonia calibration window overview
    Parameter sliders with minimum (yellow) and maximum (pink) controls
    Parameter sliders with minimum (yellow) and maximum (pink) controls

    If your avatar isn't blinking correctly, or you want smiles and other expressions to appear more or less intense, you can fine-tune them in the Baballonia app by adjusting the threshold settings.

    • Navigate to the calibration window in the Baballonia app (pencil icon) and open the parameter group that contains the parameters you want to adjust (for example "smile").
    • DO NOT blindly copy my settings, as they are different for everyone. It's better to understand what each slider does to achieve the best results.

    Each parameter, such as LeftEyeLid, RightEyeLid, or any face parameter like smile, has two controls: a minimum (circled in yellow) and a maximum (circled in pink). The red dot shows the current state and moves based on your expression. For example, when your face is relaxed it moves to the left, and when you start smiling it moves to the right.

    The minimum value defines when a shape starts activating. Raise it if the shape triggers too early or stays active while idle. The maximum value controls how far the shape can move. Lowering it exaggerates the motion within the new range.

  3. ▶

    Blinking / Winking

    Eyelid parameter with minimum slider adjusted for blink detection
    Eyelid parameter with minimum slider adjusted for blink detection
    Eyelid parameter with adjusted blink values
    Eyelid parameter with adjusted blink values

    If your avatar's blinking or winking doesn't behave as expected, or it doesn't blink at all, you can raise the minimum value of the eyelids. This makes the blink trigger earlier and appear faster.

    • Blink several times and watch how far the red indicator moves to the left.
    • Move the left minimum slider to that position, or slightly to the right of where the red indicator reaches.

    The value will likely be higher than the one shown in the image. Based on the calibration, mine is normally between 0.15 and 0.4.

  4. ▶

    Exaggerated Expression

    Smile parameter with lowered maximum for a subtle resting smile
    Smile parameter with lowered maximum for a subtle resting smile
    Experimenting with expression parameters in VRChat mirror
    Experimenting with expression parameters in VRChat mirror

    Sometimes you may want an expression to trigger earlier, stay slightly active all the time, or be exaggerated.

    A good example is smiling. If you want your avatar to keep a slight smile even when your face is mostly relaxed, simply lower the maximum value for the smile parameter.

    I highly recommend just playing VRChat with your avatar, looking in a mirror, and experimenting with the parameter minimums and maximums. The values update live, so you don't need to switch between tabs to see the results.

  5. ▶

    Expression Triggering Too Early

    Adjusting the minimum value to prevent an expression from triggering too early
    Adjusting the minimum value to prevent an expression from triggering too early

    Sometimes an expression might trigger too early, for example when you open your mouth and your avatar sticks out the tongue even though you are not actually doing that.

    In those cases, you can adjust the minimum value of the corresponding parameter so the expression only activates when it should.

    I highly recommend just playing VRChat with your avatar, looking in a mirror, and experimenting with the parameter minimums and maximums. The values update live, so you don't need to switch between tabs to see the results.

🔗 FFVR Connect

A web-based tool for interacting with your FaceFocusVR hardware.

What is FFVR Connect?

FFVR Connect is a web-based tool that lets you interact with your FaceFocusVR hardware directly from your browser. You can adjust the fan speed, change LED brightness, enable and read logs, and in the future also perform firmware updates.

The tool is designed to be intuitive and easy to use. Simply open it in your browser, connect your board, and you are ready to go.

You can access it here: connect.facefocusvr.com

Browser & Connection

FFVR Connect requires a Chromium-based browser (Google Chrome, Microsoft Edge, Brave). I recommend Google Chrome. Firefox and Safari are not supported.

If your board cannot connect, it is most likely running an older firmware version that does not support the tool. Every board shipped before 15.03.2026 does not have the necessary hardware for fan control, so a manual firmware update is not needed.

If you still feel the need to update, please reach out via Discord.

Features

Fan Speed - The default is 30%, which is also what I recommend. Do not set it below 25%.

LED Brightness - Can be changed, but this is not required. Only adjust if specifically asked by FaceFocusVR support.

Logging - Enable and read device logs for diagnostics.

Firmware Updates - Will be available through FFVR Connect in the future.