This wiki is intended for older versions of Motive. For the latest documentation, please refer to

Navigation Controller Guide

Main Page


The Navigation Controller integration allows users to track the Bluetooth navigation controller and to receive its inputs signals, in real-time. Once the controllers are properly set up, tracking data and key input data of the corresponding controller will be displayed in real-time in Motive. The data can be streamed onto client applications that are developed using VRPN.


  • Windows 10 with administrator privileges
  • Bluetooth dongle (Kinivo BTD-400 Bluetooth USB adapter)
  • mini-USB cable
  • Navigation Controller


Important note on data synchronization

Please note that the navigation controller does not support synchronization with motion capture frame data. Two systems will be free-running at their own rate and the collected data sets will be asynchronous. You can attempt to line up the data from the navigation controller to the motion capture data by right-clicking on the controller from the Devices pane and selecting Re-sync all, but both datasets will slowly drift after the initial software trigger sync. For applications that need accurate synchronization, please use NI-DAQ with a compatible analog controller.

Controller Setup


Please read through the NavigationControllerReadme.txt file before starting with the setup process

Step 1. Connect the devices

Connect the Bluetooth dongle and all of the Navigation Controllers to the PC using the provided mini-USB cables.

Step 2. Install Bluetooth driver for the custom controller

To use the controller, the driver for the navigation controller must be installed. Once the driver is successfully installed, both Bluetooth dongle and controllers should get listed in Windows Device Manager under "Universal Serial Bus Devices"
  • Run OptiTrackNavController\BluetoothDriver\DPInst.exe as administrator.
Installing the driver required for both the controller and the bluetooth dongle.

Step 3. Confirm Navigation Controllers operation

Operation of the navigation controllers can be confirmed through two applications: ScpServer.exe and ScpMonitor.exe. When the driver is installed properly, each connected controller will be recognized in these applications:
  • Run SCPTools\ScpServer.exe. Each Controller should appear as "Pad X"
  • Run SCPTools\ScpMonitor.exe. Charging status of each controller will be shown
  • Navigation controller detected and listed under ScpServer
  • Power status of each controller listed under ScpMonitor

Step 4. User the ScpMonitor to confirm key inputs

Once the device connection is confirmed from step 3, you can use the ScpMonitor to confirm the key inputs. Make sure the keys are properly working in this application in order to use it within Motive.
  • From Windows Task Tray -> SCPMonitor -> Right Click -> Profile Manager.
  • Check the buttons on the controller and make sure the input signal gets properly received onto the Profile Manager.

Step 5. Install Motive Navigation Controller Plugin

Now that both connection and operation is confirmed, we can start navigating using the controller within Motive. Before doing that, copy OptiTrackNavController\MotivePlugin\WandPeripheral.dll to <Motive Install Folder>\Devices folder, so that this library can be used in Motive.
WandPeripheral.dll installed in the Devices folder within Motive install directory.


Step 1. Launch OptiTrackController\Utils\ScpServer.exe

Before starting Motive, make sure to start up the ScpServer.exe application under the SCPTools folder.

Step 2. Run Motive

Start Motive. When the program shows up, there will be 4 Controller devices listed under the Devices pane.

Step 3. Power on Controller(s)

Power the controllers. Active controllers will be shown in the Devices pane with a check-mark next to each.

Step 4. Load the Predefined Controller TRA files

Next step is to import the predefined TRA files. Each controller's physical marker configuration will reflect one of the predefined TRA rigid body definition files (e.g. ControllerA.tra). If the loaded TRA file matches the marker configuration, it will be tracked within Motive. A quick way to find out is to load all of the four rigid body definition files, place the controllers within the capture volume, and then remove the definitions that are not tracked. Please check the marker positions on the controller against the PDF configuration files and determine which TRA files to import into Motive.
  • Configuration A (ControllerA.tra)
  • Configuration B (ControllerB.tra)
  • Configuration C (ControllerC.tra)
  • Configuration D (ControllerD.tra)
Once the corresponding rigid body file has been imported, rename the RigidBody to match the name of the Controller (e.g. Controller 1). Once this is configured, a rectangular block and an arrow vector will be displayed in the 3D viewport over top of the rigid body.
Navigation controller configured in Motive.

Step 5. Confirm Operation

When you pull the trigger, the magnitude of the arrow vector will increase correspondingly. Each button clicks will be inputted through each channel that can be plotted on the Graph View pane. You can use the provided Live-DeviceSelectedChannel template to plot the output graph.
Input buttons get plotted onto the Graph View pane.

Charging the Navigation Controller

  • The Controller has a rechargeable battery.
  • To recharge the Controller, simply connect the Controller to the PC using the supplied Mini-USB cable for charging.
  • The Controller LED flashes slowly while charging, solid when complete.
  • The charge state is Displayed in the Device's properties in Properties pane

Usage Notes


  • The Controller Clip comes in 4 unique configurations (A, B, C, D). Corresponding TRA rigid body definition is provided for each configuration (e.g. ControllerA.tra).
  • The Controller Clip coordinate system is in right-handed coordinate system (RHS), +Z aligned with controller's forward axis (Marker 3)
  • Only use the provided Bluetooth dongle and Mini-USB cables.
  • Controller activity is transient, but their ID is persistent (Controller 1 is always Controller 1)
  • Controllers perform an initial 'bonding' with the SCP Server. This pairing is remembered, so upon successive connections, the controller 'number' is preserved (1-4).
  • Controller represents to SCPServer as DS 3.
  • 4 Devices always show in Motive, regardless of their power/connection status. Their ID is based on their pre-paired / bonded status. This allows for devices to easily come and go but mapped to a consistent ID during a session. After pairing, controllers can be physically numbered to simplify visual/physical identification.
  • Controllers turn on manually, but turn off automaticallym after a user-definable timeout (default: 5 minutes).
  • There is a reset button on the bottom if the controller is not operating correctly.
  • Recording, or playback, is not supported.
  • Smoothing applied to the RigidBody may be userful, since smooth movement over latency is preferred.
  • Controller Device Name and RigidBody Name must match for VRPN to correctly correlate Rigid Body position and orientation with Controller's Axis and button states. (e.g. Controller 1).


› Q : Controller is not showing in Motive

A: If a controller is not showing in Motive, first confirm its operation in SCPServer.exe. If they are not working there, the device itself may need to be paired with the Bluetooth dongle again.

  1. Use the supplied USB cable to connect the Controllers to the PC that has the Bluetooth dongle. When connected, the Controller should show up in the Windows Device Manager under Universal Serial Bus device.
  2. Once the connection is confirmed in Device Manager, run the SCPServer.exe.
  3. Select the controller's radio box and press the 'Pair' button.