cancel
Showing results for 
Search instead for 
Did you mean: 

Choosing the right accelerometer

Samot No
Associate II

Hi,

I'm working on a smartwatch and looking for a suitable accelerometer. I basically only need to do the following:

  • Generate an interrupt when the watch is in viewing position (e.g. horizontal and tilted towards the user)
  • Generate an interrupt for a single tap and a double tap
  • Generate an interrupt for free-fall
  • Have a low power consumption

Due to other electronics, it should be able to handle a supply of both 1.8V and 3.3V.

It seems that the LIS2DS12 works great, but it can't tolerate 3.3V. The LIS2DH12 tolerates the supply and can interrupt on the viewing position (with wake-up recognition), but not on taps. The LIS2DW12 can interrupt on taps, but as far as I know not on viewing position.

I'm now thinking of using the LIS2DW12 with a tilt offset, and generate an interrupt on the 6D positions, which I then need to check with the microcontroller for the right one. It's not ideal, but I guess it should work. Or am I overlooking something and is there a better solution? (Perhaps I can mess with the offsets and the wake-up recognition..?)

Best regards,

Samot

7 REPLIES 7
niccolò
ST Employee

Hi @thomas987oen​ ,

If you are going to check 4 different interrupt situations I think you will need to check the internal registers of the accelerometer for the event that triggered the interrupt even with the LIS2DS12.

For this reason, I think you would be right in choosing the LIS2DW12 for your application: it is able to generate interrupts for all the situations you mentioned and the read, and supports both 1.8V and 3.3V.

are there any other reasons why you wanted to use the LIS2DS12 over the LIS2DW12 ?

Samot No
Associate II

Hi,

Thank you for your fast response. Yes, that's true, I need to read the registers anyway. I don't have another reason of choosing the LIS2DS12.

However, I was thinking, if I use only the single tap OR double tap, I might use the tap functionality of the LIS2DH12 as well (which is confusingly called "click"). It then becomes a trade-off between the lower power of the LIS2DW12, but the need of the microcontroller to check the internal registers more often due to the 6D positions, or the higher power of the LIS2DH12, with the microcontroller sleeping more since the accelerometer can use wake-up recognition. That might be an interesting trade-off.

Are you afraid of power consumption or delay problems?

I don't think that delays in reading a few registers more could be a problem, or at least for what I worked with, a single or double read have never disrupt the flow of the firmware.

So I would recommend the LIS2DW12, but in the end it is your project, it's up to you to decide.

either way, if you have problems or questions about the implementation feel free to ask.

I'm afraid of the power consumption. As it will be used in a wearable (watch), I think the 6D interrupt is going to be triggered a lot, preventing the microcontrollor from sleeping. The LIS2DH12 would only wake up the microcontroller in the specific viewing position, but uses a little more stand-by power on it's own. What do you think?

keep in mind that you can set the threshold at which the interrupt is generated (register TAP_THS_X (30h)) to adjust for how often the interrupt is generated, and use the 4D instead of the 6D to avoid using the Z-axis *** a trigger.

Then, as you said, it is a tradeoff, I think that the best way to choose would be to set up a prototype with both devices and study the power consumption over some sessions, but I understand it is time consuming.

In the end, I would have used the LIS2DW12, because I think that it would will give more benefits for the lower overall power consumptions.

Thank you for your input. I think I will try prototyping with both, although it might take a while to get results.

Best regards!

Well, feel free to ask for help if you ever need it, and keep up the good work!