

The ADXL375 is a low-power, 3-axis accelerometer with a digital output, designed for motion sensing applications. It features a wide measurement range of ±200 g, high resolution, and built-in digital filtering capabilities. This makes it ideal for applications requiring precise motion detection, such as industrial vibration monitoring, impact detection, and sports equipment analysis.








| Parameter | Value |
|---|---|
| Measurement Range | ±200 g |
| Supply Voltage (VDD) | 2.0 V to 3.6 V |
| Output Type | Digital (SPI/I²C) |
| Resolution | 13-bit |
| Power Consumption | 140 µA (typical) at 2.5 V |
| Operating Temperature Range | -40°C to +85°C |
| Bandwidth | Configurable up to 1600 Hz |
| Shock Survivability | 10,000 g |
The ADXL375 is typically available in a 14-pin LGA package. Below is the pinout description:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | VDD | Power supply (2.0 V to 3.6 V) |
| 2 | GND | Ground |
| 3 | CS | Chip Select (Active Low) for SPI communication |
| 4 | SDO/ALT | SPI Data Out or Alternate I²C Address Select |
| 5 | SDA/SDI | I²C Data or SPI Data In |
| 6 | SCL/SCLK | I²C Clock or SPI Clock |
| 7-14 | NC | No Connection (leave unconnected) |
#include <Wire.h>
// ADXL375 I²C address (default: 0x53)
#define ADXL375_ADDRESS 0x53
// Register addresses
#define POWER_CTL 0x2D
#define DATA_FORMAT 0x31
#define DATAX0 0x32
void setup() {
Wire.begin(); // Initialize I²C communication
Serial.begin(9600); // Initialize serial communication for debugging
// Initialize ADXL375
Wire.beginTransmission(ADXL375_ADDRESS);
Wire.write(POWER_CTL); // Select Power Control register
Wire.write(0x08); // Set measurement mode
Wire.endTransmission();
Wire.beginTransmission(ADXL375_ADDRESS);
Wire.write(DATA_FORMAT); // Select Data Format register
Wire.write(0x0B); // Set full resolution and ±200 g range
Wire.endTransmission();
}
void loop() {
int16_t x, y, z;
// Request data from ADXL375
Wire.beginTransmission(ADXL375_ADDRESS);
Wire.write(DATAX0); // Start reading from DATAX0 register
Wire.endTransmission(false);
Wire.requestFrom(ADXL375_ADDRESS, 6); // Read 6 bytes (X, Y, Z)
if (Wire.available() == 6) {
x = (Wire.read() | (Wire.read() << 8)); // Combine low and high bytes for X
y = (Wire.read() | (Wire.read() << 8)); // Combine low and high bytes for Y
z = (Wire.read() | (Wire.read() << 8)); // Combine low and high bytes for Z
}
// Print acceleration values
Serial.print("X: "); Serial.print(x);
Serial.print(" Y: "); Serial.print(y);
Serial.print(" Z: "); Serial.println(z);
delay(100); // Delay for readability
}
No Data Output:
POWER_CTL register.Incorrect Acceleration Values:
I²C Communication Failure:
Q: Can the ADXL375 detect free-fall events?
A: Yes, the ADXL375 has built-in free-fall detection, which can be configured using its interrupt registers.
Q: What is the maximum sampling rate of the ADXL375?
A: The ADXL375 supports a maximum output data rate of 3200 Hz, but the bandwidth is limited to 1600 Hz.
Q: Can I use the ADXL375 with a 5V microcontroller?
A: Yes, but you will need a level shifter to interface the 3.3V logic of the ADXL375 with the 5V logic of the microcontroller.