This guest article is written by Jordi Batallé, who has been hard at work over the last few months developing a DIY positional tracking solution for head mounted displays (HMDs / VR headsets). Batallé is a virtual reality enthusiast who holds a master’s degree in computer science. In his last article he introduced readers to the concepts of positional tracking and degrees of freedom (which you’ll need to know about to understand the following text).

Batallé has devised a clever and inexpensive DIY positional tracking system for virtual reality; he calls it PosiTTron. You can see a prototype in action here:

In this article he talks about the decisions that went into the design of PosiTTron and shows mockups of how it could be built directly into a head mounted display or adapted to the Oculus Rift.


First of all I wanted to mention that I designed this solution mainly with the Oculus Rift in mind, but this concept could be applied to most types of head mounted displays (HMD / VR headset).

The thing with positional tracking is that there are not only many different approaches to tackle this problem but also many different factors that determine which approach is best fitted in each scenario (seated vs. standing play, short vs. long distance, occlusion, magnetic interference, complexity of setup/calibration process, usability with backtops, 360 degree freedom of movement, etc). There’s already some really good progress by members of the MTBS3D forum on systems designed for specific use cases, like Chriky’s fiduciary markers for 1:1 real world location mapping or Brantlew’s Red Rovr Motion for redirected movement in open spaces to name a few.

Tech Demo Shows the Real Power of Quest Pro Face Tracking

I however wanted to focus on a completely different use-case, a consumer-friendly approach to solve positional tracking for the average gamer playing at home. Here I believe the main priorities should be easy setup, robust seated play without angle restrictions and ideally 360 degree freedom of movement inside a small play area. For me easy setup implies having a maximum of one external tracking device which is easy to position (i.e you don’t have to mount on the ceiling); something like the Wii or Kinect for instance. I also believe the overall appearance of the system is really important if you want a successful commercial device.

Future and Available Solutions:

Focusing on a consumer-friendly scenario, I believe some of the most promising solutions on the long-term are magnetic tracking or parallel tracking and mapping (PTAM) / visual odometry. I think they are both very valid approaches, and probably the future for VR, but we’re still not quite there based on what I’ve seen so far. On the short-term (as in available right now) one of the most popular approaches seems to be ‘outside-in’ optical tracking systems. In general some of the advantages of an external, inward-looking approach are low processing requirements and low latency.

One example of outside-in optical tracking is the PS Move method, like seen in Project Holodeck (basically strapping one PlayStation Move wand on top of the head and use one camera for tracking). The problem I have with this type of system (apart from looking quite dorky) is: what happens if you look 90 degrees up? with only 1 camera and 1 marker you will always face occlusion problems.

Unofficial 'Half-Life' VR Mod is Coming to Steam October 19th

Another popular optical solution out there is the TrackIR. This is actually pretty close to what I would want from a tracking system. The only problem with TrackIR is again to do with angles and occlusion: it has a very limited range (about 45 degrees) which is ok if you have your vision fixed on a computer screen but not good enough when wearing a VR headset. Also the working range (about 1.5 meters) is a bit shorter than what I would like (ideally 3 to 4 meters).

My Approach

So my line of thought was: if we already have a proven technology that when it works it works well, why not simply try to extend it and solve the low-angles and occlusion problems by adding more markers on the target? And while we’re at it, why not use one of the big hurdles of VR (having to actually wear a head-mount) in our advantage to integrate the solution?

A few months back i was following this very interesting topic on 6 DOF head tracking ideas at the MTBS3D forums.

After a few posts on this and some other related threads I was quite surprised to find out that apparently no-one in the forum had tried to implement something similar before or given it much thought… so I decided to give it a try myself as soon as I found some spare time!

Basically my main design goals were:

  1. Positional tracking (real 6 DOF) with 360 degree horizontal and 90 degree vertical freedom
  2. Maximum one external tracking device (camera), easy to setup, no need for user input or calibration
  3. NOT having ‘protruding antennas’ (TrackIR style) or ‘external glowing balls’ (PS move style).
    • They make the HMD more break-prone and they don’t look very cool
The 20 Best Rated & Most Popular Quest Games & Apps – November 2022

I think there’s a place for a mid-term solution, something which might not be the definitive positional tracking for virtual reality but still better than existing alternatives.


This article may contain affiliate links. If you click an affiliate link and buy a product we may receive a small commission which helps support the publication. See here for more information.

  • Daan Kortenbach

    Great work Jordi, the renders look amazing. Sing me up for one ;)

    • Jordi

      Thanks Daan!

      The plan is to release detailed instructions and files for building it (as easy and cheap as possible) + free tracking software + integrate it with 1 or more existing games, so anyone can try!

  • Paul James

    Fantastic article Jordi. I wonder if anyone from Oculus is watching ….

  • Eli

    What if there was a way to calibrate the LED spacing with the software. So as long as the patterns were the same, the distances wouldn’t really matter. If you held up the PosiTTron close to the camera where it has the best tracking, and then spun it around or held it at different orientations so the software could map out the size of the device and then store that as the shape/pattern grid. And maybe you measure the distance between 2 of the LEDS in millimeters or something so that the software has a starting point for the rest.

  • Jordi

    Yes, a calibration method similar to what you describe should be possible Alkapwn; in fact I mentioned it just a few days ago in one of my last posts on the MTBS forum, as a way to counter the low precision of “cheap” building techniques!

  • Gerald Terveen

    This is really awesome!!

    Idea .. could you use a cam with an optic and set it unsharp instead of using the blur (might even be possible with eye cam?

    I can’t wait for this to become reality! If you ever make it a commercially supported product I guess I will buy one.

    • Jordi

      Thank you Gerald!

      Yep, that is something i want to test a bit more as well; playing with the camera focus or trying to put different types of filter in front of the lens.

  • eyeandeye

    Any new news? I’d love to build one of these once I have my dev kit. I was planning on sacrificing one of my Hydras for positional but this sounds pretty sweet.

  • Jordi

    Hey eyeandeye, thanks for the interest! You can check my last update (from today) in here:

  • eyeandeye

    Awesome, thanks