Free-space navigation

The remote control includes a powerful three-axis gyroscope and three-axis accelerometer combo circuit that can be used as a free-space navigation sensor, enabling the user to move a mouse cursor through gesturing with the remote control.

The gyroscope and accelerometer combo circuit is the ICM-20608 from InvenSense®. The gyro and accelerometer circuit is used as an input device for a SmartMotion® firmware library from InvenSense that is integrated into the Smart Remote 3 firmware. Output data from the InvenSense library is fitted into a HID mouse report and sent to the host.

Important: The in-air pointing functionality is only provided as precompiled HEX files. To use the SmartMotion library in your design, please contact InvenSense® or visit the InvenSense® Developers Corner (sign up required).

Basic use

To enable the free-space navigation mode, press the orange button between the Channel + and Volume + buttons shown in Enabling free-space navigation mode. The remote control will then switch from trackpad to free-space navigation mode. In this mode, acceleration and rotational data from the gyro is processed by the SmartMotion firmware library.

When operating in the free-space navigation mode, use the Left mouse button and Right mouse button for point-and-click functionality.

To deactivate the free-space mode and go back to the trackpad mode, press the orange button again. The free-space navigation mode will also be deactivated if the remote control has not moved in seven seconds.

Figure 1. Enabling free-space navigation mode
Buttons for enabling free-space navigation

Movement of the remote control is translated into two-dimensional mouse cursor movement. Rotation around the x-axis (upward and downward movements) of the remote control will lead to vertical mouse cursor movement and rotation around the z-axis (side to side movements) will lead to horizontal mouse cursor movement. See Coordinate system for free-space movement as reference.

Figure 2. Coordinate system for free-space movement
Coordinate system (x, y, z) for free-space horizontal and vertical movement

Trackpad functionality in free-space mode

Once free-space navigation mode is enabled, the trackpad functionality changes. Moving a finger on the trackpad does not cause the cursor to move, but results in a “scroll” motion (similar to the scroll wheel on a mouse). Vertical movement on the trackpad causes vertical scroll while horizontal movement results in horizontal scroll motion. This is illustrated in Trackpad functionality in free-space mode.

Tapping or clicking the trackpad results in left-click gestures, which is not any different from the regular trackpad use.

Figure 3. Trackpad functionality in free-space mode
Trackpad functionality in free-space mode

Gyro calibration

Smart Remote 3 firmware performs initial calibration on first firmware run, but if you experience that the cursor is moving involuntarily when you start using the free-space navigation, this is due to gyro wandering, a trait inherent to this kind of motion sensor. The SmartMotion firmware library will automatically compensate for this movement. Simply leave the Smart Remote on a flat surface with free-space navigation enabled. After a few seconds the cursor will stop moving and you can pick up the Smart Remote and start using the free-space navigation feature.