Products for USB Sensing and Control

Products for USB Sensing and Control

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.

Discontinued

Replaced by the 1044 - PhidgetSpatial 3/3/3 High Resolution.

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
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

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.

Enclosure

You can protect your board by purchasing the 3811 - Acrylic Enclosure for the 1056.

Documents

Code Samples

APILanguageOS
Accelerometer C Multiple Download
Accelerometer C# Windows Download
Accelerometer Java Multiple Download
Accelerometer JavaScript Any Download
Accelerometer Objective-C macOS Download
Accelerometer Python Multiple Download
Accelerometer Visual Basic .NET Windows Download
Gyroscope C Multiple Download
Gyroscope C# Windows Download
Gyroscope Java Multiple Download
Gyroscope JavaScript Any Download
Gyroscope Objective-C macOS Download
Gyroscope Python Multiple Download
Gyroscope Visual Basic .NET Windows Download
Magnetometer C Multiple Download
Magnetometer C# Windows Download
Magnetometer Java Multiple Download
Magnetometer JavaScript Any Download
Magnetometer Objective-C macOS Download
Magnetometer Python Multiple Download
Magnetometer Visual Basic .NET Windows Download
Spatial C Multiple Download
Spatial C# Windows Download
Spatial C# Windows Download
Spatial Java Multiple Download
Spatial JavaScript Any Download
Spatial Objective-C macOS Download
Spatial Python Multiple Download
Spatial Visual Basic .NET Windows 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. If you would like to follow along, first 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.

Technical Details

3-Axis Accelerometer

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

3-Axis Gyroscope

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

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 Primer.


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.

Magnetic Error Correction (Calibration)

In order to get numbers of useful accuracy from the 1056's compass you will need to provide calibration parameters. To make determining them easy, we distribute a program with our drivers that does this for you.

To calibrate your compass:

Calibration1.png
  • Navigate to the Phidgets installation folder on your computer. Open the 'examples' folder and find the Compass Calibrator program.


Calibration2.png


Calibration3.png
  • Select your country and city. Click 'Get Location' and then 'Compute'. A table of values will show up in an overlaid window. The value you will need is the 'Total Field' value in nT.


Calibration4.png
  • Enter the magnetic field value into the calibration program. Note that it wants the field strength in Gauss, not nT like the website gives you. 1T = 10000 Gauss so you can divide by 1x10^5 to convert to Gauss.
  • Depending on what your application is this step as well as the next step might be a bit different. If you are intending on mounting the 1056 onto a large vehicle such as a car then you should mount the 1056 securely to the vehicle in its final intended position then check the 2-axis bubble, click the 'Start' button.
  • If you are using a smaller, more easily handled vehicle such as a small robot (something you could physically pick up) you will mount the 1056 and use the 3-axis calibration instead. Click 'Start'.


Calibration5.png
  • Rotate the compass around (including whatever equipment you have mounted it to) such that the red dots being generated on screen outline as much of a full sphere (in 3-axis) as possible. This will take several minutes. Being perfect is not necessary but try to be as thorough as time permits. Once done, click stop.
  • If you are in a large vehicle, you will be aiming to fill out a disc instead of a sphere. This can be done by simply driving around for a few minutes making sure to do complete turns in the process.


Calibration6.png
  • Take the parameters displayed in the text box and use them for your compass. For example in C#:

 
     setCompassCorrectionParameters(0.51075, 0.18820, -0.07456, -0.02209, 1.87163, 1.87640, 2.12565, -0.04000, -0.04084, -0.03552, 0.09073, -0.04258, 0.11056);


Further Reading

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

What to do Next

  • Software Overview - Find your preferred programming language here to learn how to write your own code with Phidgets!
  • General Phidget Programming - Read this general guide to the various aspects of programming with Phidgets. Learn how to log data into a spreadsheet, use Phidgets over the network, and much more.
  • Phidget22 API - The API is a universal library of all functions and definitions for programming with Phidgets. Just select your language and device and it'll give you a complete list of all properties, methods, events, and enumerations that are at your disposal.

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