Skip to content

thp/psmoveapi

Repository files navigation

PS Move API

Documentation Status Build from source

The PS Move API is an open source library for Linux, macOS and Windows to access the Sony Move Motion Controller via Bluetooth and USB directly from your PC without the need for a PS3. Tracking in 3D space is possible using a PS Eye (on Linux, Windows and macOS) or any other suitable camera source.

PS Move API has successfully participated in Google Summer of Code 2012. Detailed documentation can be found in my master's thesis about sensor fusion.

Core Features

  • Pairing of Bluetooth controllers via USB
  • Setting LEDs and rumble via USB and Bluetooth
  • Reading inertial sensors and buttons via Bluetooth
  • Supporting extension devices (such as the Sharp Shooter and the Racing Wheel)
  • Tracking up to 5 controllers in 3D space via OpenCV
  • 3D orientation tracking via an open source AHRS algorithm
  • Sensor fusion for augmented and virtual reality applications

Supported Languages

  • Core library written in C for portability and performance
  • Additional C++ headers for easier interoperability
  • ctypes-based bindings for Python 3

Need Help?

Hacking the Source

  • Coding style: No strict rules; keep consistent with the surrounding code
  • Patches should be submitted on Github as pull request
  • Bug reports and feature requests can be added to the issue tracker

Licensing

The PS Move API source code is released under the terms of a Simplified BSD-style license, the exact license text can be found in the COPYING file.

Some third party code under "external/" might be licensed under a different license. Compiling PS Move API with these modules is optional, you can use CMake options to configure which features you need. CMake will give you a hint about the library licensing for your current configuration depending on your options at configure time.

In general, all dependencies are under a MIT- or BSD-style license, with the exception of the following dependencies:

  • PS3EYEDriver: Released under the MIT license, parts based on GPL code

    For interfacing with the PSEye camera on macOS (only in the tracker)

    CMake option: PSMOVE_USE_PS3EYE_DRIVER (disabled by default)

More information about the third party modules and licenses:

More Information