Notice: This page contains information for the legacy Phidget21 Library. Phidget21 does not support VINT Phidgets, and will not support any new Phidgets. Phidget21 will be maintained until 2020. We recommend that new projects be developed against the Phidget22 Library.

Click on the 2phidget22.jpg button in the menu bar to go to the Phidget22 version of this page.


Difference between revisions of "1043 User Guide"

From Phidgets Legacy Support
Jump to: navigation, search
(Product History)
(Product History)
Line 122: Line 122:
{{UGrow|September 2012|0|300|Product Release}}
{{UGrow|September 2012|0|300|Product Release}}
{{UGrow|September 2012|0|301|Fixed USB bug}}
{{UGrow|September 2012|0|301|Fixed USB bug}}
{{UGrow|October 2015|0|302|USB fix, watchdog enable}}

Revision as of 14:50, 4 November 2015

Go to this device's product page

Getting Started

Checking the Contents

You should have received:

  • A PhidgetSpatial 0/0/3 High Resolution
  • A Mini-USB Cable
  • A mounting hardware kit

Connecting the Pieces

Connect the PhidgetSpatial 0/0/3 High Resolution to your PC using the Mini-USB cable.

1049 0 Connecting The Hardware.jpg

Testing Using Windows 2000 / XP / Vista / 7

Make sure you have the current version of the Phidget library installed on your PC. If you don't, follow these steps:

  1. Go to the Quick Downloads section on the Windows page
  2. Download and run the Phidget21 Installer (32-bit, or 64-bit, depending on your system)
  3. You should see the Ph.jpg icon on the right hand corner of the Task Bar.

Running Phidgets Sample Program

Double clicking on the Ph.jpg icon loads the Phidget Control Panel; we will use this program to ensure that your new Phidget works properly.

The source code for the Spatial-full sample program can be found in the quick downloads section on the C# Language Page. If you'd like to see examples in other languages, you can visit our Languages page.

Updating Device Firmware

If an entry in this list is red, it means the firmware for that device is out of date. Double click on the entry to be given the option of updating the firmware. If you choose not to update the firmware, you can still run the example for that device after refusing.

Double Click on the Ph.jpg icon to activate the Phidget Control Panel and make sure that the Phidget Spatial 0/0/3 is properly attached to your PC.

1043 0 Control Panel.jpg
  1. Double Click on Phidget Spatial 0/0/3 in the Phidget Control Panel to bring up Spatialfull and check that the box labelled Attached contains the word True.
  2. Move the 1043 board and you should see the data change to reflect the change of position along the 3 axes.
  3. You can also see the changes plotted in the Accelerometer Graph. The line describes the movement in the x and y axes and the red circle displays movement in the z axis.
  4. You can adjust the data rate by moving the slider.
1041 0 Spatial Screen.jpg

Testing Using Mac OS X

  1. Go to the Quick Downloads section on the Mac OS X page
  2. Download and run the Phidget OS X Installer
  3. Click on System Preferences >> Phidgets (under Other) to activate the Preference Pane
  4. Make sure that the Phidget Spatial 0/0/3 is properly attached.
  5. Double Click on Phidget Spatial 0/0/3 in the Phidget Preference Pane to bring up the Spatial-full Sample program. This program will function in a similar way as the Windows version.

Using Linux

For a step-by-step guide on getting Phidgets running on Linux, check the Linux page.

Using Windows Mobile / CE 5.0 / CE 6.0

For a step-by-step guide on getting Phidgets running on Windows CE, check the Windows CE page.

Technical Details

The PhidgetSpatial 0/0/3 has a 3-Axis accelerometer that can measure ±8 g’s (±78 m/s2) per axis. It will measure both dynamic acceleration (change in velocity) and static acceleration (gravity vector). The Phidgetspatial 3-Axis 0/0/3 is internally calibrated.

High Resolution Mode

When the PhidgetSpatial High Resolution 0/0/3 measures an acceleration value with magnitude less than 2g, it will acquire its data from a higher precision accelerometer chip. For these measurements, the average white noise on each axis will be reduced by approximately a factor of ten, and the resolution will increase from 976 μg to 76 μg. The transition from normal to high precision or vice-versa is seamless, with no additional code or equations needed.

Further Reading

For more information on testing and calibrating this device, check the Accelerometer Primer.


We document API Calls specific to this product in this section. Functions common to all Phidgets and functions not applicable to this device are not covered here. This section is deliberately generic. For calling conventions under a specific language, refer to the associated API manual in the Quick Downloads section for that language. For exact values, refer to the device specifications.

Data Structures

SpatialData {

double acceleration[3];
Timestamp time;


The SpatialData Structure is used by the OnSpatialData event. This contains acceleration data, as well as a timestamp. The timestamp is an accurate measurement streamed from the hardware, and can be trusted over a local software timestamp.

Note that the structure also contains angularRate and magneticField fields, but these are not shown, as they don’t apply to the PhidgetSpatial 0/0/3.


int AccelerationAxisCount() [get] : Constant = 3

Returns the number of axes the PhidgetSpatial can measure acceleration on.

double Acceleration (int AxisIndex) [get] : Units = g (standard gravity = 9.81m/s2)

Returns the acceleration of an axis. At a standstill each axis will measure between -1.0 and 1.0 g’s depending on orientation - the effect of gravity.

This value will always be between AccelerationMin and AccelerationMax.

double AccelerationMax (int AxisIndex) [get] : Constant = 8.1g

Returns the maximum acceleration value that this axis will report. Acceleration can be accurately measured up to 8.0g - any value past this will be reported as 8.1g, which represents saturation. If the acceleration data is equal to AccelerationMax, it should be treated as suspect, as the real acceleration could be far greater than the reported number.

double AccelerationMin (int AxisIndex) [get] : Constant = -8.1g

Returns the maximum negative acceleration value that this axis will report. Negative acceleration can be accurately measured up to -8.0g - any value past this will be reported as -8.1g, which represents saturation. If the acceleration data is equal to AccelerationMin, it should be treated as suspect, as the real acceleration could be far greater than the reported number.

int DataRate () [get,set] : Units = ms (milliseconds)

Gets/sets the data rate, in ms. This is corresponds to the rate at which SpatialData events will be fired. This is bound by DataRateMax and DataRateMin. When set to less then the maximum data rate, data is still sampled at the maximum rate, and averaged before being sent to the user. This defaults to 8ms. Supported data rates are: 1, 2, 4, 8, and every multiple of 8 until DataRateMin.

Note that data rate is limited to 16ms when opening over the Phidget Webservice. Actual data rate will depend on network latency.

int DataRateMax () [get] : Constant = 1ms

The maximum supported data rate.

int DataRateMin () [get] : Constant = 1000ms

The minimum supported data rate.


OnSpatialData (SpatialData[] data) [event]

An event issued at the specified data rate. If the data rate is set faster then 8ms, then there will be multiple items in the data array - use the timestamp field to get the timing data. When the data rate is >= 8ms, there will only be one item in the data array.

Product History

Date Board Revision Device Version Comment
September 2012 0 300 Product Release
September 2012 0 301 Fixed USB bug
October 2015 0 302 USB fix, watchdog enable