3D Accelerometer with Good Library

I am building a Digital watch and am looking for a 3d accelerometer with a good arduino library. I will be using it to "recognize" wrist motion to turn the display on so it will have to have an interrupt. Any recommendations? I don't want to re-invent the wheel so I want the arduino library to be "user friendly". I was thinking the ADXL345 or LIS3DH or LIS2DW12 but the latter 2 have very rudimentary libraries.

Any recommendations are appreciated!

Fish

As I understand your post, you are really looking for code that will recognize wrist motion in an accelerometer data stream.

Such an advanced feature is not typically included an Arduino device library. However, someone might have posted code to do that, and if so, it should work with data from any modern accelerometer.

A 6DOF IMU would be more useful for that.

Like some smartwatches do, right? Well, that's not a simple task to be implemented using standard libraries because you should start by defining "wrist motion" in terms of accelerometer and gyroscope readings. Just to be more clear, the "wrist motion" could be an acceleration along a specific axis (i.e. the one parallel to the arm where the device is attached) ending in a "top" position (meaning the sensor is "pointing" up respect the ground).
It's a combination of conditions and relative values you can just check by yourself as soon as you'll choose and get the sensor.

As @jremington said, choose a 6DOF IMU because combining accelerometer, gyroscope, and (maybe) compass is the best way to achieve some kinda movement/position precision.
For this application, I think any 6 DOF sensor like MPU-6050 could be useful (for some information and code examples just Google a bit, to find pages like THIS or HERE one of the sample videos you can find out), but you need to sperimentally identify the correct parameters combination to recognize the "wrist movement".

I was doing some research and found this imu: https://www.st.com/en/mems-and-sensors/lsm6dso.html

Interestingly these now contain programmamble finite state machines and some even have machine learning. But for me that is like fishing with dynamite. Here is a document that discusses the finite state machine: https://www.st.com/content/ccc/resource/technical/document/application_note/group1/6f/b8/c2/59/7e/00/43/c6/DM00572971/files/DM00572971.pdf/jcr:content/translations/en.DM00572971.pdf

pdf page 50 shows an example of the finite state machine for void LSM6DSO::FSMWristTiltDetect()

I'm not saying this is gonna work out of the box...but it is a start.

Fish

Well, it seems that sensor can give you what you asked for, maybe not a straightforward solution, but it could avoid you to deal with all the wrist motion by yourself, you just need a breakout board with that chip (like THIS).
But if this is the way you think you'll choose, have also a look at Arduino Nano RP2040 Connect, it's pretty powerful and has an onboard LSM6DSO chip.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.