Products for USB Sensing and Control Canada flag
Products for USB Sensing and Control

sales inquiries

quotes, distributor information, purchase orders
sales@phidgets.com

technical inquiries

support, advice, warranty, returns, misshipment
support@phidgets.com

website inquiries

corrections or suggestions
web@phidgets.com

Address

Unit 1 - 6115 4 St SE
Calgary AB  T2H 2H9
Canada

PhidgetSpatial 3/3/3

ID: 1056_0

This spatial board has a 3-axis accelerometer, gyroscope and compass and connects to your computer via USB.

Replaced by MOT0110_0

The 1056 - PhidgetSpatial 3/3/3 measures static and dynamic acceleration in 3 axes, up to 5g.; it also measures magnetic field in 3-axes up to ±4 Gauss and finally measures angular rotation in 3 axes, up to ±400° per second.

With the 1056, you are getting a lot more than 3 sensor chips slapped on a board. The 1056 has been rigorously tested to ensure that the output data correlates to physical real life motion, instead of relying solely on sensor data sheets for device specifications. We also use precise voltage supply filtering to guarantee low noise and correct sensor operation.


What's changed with the 1044?


The 1044 - PhidgetSpatial 3/3/3 High Resolution functions very similarly to the 1056. It has the same dimensions and fits the same enclosure. The API functions and events are also the same.
The main difference is that some of the chips used to make the 1056 have gone obsolete and are no longer available. The 1044 features new accelerometer, gyroscope, and compass chips, as well as additional "backup" accelerometer and gyroscope chips that have a wider measurement range but lower accuracy. The result is a spatial with high accuracy within a certain range, and low accuracy beyond that range. For specific numbers, check the specification table on the 1044 - PhidgetSpatial 3/3/3 High Resolution product page.
You may also be interested in the 1042 - PhidgetSpatial 3/3/3 Basic; a simple spatial based on the 1044, but offered at a drastically reduced cost. It has the same measurement range, but doesn't have the extra resolution at lower measurement values that the 1044 has.


Auto-Calibration


The Compass is continuously calibrated for changes in sensitivity and offset. Errors introduced by magnetic fields and distortion of the earth's magnetic field may be compensated out by using our calibration program to calculate the correction factors to feed the device.

Each Gyroscope axis is calibrated at the factory for sensitivity to rotation and cross-axis mis-alignment.

Each accelerometer axis is calibrated at the factory for cross-axis misalignment, sensitivity to positive and negative acceleration, and offset.


Use the following program to correct for magnetic errors in your application:


It's also a good idea to read the Application Note before using the program


Comes packaged with

Product Specifications

Compass
Compass Resolution 400 μG
Offset from North
Gyroscope
Gyroscope Speed Max 400°/s
Gyroscope Resolution 0.02°/s
Gyroscope Drift 4°/min
Accelerometer
Acceleration Measurement Resolution 228 μg
Acceleration Bandwidth 110 Hz
Acceleration Measurement Max ± 5 g
Axis 0 Noise Level (X-Axis) 300 μg
Axis 1 Noise Level (Y-Axis) 300 μg
Axis 2 Noise Level (Z-Axis) 500 μg
Error Through Rotation 2 mg
Board Properties
API Object Name Accelerometer, Gyroscope, Magnetometer
Current Consumption Max 45 mA
Sampling Speed Min 1 s/sample
Sampling Speed Max 4 ms/sample
Sampling Speed Min (Webservice) 1 s/sample
Sampling Speed Max (Webservice) 16 ms/sample
Analog to Digital Converter Resolution 16 bit
USB Voltage Min 4.8 V DC
USB Voltage Max 5.3 V DC
USB Speed Full Speed
Operating Temperature Min 0 °C
Operating Temperature Max 70 °C
Customs Information
Canadian HS Export Code 8471.80.00
American HTS Import Code 8471.80.40.00
Country of Origin CN (China)

Software Objects

Device Object Name Channel
3-Axis Accelerometer Accelerometer 0
3-Axis Magnetometer Magnetometer 0
3-Axis Gyroscope Gyroscope 0
Spatial* Spatial 0
Note: Use the "Spatial" object if you are using more than one of the objects so you can gather data from each one in a single event rather than trying to synchronize data from multiple events.

Documents

Code Samples

Language:

APIDetailLanguageOS
Accelerometer Visual Studio GUI C# Windows Download
Accelerometer JavaScript Browser Download
Accelerometer Objective-C macOS Download
Accelerometer Swift macOS Download
Accelerometer Swift iOS Download
Accelerometer Visual Basic .NET Windows Download
Accelerometer Max/MSP Multiple Download
Gyroscope Visual Studio GUI C# Windows Download
Gyroscope JavaScript Browser Download
Gyroscope Objective-C macOS Download
Gyroscope Swift macOS Download
Gyroscope Swift iOS Download
Gyroscope Visual Basic .NET Windows Download
Gyroscope Max/MSP Multiple Download
Magnetometer Visual Studio GUI C# Windows Download
Magnetometer JavaScript Browser Download
Magnetometer Objective-C macOS Download
Magnetometer Swift macOS Download
Magnetometer Swift iOS Download
Magnetometer Visual Basic .NET Windows Download
Magnetometer Max/MSP Multiple Download
Spatial Compass Calibrator C Multiple Download
Spatial Visual Studio GUI C# Windows Download
Spatial Compass Calibrator C# Windows Download
Spatial Spatial AHRS/IMU C# Windows Download
Spatial JavaScript Browser Download
Spatial Objective-C macOS Download
Spatial Swift macOS Download
Spatial Swift iOS Download
Spatial Visual Basic .NET Windows Download
Spatial Max/MSP Multiple Download

Product History

Date Board Revision Device Version Comment
May 20100100Product Release
May 20100101Fixed setLabel bug
May 20110102getLabelString fixed for labels longer than 7 characters
June 20110200Support for negative gain values.
July 2014 Product Discontinued. Succeeded by the 1042 - PhidgetSpatial 3/3/3 Basic or the 1044 - PhidgetSpatial Precision 3/3/3.


Getting Started

Welcome to the 1056 user guide! In order to get started, make sure you have the following hardware on hand:


Next, you will need to connect the pieces:

1056 0 Connecting The Hardware.jpg
  1. Connect the PhidgetSpatial to your computer using the USB cable.


Now that you have everything together, let's start using the 1056!

Using the 1056

Phidget Control Panel

In order to demonstrate the functionality of the 1056, the Phidget Control Panel running on a Windows machine will be used.


The Phidget Control Panel is available for use on both macOS and Windows machines.

Windows

To open the Phidget Control Panel on Windows, find the Ph.jpg icon in the taskbar. If it is not there, open up the start menu and search for Phidget Control Panel

Windows PhidgetTaskbar.PNG

macOS

To open the Phidget Control Panel on macOS, open Finder and navigate to the Phidget Control Panel in the Applications list. Double click on the Ph.jpg icon to bring up the Phidget Control Panel.


For more information, take a look at the getting started guide for your operating system:


Linux users can follow the getting started with Linux guide and continue reading here for more information about the 1056.

First Look

After plugging the 1056 into your computer and opening the Phidget Control Panel, you will see something like this:

1056 Panel.jpg


The Phidget Control Panel will list all connected Phidgets and associated objects, as well as the following information:

  • Serial number: allows you to differentiate between similar Phidgets.
  • Channel: allows you to differentiate between similar objects on a Phidget.
  • Version number: corresponds to the firmware version your Phidget is running. If your Phidget is listed in red, your firmware is out of date. Update the firmware by double-clicking the entry.


The Phidget Control Panel can also be used to test your device. Double-clicking on an object will open an example.

Accelerometer

Double-click on the Accelerometer object in order to run the example:

1056 Accelerometer Example.jpg


General information about the selected object will be displayed at the top of the window. You can also experiment with the following functionality:

  • Modify the change trigger and/or data interval value by dragging the sliders. For more information on these settings, see the data interval/change trigger page.
  • The measured values reported in g-force can be seen via labels as well as graphical dials. Try tilting the 1056 in different directions to see the labels and graphics change.
  • An extremely accurate timestamp is also reported with the g-force values.


Magnetometer

Double-click on the Magnetometer object in order to run the example:

1056 Magnetometer Example.jpg


General information about the selected object will be displayed at the top of the window. You can also experiment with the following functionality:

  • Modify the change trigger and/or data interval value by dragging the sliders. For more information on these settings, see the data interval/change trigger page.
  • Use the Set Params... button to set the calibration parameters. For more information about calibration, see the technical section.
  • The measured values reported in Gauss can be seen via labels as well as a graphical diagram. The diagram can help you visualize the magnetic field vector.
  • An extremely accurate timestamp is also reported with the Gauss values.


Gyroscope

Double-click on the Gyroscope object in order to run the example:

1056 Gyroscope Example.jpg


General information about the selected object will be displayed at the top of the window. You can also experiment with the following functionality:

  • Modify the change trigger and/or data interval value by dragging the sliders. For more information on these settings, see the data interval/change trigger page.
  • The Zero Gyro button is used to compensate for the drift that is inherent to all gyroscopes. The gyroscope primer has more information about this subject.
  • The measured values reported in degrees per second can be seen via labels as well as graphical dials. Try rotating the 1056 in different directions to see the labels and graphics change.
  • An extremely accurate timestamp is also reported with the g-force values.


Spatial

Double-click on the Spatial object in order to run the example:

1056 Spatial Example.jpg


The Spatial example demonstrates that you can receive data from the accelerometer, gyroscope, and magnetometer all at once by using the Spatial object rather than the other three objects individually.

Finding The Addressing Information

Before you can access the device in your own code, and from our examples, you'll need to take note of the addressing parameters for your Phidget. These will indicate how the Phidget is physically connected to your application. For simplicity, these parameters can be found by clicking the button at the top of the Control Panel example for that Phidget.

The locate Phidget button is found in the device information box

In the Addressing Information window, the section above the line displays information you will need to connect to your Phidget from any application. In particular, note the Channel Class field as this will be the API you will need to use with your Phidget, and the type of example you should use to get started with it. The section below the line provides information about the network the Phidget is connected on if it is attached remotely. Keep track of these parameters moving forward, as you will need them once you start running our examples or your own code.

All the information you need to address your Phidget

Using Your Own Program

You are now ready to start writing your own code for the device. The best way to do that is to start from our Code Samples.

Select your programming language of choice from the drop-down list to get an example for your device. You can use the options provided to further customize the example to best suit your needs.

Code Sample Choose Language.png


Once you have your example, you will need to follow the instructions on the page for your programming language to get it running. To find these instructions, select your programming language from the Programming Languages page.

Technical Details

3-Axis Accelerometer

For more information on how to use the accelerometer, check the Accelerometer Guide.

3-Axis Gyroscope

For more information on the gyroscope, see the Gyroscope Guide.

3-Axis Magnetometer (Compass)

The magnetometer reports the sum of all magnetic fields acting on the 1056 device. The earth's magnetic field is only one source that affects this measurement. In order to get accurate bearing data from the magnetometer (i.e. to find magnetic north as a compass) any interfering magnetic effects need to be calibrated out. For more information about calibration, see the section below, or the Compass Guide.


Any magnetic field that is stationary with respect to the 1056 device, and less than ± 3 Gauss, can be calibrated out of the magnetic field measurement. This includes both hard and soft iron effects caused by nearby ferrous and magnetic materials. Interfering magnetic fields that vary in strength and orientation with respect to the 1056 device cannot be easily calibrated out.


Magnetic field data will become unavailable for ~28ms every 2 seconds as the compass perform internal calibrations. During this time, polling the magnetic field will return EPHIDGET_UNKNOWNVAL, or throw an UNKNOWNVAL exception. The magnetic field data in the SpatialData event will equal PUNK_DBL.


Calibrating the Magnetometer

Magnetometer Calibration

Magnetometer Calibration Guide

In order for your magnetometer to provide accurate heading information, it must be calibrated.

Follow this guide to complete the calibration process.

1. Open the Magnetometer example for your device, and click the Calibrate button. This will open the Compass Calibration tool.

2. If your device supports heating, we recommend checking the HeatingEnabled checkbox. Wait for the temperature reading to turn green:

If your Spatial does not support heating (neither of the above controls will be available), you can skip this step.

3. Next, decide if you're using 2-axis or 3-axis calibration:

● If the spatial is free to move in all directions, use 3-axis

● If the spatial is being kept mostly level (e.g. in a car), use 2-axis

4. You can leave the Local Field Strength at 1.0 for general use since magnitude doesn't affect heading. If you need more quantitative results, look up your local value.

5. Make sure your Phidget Spatial is firmly in the position you intend to calibrate it for, and begin by clicking the Start button.

Begin rotating the structure your Phidget is mounted to. Notice the red dots appearing on the graph.

6. Try to rotate it so that it fills out as much of the sphere (or circle in 2-axis mode) as possible. When you're finished, click Stop.

You should now see red and green spheres (or circles) in the graph. The red one is the raw measurements, and the green one is the calibrated measurements.

Newly calibrated data from the magnetometer will be indicated by a green line that matches the sphere. The green sphere should be more centered than the red one. If not, try repeating the calibration.

You're now done the calibration process! On most Phidget Spatials, the calibration will be stored in flash, so it stays calibrated to this environment even across power cycles.

7. If you need to repeat this exact calibration, you can save the values listed in the text box.

You can use these values in the setMagnetometerCorrectionParameters method. See our API Documentation for more details.

«
»


Further Reading

For more information on magnetometers (compasses), see the Compass Guide.

What to do Next

  • Programming Languages - Find your preferred programming language here and learn how to write your own code with Phidgets!
  • Phidget Programming Basics - Once you have set up Phidgets to work with your programming environment, we recommend you read our page on to learn the fundamentals of programming with Phidgets.


Software Objects

Channel NameAPIChannel
3-Axis Accelerometer Accelerometer 0
3-Axis Gyroscope Gyroscope 0
3-Axis Magnetometer Magnetometer 0
Spatial Spatial 0

API


Back Forward
Print this API