While the ADXL343 shares some things in common with most other general-purpose 3-axis accelerometers, it has the following additional features to make it easier to use in certain situations. Because these are implemented in HW inside the sensor, there is a lot less heavy lifting to do on the MCU side.

Freefall Detection

You can use this accelerometer to detect a freefall condition (device falling off a desk, etc.) with user-defined thresholds, and one or the two INT pins can be setup to fire when a freefall condition is detected, allowing you to shut any motors or moving parts off, or indicate in a logging system that the data may not be valid (such as a plant sensor in a pot that likely got knocked over by the wind).

Activity/Inactivity Detection

Rather that constantly polling an accelerometer to see if movement is detected, you can configure the ADXL343 to let you know when their is (one or both of) activity or inactivity on the device, with user-adjustable thresholds. This can be configure to fire an INT pin, which you could use to wakeup your device, for example, or put it to sleep after a certain amount of inactivity.

Tap/Double-Tap Detection

Rather than having to do complex tap and double-tap detection of the device by anaylzing the magnitude of acceleration changes over time, you can detect a 'tap' or 'double-tap' of your device in HW, and fire one of the INT pins when the event is detected, significantly reducing the code and data parsing on the MCU side.

See the HW Interrupts page later in this guide for details on how to use these features in practice!

This guide was first published on Feb 24, 2019. It was last updated on Feb 24, 2019.
This page (Special HW Features) was last updated on Sep 22, 2020.