ADXL345 vary in performance

Document created by analog-archivist Employee on Feb 23, 2016Last modified by analog-archivist Employee on Feb 23, 2016
Version 2Show Document
  • View in full screen mode

Our application is to detect when cars start moving (in order to wake up the
system (i.e. GPS and GSM modules). When setting up the ADXL345 as shown below,
it works as expected for 98% of the devices. That is, the device is
moved/touched once and then left alone, the INT0 gets high for 10 secs and then
the INT1 gets high to show that there is inactivity. For the remaining 2% of
our devices out at customers, The INT0 and INT1 are giving interrupts always,
or for some devices the INT0 (activity) is always on even if the device is dead
still. For these 2% of devices, it helps to set the activity and inactivity
thresholds to lets say 4 or 5, but that is NOT wanted. We ofcourse want to
program all devices equally.
How can we discover differences between sensitive/not so sensitive adxl345's?
Factory test? Calibration? (I guess off-set calibration won't help..?) Software
changes? Noise issue? We have only seen this issue at the customer (device
mounted in car). Could it be a noise issue?

Our init-sequence :
Init: (writing to registers) 
0x31: 0b00001001 (Set 4-wire SPI, interrupt active high, full resolution, right
justify, +/-4g range.) 
0x27: 0xFF (Set activity interrupt on all axis, using ac/filtered operation.
Enable both activity and inactivity interrupts.) 
0x24: 3 (threshold value act) 
0x25: 3 (threshold value inact) 
0x26: 10 
0x2f: 0b0001000 (INT1 = Activity, INT2 = Inactivity)
0x2E: 0b00011000 (Interrupt on act and inact) 
0x2C: 0b00001000 (Normal operation, not low-power), 25Hz data rate 
0x2D: 0b00101000 (Link mode, measure mode) 
0x30: reset accelerometer interrupt flags


The issue looks like the noise, this could come from the power supply or a
vibration condition. An easy way to distinguish whether the issue is caused by
the chip itself or the PCB (eg: power supply issue) for your reference:
You can desolder the “failed” part from your PCB, put it in the socket of
EVAL-ADXL345Z-M, use the EVB GUI (Auto Sleep Mode in Power Consumption Tab) to
simulate the similar function as you did.
(More info about this EVB can be found from ADI FTP: .)

If the part still has the same issue on our EVB, we can do further survey or
Failure Analysis for you, if the part perform well on our EVB, you need to
check your PCB design.