Sewio tags use two different accelerometers. Tag Piccolino is equipped with accelerometer MMA8453Q while Tag iMU utilizes MPU9250 containing accelerometer, magnetometer, and gyroscope.
Both mentioned accelerometers measure acceleration in three orthogonal axes.
Accelerometer can be used in three ways:
- Motion detection
- Spatial rotation determination*
- Send raw data*
*only one of these data streams can be active at one time
Motion Detection and Sleep Modes
Motion detection utilizes the accelerometer’s data to detect whether the tag is moving or not. This information gives the tag possibility to go into sleep mode once it is stationary. This brings two benefits: it prolongs the battery lifetime and decreases communication workload over the channel.
Tag has four sleep mode options
- Delayed sleep
- Immediate sleep
- Keep alive
Tag send blink message regularly and movement detection is inactive.
Delayed sleep (5s)
Once no movement is detected, tag remains sending blinks for a 5 second period and then go into sleep mode. This mode can be useful in scenarios when accurate position is required at the spot where tag was stopped.
Tag is put into deep sleep immediately after no motion event is detected.
Keep alive (5s)
Tag is put into sleep immediately after no motion event is raised, still it sends blink every 5 seconds. After the blink is sent, the tag is put back into deep sleep. This feature is useful for static tag tracking.
The user can set an acceleration threshold for movement detection event. On Tag iMU it can be set in range from 4 mg to 1020 mg with step 4 mg. For other tags it can be set in range from 63 mg to 8001 mg with step 63 mg. This value can be set via console or via wireless config message. If the user set value out of step, it will be rounded to nearest possible value.
It should be noted that the behavior of the MPU9250 accelerometer (Tag iMU) is different from the MMA8453 accelerometer (Tag Piccolino). To achieve the same behavior, the MPU9250 needs to set a four times lower threshold value than the MMA8453. This non-equality is caused by built-in on-chip high pass filters with different parameters.
This functionality can be set via wireless configuration or by using console.
Available Data Formats
Tags can be also set to send data measured by the accelerometer. There are two modes of operation:
- Send pure RAW data
- Send corrected data
Send pure RAW data
Three axis data from accelerometer are sent in RAW form to any anchor in its vicinity, they are further provided via the API.
Send corrected data
Tag subtracts the zero offsets from the RAW data before sending. These offsets are determined during inertial measurement unit calibration, which is described in section inertial measurement unit calibration. In RTLS Manager, you can only enable or disable the streaming of accelerometer data, and RAW data are also available in this way. If you want to stream uncorrected data, you need to set it via console.
User can further set the dynamic range of the accelerometer. It is again possible via console or via wireless config message from RTLS Manager. Dynamic range can be set to ±2 g, ±4 g or ±8 g for MMA8453 accelerometer and ±2 g, ±4 g, ±8 g or ±16 g for MPU9250 accelerometer.
This functionality can be set by using the console or wireless config.
Measured acceleration is not sent in base units [ms-2] but as dimensionless numbers. It is necessary to convert it using by following formulas. Used formula depends on dynamic range setting:
MPU9250 accelerometer present on Tag iMU
Dynamic range = ±2g
Dynamic range = ±4g
Dynamic range = ±8g
Dynamic range = ±16g