I am building a solution where I want my MCU to wake up based on a trigger generated by accelerometer after detecting an activity. There are a number of samples available for this and I am able to generate triggers with ease.

The challenge is with the use case where the trigger has to be generated with even a small activity. Basically using it for movement of a gate.

Because the acceleration generated is very less due to the gate movement, I am not able to define a threshold that would be adequate to detect such activity with reliability. If I lower it, I get a number of false positives and if I increase it, I miss the event altogether.

There are a few threads about how to reduce the noise level and I have tried them out.

  • I am using 3.3V input from Arduino Uno board. When checked with oscilloscope, I get a variance of about 150 MV in the voltage.
  • The board I am using is from SPARKFUN with ADXL 345
  • Threshold setting for activity detection is about 20 [scale of 0 and 255]
  • I have used both stream mode for FIFO
  • Have also played with min and max data rate levels with no effect
  • Using I2C interface. Though, I am not much concerned about reading the actual acceleration levels.

My queries are:

  1. What could be the reason for this level of noise. Is it an inherent property of the adxl345 sensor
  2. Is there any other mechanism to reduce the noise level?
  3. Would you suggest any other accelerometer for this purpose? ADXL362 / BMA 180 or any other one?
  • 1
    \$\begingroup\$ Just a thought - have you considered setting the wake-up for a small threshold (so you'll get some false wakes) and then looking at the X & Y components to determine whether to trigger the alarm? It might be worth capturing some data to a PC for analysis of what it looks like, but it'll also depend a bit on whether it's for a particular style / size of gate of if you need something more generic. \$\endgroup\$
    – PeterJ
    Feb 12, 2015 at 9:52

1 Answer 1


If you need to detect the movement of a gate as in a door, then you could use a magnetometer to sense the absolute direction. When using an accelerometer, you'd need a 3-axial unit, so that you can detect the following:

  • vibrations in the vertical direction (hinges aren't perfect),

  • centrifugal acceleration in the radial direction, due to swinging of the gate,

  • tangential acceleration in the direction of the swing.

You can also use a proximity sensor to simply detect whether the gate is closed.

You'd need to tell us more about your application.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.