Skip to content

Software

The AsterTrack Software consists of several more or less distinct projects, including four main ones required for the base functionality of the current hardware:

  1. The AsterTrack Server Software supports both Windows (msvc) and Linux (clang, gcc).

  2. The AsterTrack Controller Firmware for the CH32V307 requires the standard GNU RISC-V toolchain to compile. You can compile and flash from Windows, but the development tools are much better developed on Linux.

  3. The AsterTrack Camera-MCU Firmware for the STM32G030 requires the standard GNU ARM toolchain to compile. You can compile, flash and develop on both Windows and Linux, but the development tools are slightly better on Linux.

  4. The AsterTrack Camera-SBC Firmware for the Raspberry Pi can currently only be compiled on the Pis themselves. The build system needed to configure the piCore OS image currently requires Linux - or WSL on Windows.

Build Instructions for these can be found by following the links to their respective READMEs in the main AsterTrack repository.

Additionally, there are (or will be) further relevant projects:

  • For IMU trackers complementing the optical tracking, custom SlimeVR-based nRF firmware is used, with added support for timesync. This consists of both a receiver and a tracker build depending on the exact hardware used. Both require a nRF-specific, zephyr-based toolchain, as well as specific flashing tools - see the SlimeVR docs for details. The source code of the custom firmware will be published once its finalised and rebased properly.

  • Example client software to interact with AsterTracks tracking output, applicable to multiple languages (C++ and python), can be found in this repo. There is also a viewer application not unlike the main AsterTrack Server Software which aims to implement all supported AsterTrack I/O protocols in C++ for immediate viewing.