Participants: Stephen Sinclair
Michael Collicutt
Mark T. Marshall

License: GNU General Public License v2 or later
Time Period: 2009–2012 ()


This is a small C library libplhm to encapsulate communication with Polhemus motion tracking devices. These devices communicate with a computer using a USB serial port or RS232 port. Included is a small program plhm which can be used to request data from the device, and record this to a file or send it across the network using the Open Sound Control protocol.

We needed such a program to record motion tracking data during experimental sessions in our lab for studying musical gesture, and for communicating with Max/MSP and Pure Data to interact with real-time sound synthesis. The result is this small driver that can be used for any purpose.

The protocol has been derived from documentation from Polhemus, available in the Liberty Manual.

Run plhm –help to get information on usage.


The latest source release is available in our download directory:

The in-development source code which is currently usable may be tracked at github.

Note that in the current state this library covers only a minimum amount of device functionality, is only tested on the Polhemus Liberty, and only works under Linux. However, it is able to detect the number of stations plugged in, and record data in either continuous or polled mode.