Skip to content
nRF52 embedded code
C C++ Python Makefile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
nRF_SDK WIP: sync pulse measures OK. May 16, 2018
BLESerial.cpp Now send data over BLE. Aug 30, 2018
BLESerial.h Now send data over BLE. Aug 30, 2018
Makefile Makefile: always compile in the same directory now. Sep 10, 2018
PPI.cpp Fix: nrf_ppi_channel_disable_all() blocked SD (+it was not useful). Jul 16, 2018
communication.cpp Fix BLE. Jun 12, 2019
communication.h Now send data over BLE. Aug 30, 2018
firmware.h Add DEBUG_WRITE(). Aug 30, 2018
photosensors.cpp Improve LED debug for photodiodes problems. Jun 12, 2019
pinout.h WIP: sync pulse measures OK. May 16, 2018
pulse.cpp Remove useless memory allocation. Sep 9, 2018


This project is about a miniaturization of the Vive Tracker by HTC. It allows sub-millimetric 3d positioning, and embeds a 9DoF IMU with sensor fusion. This project is open source, all the materials can be found online:

This repository contains the Arduino code to program it, more explanations to use it are below:


The processor used in this project is not Arduino compatible by default but the following steps explain how to do it anyway.

  1. Download the Arduino IDE:

  1. Install the nRF52 support - read carefully these instructions (no need to follow the "From git" instructions):

  1. Install the BLE peripheral library with these instructions:


In the "Tools" menu select:

  • "Board->Generic nRF52"
  • "Softdevice->S132" (select "None" if you don't use BLE)
  • The rest depends on your personal configuration.

If you prefer command line, you can also do:

make compile



This board doesn't come with a programmer for now but several cheap solutions exist:

  1. Adafruit sells J-Link and ST-Link probes:

  1. For those with limited budget, these alternatives work too:

  1. But if you already have a Teensy or a 3.3V Arduino compatible board with ATmega32U4 (such as this one), you can build your own programmer thanks to this repository:


The above Install section should be enough in most cases but you might need to install udev rule on linux:

Finally, in the "Tools" menu select the right SWD probe:

  • "Programmer->J-Link"
  • "Programmer->ST-Link"


In the Arduino IDE it's the same as usual...

...and if you prefer command line, you can also do:

make # upload is by default


GNU General Public License version 3


You can’t perform that action at this time.