vive-diy-position-sensor - Code & schematics for position tracking sensor using HTC Vive's Lighthouse system and a Teensy board

  •        75

Lighthouse position tracking system consists of:   – two stationary infrared-emitting base stations (we'll use existing HTC Vive setup),   – IR receiving sensor and processing module (this is what we'll create).The base stations are usually placed high in the room corners and "overlook" the room. Each station has an IR LED array and two rotating laser planes, horizontal and vertical. Each cycle, after LED array flash (sync pulse), laser planes sweep the room horizontally/vertically with constant rotation speed. This means that the time between the sync pulse and the laser plane "touching" sensor is proportional to horizontal/vertical angle from base station's center direction. Using this timing information, we can calculate 3d lines from each base station to sensor, the crossing of which yields 3d coordinates of our sensor (see calculation details). Great thing about this approach is that it doesn't depend on light intensity and can be made very precise with cheap hardware.



Related Projects

libsurvive - Lightweight HTC Vive Library

An Open-Source tool for working with lighthouse-based tracking data, including support for the HTC Vive, which is still in the experimental phase. If you are an individual who bothers going back and watching some of these, PLEASE PLEASE PLEASE add a note to whenever something interesting happens. I want to make a highlight reel, but I don't want to sit through all the videos.

Simula - 3D Window Manager for Linux

Simula is a 3D window manager for Linux. Mission: Facilitate a Linux future for VR & AR Desktop. In the short-run, this means allowing people to run 2D Linux apps with current generation headsets. In the long-run, this means allowing people to run Linux in standalone AR & VR HMDs. Currently, Simula is aiming to be compatible with the HTC Vive.

WebVR-Extension - Chrome DevTools extension to emulate WebVR API

Chrome DevTools extension that enables users and developers to run WebVR 1.0 content without having a supported HMD headset or even a compatible browser/platform. It currently emulates an HTC Vive. It can also help develop even if one owns an HMD, by making repetitive actions that require putting the HMD on and off easier to check through the DevTools panel.


An ffmpeg GUI for video encoding. Supports DVD and files and converts to all formats allowed by ffmpeg, including the iPod, PSP, and other popular formats.

lovr - Virtual Reality for Lua

LÖVR is a simple framework for creating virtual reality experiences with Lua, based on LÖVE. Documentation and examples are available on the website. - A list of resources about the UI/UX considerations for VR.

Many thanks to all of the authors of the talks, articles, and guides referenced in the list. Without these people doing the hard thinking, Virtual Reality wouldn't be where it is today. If you would like to suggest a resource, you can do so by creating an issue.

lighthouse-ci - Run Lighthouse in CI using Docker

This repo contains the frontend and backend for the Lighthouse CI server. Please note: This drop in service is considered Beta. There are no SLAs or uptime guarantees. If you're interested in running your own CI server in a Docker container, check out Running your own CI server.

lighthouse - A simple scriptable popup dialog to run on X.

A simple flexible popup dialog to run on X. In the demo a hotkey is mapped to lighthouse | sh with lighthouserc using, which is included in config/lighthouse/ and installed by lighthouse-install.

popper.js - A kickass library to manage your poppers

A library used to position poppers in web applications.A popper is an element on the screen which "pops out" from the natural flow of your application. Common examples of poppers are tooltips, popovers and drop-downs.

lighthouse-api - The official Ruby Library for interacting with the Lighthouse API

The official Ruby Library for interacting with the Lighthouse API

lighthouse - Lighthouse: a peer to peer crowdfunding app that uses Bitcoin

Lighthouse is a decentralised, peer to peer crowdfunding application that uses the smart contracts features of the Bitcoin protocol. It lets you create projects and pledge to those projects.Or sign up for occasional email newsletters on

lighthouse - Auditing, performance metrics, and best practices for Progressive Web Apps

Lighthouse analyzes web apps and web pages, collecting modern performance metrics and insights on developer best practices. Lighthouse is integrated directly into the Chrome Developer Tools, under the "Audits" panel.

TouchFlo Detacher

A simple app that allows HTC Touch Diamond / Pro / HD (or other) devices to run TouchFlo 3D or TouchFlo 2D outside of the Today screen. Get all the eye-candy goodness of TouchFlo without losing your traditional Today screen!


libwlocate is a shared library that can be used for location-based services. It checks for WLAN-networks that are available near to a user and retrieves the current geographic position out of them. Thus no GPS is needed for positioning. This WLAN-based geolocation happens without using any of the commercial services that do the same but track the users position and data. libwlocate instead bases on the free OpenWLANMap project.

react-native-overlay - An <Overlay /> component that brings content inside to the front of the view regardless of its current position in the component tree

An <Overlay /> component that brings content inside to the front of the view regardless of its current position in the component tree. This was extracted from react-native-modal because a modal is not the only time that you want to bring something to the front of the screen. Ideally, no. This should probably only be used as a last resort. You can usually accomplish what you need to by just absolute positioning an view at the bottom of your root component.

HTC Home for Windows

HTC Home is a widget that shows nice animated clock with weather forecast like on HTC phones.

Trip Tracker

Trip Tracker is a position tracking client-server system. A real time tracking environment can be set up with a GPS receiver and a tracking server. The map client can show the map position of the GPS client in real time.

pwmetrics - Progressive web metrics at your fingertipz

CLI tool and lib to gather performance metrics via Lighthouse. IN BETA.

jeelizFaceFilter - Javascript/WebGL lightweight face tracking library designed for augmented reality webcam filters

This JavaScript library detects and tracks the face in real time from the webcam video feed captured with WebRTC. Then it is possible to overlay 3D content for augmented reality applications. We provide various demonstrations using main WebGL 3D engines. We have included in this repository the release versions of the 3D engines to work with a determined version (they are in /libs/<name of the engine>/). This library is lightweight and it does not include any 3D engine or third party library. We want to keep it framework agnostic so the outputs of the library are raw: if the a face is detected or not, the position and the scale of the detected face and the rotation Euler angles. But thanks to the featured helpers, examples and boilerplates, you can quickly deal with a higher level context (for motion head tracking, for face filter or face replacement...). We continuously add new demontrations, so stay tuned ! Also, feel free to open an issue if you have any question or suggestion.

B7 Google Earth Positioning System

A program for importing your position (from a NMEA-GPS device) into Google Earth in realtime.