Recommendations for Low Power Basic accelerometer

I’m looking for a replacement accelerometer for our product and I was wondering if anyone had recommendations for an accelerometer that is recommended for new designs.

I would like it to have i2c, be available for the foreseeable future.

I found these, but don’t see support for them either through Arduino or Particle libraries.

The LIS2DTW12, LIS2DS12 seem to be similar to the LIS3DH that particle uses in their library GitHub - rickkas7/LIS3DH: LIS3DH Accelerometer driver for Particle.

@rickkas7 do you think the LIS3DH library could be easily modified to work with the newer and more available LIS2D accelerometers?

Supplier	PN	Release date	Library Support 	
MEMSIC	MC3479	04/2020		
MEMSIC	MC3419	04/2020		
MEMSIC	MC3630			
MEMSIC	MC3635			
STMicroelectronics	LIS2DTW12TR	01/2019
STMicroelectronics	LIS2DS12TR			

Hi, I know nothing about availability, but I just used this one and it works fine on a Particle Boron and Argon:

There is also this combo (that I used as well) if you needed temp measurement too:


@gusgonnet thanks! For the ADXL343 can you share the library you are using?


I using the libraries they come with:

Let me know if you have more questions,

The LIS2D looks to be very similar to the LIS3DH so it could probably be implemented with few changes to my library. However, Particle no longer uses the ST accelerometers; the Tracker SoM use the Bosch BMI160 IMU.

I actually just found your other library for this:

@rickkas7 do you recall why the asset tracker moved away from using the LIS3DH? I’m curious to know if I should use the same thinking for introducing a new design change to use the LIS3DH or try to find something newer.

The main problem I have with the LIS3DH is with gravity cancellation. Since it does not have a gyroscope, the only way you can cancel out gravity is either:

Require that it be sitting flat, and then ignore acceleration in the Z direction. Often not a practical solution.

When it’s not moving, use that as a baseline to detect change in acceleration. The problem is how do you know it’s not moving? There’s a heuristic in the library that sort of works, but it’s not great.

1 Like