Just like many other developers, we’ve been eagerly waiting for the 2.0 base stations. While they provide several improvements over the first generation, the most interesting to us is the ability to modulate the laser. The old setup used a fixed timing between sweeps from both base stations, so the sensors could distinguish what laser they’ve been hit by trough the timecode. This infrastructure had a significant caveat: The more base stations you would theoretically add to this setup, the lower the tracking frequency on each base station would become.

The SteamVR 2.0 base stations added the ability to modulate the laser of each individual base station, giving the new sensors a different method of identifying what station each laser sweep is coming from. This opens up various new opportunities, provided firmware support: For instance added redundancy, further tracking range or interference-free side-by-side setups.

We’ve been using SteamVR tracking since 2016 to create small-scale common-space experiences for our arcades. In most setups, each player has his own chaperone, whereas we took advantage of the SteamVR tracking properties to create true common spaces that you would usually find in large-scale installations using OptiTrack as an example. This allows players to experience immediate interaction (such as handing objects from one player to the next) even on a small scale.

This setup has always been limited however due to the little redundancy that two base stations provide: The moment players get very close to one another, there is a significant occlusion that doesn’t allow for proper feet tracking on that scale.

Growing Larger

It was always our wish to enhance the experience in our Holosuites to give players more freedom of movement. But systems like OptiTrack are a major investment that cannot be recouped in every location, especially when high rents eat away large chunks of the revenue. On a 10x10 meter scale, OptiTrack is an investment that is 180 times more expensive than a comparable SteamVR 2.0 setup, so we decided to wait. With the HTC Vive Pro full kits being shipped, we now have all we need to create this kind of setup. While individual base stations aren’t yet shipped, each full kit comes with two base stations, so having two Vive Pros will be enough to get you started.

Configuring 4 base stations

Step 1: Update firmware and SteamVR

Before starting configuration, make sure your device firmware and SteamVR are up to date (all necessary drivers are available in the public branch).

Step 2: Set base station channels

Remember how the base stations can modulate their lasers to be distinguished? This is solved through “channels” that the base stations can be configured to. If you’ve worked with the 1.0 base stations before, you may remember the channels A,B and C that were relevant for either optical or tethered synchronization.

The new base stations are by default configured to the channels S-0 and S-1 as delivered in the full kit. When you set up four base stations in the same space, you will need to reconfigure the channels on two of your base stations to S-2 and S-3 to have an individual channel for each station. This currently can’t be done through software, so you will have to do this manually.

You will find a little hole at the back of your base station that contains a toggle button for the channel setting. Use a paperclip to push the button and increment the channel ID.

To make sure you’ve reached the correct channel ID, hover the base station icon in the SteamVR window. Once your base stations are configured to S-0 through S-3 with no duplicates, you’re ready to go. It can always take a few seconds after toggling until the SteamVR window recognizes the change.

Step 3: Calibrate your room

To properly derive positional data, your system needs to know where exactly all the base stations are located. By the way, the channel ID is irrelevant to where you place them. So, take your HMD or a controller and move through the room. You can open the room overview from the developer panel in the SteamVR settings to check whether all base stations appear at their correct position.

This overview is particularly useful when considering how to distribute your base stations across larger areas. It shows you the coverage you have in every corner of your intended space before actually going into the room setup.

The room setup process is the same as you know from the old system. The playable area display is capped at four meters currently, but don’t worry – your chaperone and thus your effectively available space will be just the way your configured them. According to Valve, this setup is suitable for up to 10 x 10 meters. While we could only test 7,5 x 7,5 meters so far due to spatial constraints in our office, the coverage has been really good.

Caveats and outlook

Right now, we are noticing some issues with SteamVR crashing and tracking not recovering whenever the tracking got lost at some point and you may experience similar issues as you start developing.

Valve is already working on a firmware update however that will bring some improvements that are especially relevant to larger tracking areas. The most interesting thing about this is that the update will unlock the full 16 channels, which means that bringing up to 16 base stations into one common space will be possible at some point. While no further specifics have been named yet, you can probably expect being able to build interference-free side-by-side setups soon and further opportunities in the future: For instance experimenting with more redundancy for full-body tracking and even larger tracking spaces once all 16 channels can be used in one tracking universe. The coming update will likely also contain functions to let you remote-configure the channel IDs in a quicker fashion.

Happy developing!