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

  •        67

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

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.

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

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.

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.

HTC Home for Windows

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

pwmetrics - Progressive web metrics at your fingertipz

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

B7 Google Earth Positioning System

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

Silverlight Tooltip with smart positioning

As well as demonstrating how to create a simple Tooltip control for your application, this project also shows how to get/set the absolute position of a control in your application even if it is not a Canvas control.

CMPopTipView - Custom UIView for iOS that pops up an animated "bubble" pointing at a button or other view

An iOS UIView subclass that displays a rounded rect "bubble", containing a text message, pointing at a specified button or view. A CMPopTipView will automatically position itself within the view so that it is pointing at the specified button or view, positioning the "pointer" as necessary.

geoStarsLib - geodetic library

geoStarsLib has functions for dealing with many geodesy-based problems found in positioning, pointing, and surveying situations. It is useful to determine absolute position on the earth, pointing vectors, coordinate transformations, and other functions.

Sprite3D.js - Sprite3D.js, a JS library for generating and manipulating CSS 3D transforms

Sprite3D.js makes it easy to manipulate HTML elements in 3D space through the use of CSS 3D transforms. It allows to control the position, rotation and scale of the element using simple, chainable methods. A Sprite3D object IS an HTMLElement, so you can freely use native browser events and properties, and control their appearance through CSS directives.When creating a Sprite3D element, you can specify an ID or class, or even provide an existing HTML element that will be 'enhanced'. Most of its added methods can then be used as getter or setter depending of the number of arguments.

Chess position POV-Ray source generator

A Perl script which accepts a chess position (in the FEN format) as input and outputs POV-Ray source, which, when rendered by POV-Ray, produces a 3-D view of the chess position.

Paging SharePoint ListItems using listitems position

This is a console application which will display the listitems in a paged manner using the SharePoint listitems position.

scroll-frame - Retain your scroll position between pages using an iframe

Retain your scroll position between pages using an iframe. Especially helpful for infinite scrolling views.

suncalc - A tiny JavaScript library for calculating sun/moon positions and phases.

SunCalc is a tiny BSD-licensed JavaScript library for calculating sun position, sunlight phases (times for sunrise, sunset, dusk, etc.), moon position and lunar phase for the given location and time, created by Vladimir Agafonkin (@mourner) as a part of the project. Most calculations are based on the formulas given in the excellent Astronomy Answers articles about position of the sun and the planets. You can read about different twilight phases calculated by SunCalc in the Twilight article on Wikipedia.