Skip to content
Track ArUco markers and output movement commands to re-center the marker to serial port
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.


Track ArUco markers and output movement commands to re-center the marker.



Youtube video with explanation


ArUco Tracker Filter

Add to a video source to generate camera gimbal direction output used to re-center the marker.

Generate and Print markers from here: ArUco Marker generator, use the 4x4 dictionary.

Find an example Marker in the docs/ subdir:

ArUco 4x4 ID 15


  • obs-studio
  • openCV 4


For ArchLinux:

Use the included PKGBUILD

For installation from source (Linux):

Required: OpenCV and OBS-Studio + dev packages

git clone
cd obs-aruco-tracker
mkdir build
cd build
make install

for local installation or cmake .. -DSYSTEM_INSTALL=1 for system installation

Installation from Source (OSX):

Plugin has not been portet to OSX yet, if you want to try, start with the Linux version.

Installation from Source (Windows):

You will need a working build of obs:

Required: Visual Studio 2017, CMake

  1. Checkout the source from
  2. Create build directory
  3. Download dependencies from
  4. Create Visual Studio solution with CMake:
    cd build
    cmake .. -DDepsPath=/path/to/deps -DDISABLE_UI=1 -G "VisualStudio 15 2017 64bit"
  5. Build OBS

You will need a working build of openCV:

Required: Visual Studio 2017 or 2019, CMake

  1. Get VcPkg (follow the quick start guide)
  2. Compile openCV: vcpkg install opencv[contrib]
  3. Export openCV vcpkg export opencv --zip
  4. Unpack the zip somewhere where you can find it

Now we can build the plugin:

Required: Visual Studio 2019, CMake

cd obs-aruco-tracker
mkdir build
cd build
cmake .. \
    -DCMAKE_TOOLCHAIN_FILE="$HOME\Code\obs-aruco-tracker\build\opencv\scripts\buildsystems\vcpkg.cmake" \
    -DLIBOBS_LIB="$HOME\Code\obs-studio\build\libobs\Debug\obs.lib" \
    -G "Visual Studio 16" -A x64

As you can see I build my stuff in $HOME\Code\*, I unpacked the VcPkg zip directly into the build dir and renamed it to opencv.

Arduino sketch

The Arduino sketch is used for controlling a camera gimbal (nicknamed "Klein Glotzi").

You will need the Library PWMServo for the sketch to work. Before flashing the Sketch make sure that the calibration values are good for your Servos. (See the Sketch for more information)

"Klein Glotzi" Camera gimbal

Klein Glotzi

  • The plans for the Gimbal can be seen here: Klein Glotzi on OnShape CAD
  • The STL Files for 3D-Printing the gimbal are in the STL Subfolder.
  • In addition to an Arduino Uno (or Nano) you will need some wires and two Tower SG90 Micro Servos.
  • The Gimbal mount is built for a MS Lifecam, so you probably want one of those too.
You can’t perform that action at this time.