Available now on GroupGets!
datum-IMU
specifications
- Full Scale Linear Acceleration: ±2/±4/±8/±16 g
- Full Scale Angular Rate: ±245/±500/±2000 dps
- Full Scale Magnetic Field: ±4/±8/±12/±16 gauss
- Maximum Report Rate: 100 Hz
- Sensor Type: USB
- Dimensions: 1.0” x 1.75” (25.4 mm x 44.4 mm)
- Mounting Holes: 4 x 4-40 holes, 0.75” x 1.5” on center (19.05 mm x 38.1 mm)
features
- Atmel SAMD21G18 microcontroller
- ST Microelectronics LSM9DS1 iNEMO intertial module
- Onboard EEPROM settings storage
- URI style command interface
- JSON formatted data packets
- Globally unique 64 bit UUID
- UF2 Bootloader
- datum
- a piece of information
- a fixed starting point of a scale or operation
- inertia
- a property of matter by which it continues in its existing state of rest or uniform motion in a straight line, unless that state is changed by an external force
The datum-IMU sensor combines the same SAMD21G18 microcontroller used on the Arduino Zero with the LSM9DS1 IMU sensor from ST Microelectronics to create the simplest, easiest to use IMU sensor for your application.
The datum-IMU sensor emulates a serial port over a USB connection, presents the information and data stored on it in a JSON formatted packet, and processes URI style commands to change and retrieve its settings. The datum-IMU sensor fills the gap between a LEGO® Mindstorms® sensor and a breakout board.
Control the behavior of the sensor by using URI style commands right from your favorite terminal program. Want to set the report rate to 10 Hz and send the reports automatically? The following command does just that.
set /config?reportRate=10&automaticReporting=true
Not sure what the settings for the datum-IMU sensor were? The following command will retrieve them in a JSON formatted data packet.
get /sensor/config
{
"accelerometer": {
"enabled": true,
"units": "g",
"range": "2 g",
"filterType": "mean",
"sampleRate": 50,
"dataRate": 10
},
"gyro": {
"enabled": true,
"units": "dps",
"range": "245 dps",
"filterType": "mean",
"sampleRate": 59.5,
"dataRate": 10
},
"magnetometer": {
"enabled": true,
"units": "G",
"range": "4 G",
"filterType": "mean",
"sampleRate": 40,
"dataRate": 10
}
}
The data from the datum-IMU sensor is also encapsulated in a JSON formatted packet. This results in human readable text that is still easy to parse with your favorite programming language. An example of the output is shown below.
{
"timestamp": 4310.4,
"accelerometer": {
"t": [4310.248, 4310.351],
"x": [-0.141296, -0.141052],
"y": [-0.035767, -0.03595],
"z": [-0.971252, -0.970093]
},
"gyro": {
"t": [4310.248, 4310.351],
"x": [-1.001892, -1.05423],
"y": [-0.800018, -0.829926],
"z": [0.216827, 0.194397]
},
"magnetometer": {
"t": [4310.247, 4310.346],
"x": [0.116455, 0.116943],
"y": [-0.253906, -0.257324],
"z": [0.782715, 0.781494]
}
}
The datum-IMU sensor can do much more than just collect the data. The measurement units can be customized to suit your application. IMU data can be returned in g, m/s^2, dps, gauss, etc. The datum-IMU sensor does all the calculations for you.
It can also apply filters such as min, mix, mean, and RMS to the data stream. This truly makes the datum-IMU sensor a smart sensor that goes far beyond what a breakout board can do. The datum-IMU sensor is also programmed with an Arduino compatible bootloader allowing full customization of the firmware.
The datum-IMU sensor is just one of the sensors in the datum line currently available. The other sensors, datum-Weather, datum-Light, and datum-IMU all feature the same easy to use, text based interface. More information on the full spectrum of sensors is available here.