Stufin
Home Quick Cart Profile

ADXL325 3-Axis Accelerometer

Buy Now on Stufin

Component Name

ADXL325 3-Axis Accelerometer

Overview

The ADXL325 is a low-power, 3-axis accelerometer designed to measure static and dynamic acceleration, tilt, and vibration in a wide range of applications. This analog output acceleration sensor provides a cost-effective solution for systems that require high accuracy and low power consumption.

Functional Description

The ADXL325 measures acceleration in three axes (x, y, z) and provides analog output voltages proportional to the acceleration. The sensor detects changes in acceleration, which can be used to measure

Static acceleration (e.g., tilt, orientation)

Dynamic acceleration (e.g., vibration, shock)

Motion and movement

The ADXL325 operates on a single supply voltage (1.8 V to 3.6 V) and consumes ultra-low power (350 A at 2.5 V), making it suitable for battery-powered devices.

Key Features

  • High Accuracy: The ADXL325 provides high accuracy (2% of full scale) and resolution (13-bit) for precise acceleration measurements.
  • Low Power Consumption: The device operates at an ultra-low power consumption of 350 A at 2.5 V, making it suitable for battery-powered devices.
  • Wide Operating Range: The ADXL325 operates over a wide temperature range (-40C to +105C) and can measure accelerations from 2 g to 10 g.
  • Three-Axis Measurement: The sensor measures acceleration in three axes (x, y, z), providing a comprehensive understanding of the acceleration environment.
  • Analog Output: The ADXL325 provides an analog output voltage that is proportional to the acceleration, allowing for easy integration with microcontrollers or other analog-to-digital converters.
  • Low Noise: The device features low noise (300 g/Hz) and high sensitivity (420 mV/g) for accurate measurements in noisy environments.
  • Small Package: The ADXL325 is available in a small, low-profile package (LFCSP, 5 mm 5 mm), making it suitable for space-constrained applications.
  • RoHS Compliance: The device is RoHS compliant, ensuring environmental sustainability.

Applications

The ADXL325 is suitable for a wide range of applications, including

Motion sensing and gesture recognition

Vibration monitoring and analysis

Tilt and orientation measurement

Industrial automation and control

Consumer electronics (e.g., smart home devices, wearables)

Medical devices and equipment

Aerospace and defense systems

Pinout and Package

The ADXL325 is available in a 5 mm 5 mm, 16-lead LFCSP package. The pinout is as follows

| Pin | Description |

| --- | --- |

| 1-3 | X-axis output |

| 4-6 | Y-axis output |

| 7-9 | Z-axis output |

| 10 | VDD (supply voltage) |

| 11 | GND (ground) |

| 12-15 | Unused/no connect |

| 16 | NC (no connect) |

Absolute Maximum Ratings

| Parameter | Rating |

| --- | --- |

| Supply voltage (VDD) | 3.6 V |

| Operating temperature | -40C to +105C |

| Storage temperature | -40C to +150C |

Electrical Characteristics

| Parameter | Condition | Min | Typ | Max | Unit |

| --- | --- | --- | --- | --- | --- |

| Supply voltage (VDD) | | 1.8 | 2.5 | 3.6 | V |

| Power consumption | VDD = 2.5 V | | 350 | | A |

| Sensitivity | | 420 | | | mV/g |

| Noise density | | | 300 | | g/Hz |

| Temperature range | | -40 | | 105 | C |

Please note that the above specifications are subject to change and may not be up-to-date. Always refer to the manufacturer's datasheet for the most recent and accurate information.

Pin Configuration

  • ADXL325 3-Axis Accelerometer Pinout Explanation
  • The ADXL325 is a 3-axis accelerometer that measures acceleration in three perpendicular axes: x, y, and z. It has a total of 8 pins, which are explained below:
  • Pin 1: VCC (Supply Voltage)
  • Description: This pin is the power supply voltage input to the accelerometer.
  • Connection: Connect this pin to a stable DC power source (typically 3.3V or 5V) with a maximum current rating of 2 mA.
  • Notes: Ensure the power supply voltage is within the recommended operating range to avoid damage to the device.
  • Pin 2: GND (Ground)
  • Description: This pin is the ground reference point for the accelerometer.
  • Connection: Connect this pin to the ground plane of the circuit or the negative terminal of the power supply.
  • Notes: A solid ground connection is essential for proper operation and noise reduction.
  • Pin 3: Xout (X-Axis Output)
  • Description: This pin provides the analog output signal representing the acceleration along the x-axis.
  • Connection: Connect this pin to an analog-to-digital converter (ADC) or an amplifier circuit to process the output signal.
  • Notes: The output signal is a voltage that varies in proportion to the acceleration along the x-axis.
  • Pin 4: Yout (Y-Axis Output)
  • Description: This pin provides the analog output signal representing the acceleration along the y-axis.
  • Connection: Connect this pin to an analog-to-digital converter (ADC) or an amplifier circuit to process the output signal.
  • Notes: The output signal is a voltage that varies in proportion to the acceleration along the y-axis.
  • Pin 5: Zout (Z-Axis Output)
  • Description: This pin provides the analog output signal representing the acceleration along the z-axis.
  • Connection: Connect this pin to an analog-to-digital converter (ADC) or an amplifier circuit to process the output signal.
  • Notes: The output signal is a voltage that varies in proportion to the acceleration along the z-axis.
  • Pin 6: Self-Test (ST) - Optional
  • Description: This pin is used for self-test functionality, which can be used to verify the accelerometer's operation.
  • Connection: Leave this pin unconnected if self-test functionality is not required.
  • Notes: If connected, this pin requires a logic high (typically 3.3V or 5V) to enable self-test mode.
  • Pin 7: Sleep (SLEEP) - Optional
  • Description: This pin is used to put the accelerometer into low-power sleep mode.
  • Connection: Leave this pin unconnected if sleep mode is not required.
  • Notes: If connected, this pin requires a logic low (typically 0V) to activate sleep mode.
  • Pin 8: No Connect (NC)
  • Description: This pin is not internally connected and should be left unconnected.
  • Connection: Do not connect anything to this pin.
  • When connecting the ADXL325 accelerometer, ensure that the pins are connected correctly to avoid damage to the device. A typical connection structure would be:
  • VCC to power supply voltage (e.g., 3.3V or 5V)
  • GND to ground plane
  • Xout, Yout, and Zout to an ADC or amplifier circuit
  • Self-Test (ST) and Sleep (SLEEP) pins can be left unconnected or connected as required
  • No Connect (NC) pin should be left unconnected
  • Please consult the ADXL325 datasheet for more information on the device's specifications, operating conditions, and application guidelines.

Code Examples

ADXL325 3-Axis Accelerometer Documentation
Overview
The ADXL325 is a low-power, 3-axis accelerometer with a high sensitivity and resolution. It is a popular choice for IoT applications that require motion detection, orientation sensing, and vibration measurement.
Pinout
The ADXL325 has a 14-pin package with the following pinout:
| Pin | Function |
| --- | --- |
| 1 | VCC |
| 2 | GND |
| 3 | XOUT |
| 4 | YOUT |
| 5 | ZOUT |
| 6 | ST (Self-Test) |
| 7 | CS (Chip Select) |
| 8 | SCL (SPI Clock) |
| 9 | SDA (SPI Data) |
| 10 | INT1 (Interrupt 1) |
| 11 | INT2 (Interrupt 2) |
| 12 | FIFO_CFG (FIFO Configuration) |
| 13 | FIFO_DATA (FIFO Data) |
| 14 | RST (Reset) |
Communication Protocol
The ADXL325 communicates via a 4-wire SPI interface. The device operates in either SPI mode 1 or mode 3.
Code Examples
### Example 1: Reading Acceleration Data using Arduino
In this example, we will use an Arduino board to read acceleration data from the ADXL325.
```c
#include <SPI.h>
#define ADXL325_CS 10 // Chip Select pin
#define ADXL325_SCL 13 // SPI Clock pin
#define ADXL325_SDA 11 // SPI Data pin
void setup() {
  Serial.begin(9600);
  SPI.begin();
  pinMode(ADXL325_CS, OUTPUT);
}
void loop() {
  digitalWrite(ADXL325_CS, LOW);
  SPI.transfer(0x00); // Write 0x00 to register 0x2A to enable measurement mode
  SPI.transfer(0x08); // Write 0x08 to register 0x2B to set data rate to 100 Hz
  SPI.transfer(0x00); // Write 0x00 to register 0x2C to set full-scale range to 2g
digitalWrite(ADXL325_CS, HIGH);
delay(10); // Wait for measurement to complete
digitalWrite(ADXL325_CS, LOW);
  byte x_l = SPI.transfer(0x00); // Read X-axis acceleration (low byte)
  byte x_h = SPI.transfer(0x00); // Read X-axis acceleration (high byte)
  int x = (x_h << 8) | x_l;
byte y_l = SPI.transfer(0x00); // Read Y-axis acceleration (low byte)
  byte y_h = SPI.transfer(0x00); // Read Y-axis acceleration (high byte)
  int y = (y_h << 8) | y_l;
byte z_l = SPI.transfer(0x00); // Read Z-axis acceleration (low byte)
  byte z_h = SPI.transfer(0x00); // Read Z-axis acceleration (high byte)
  int z = (z_h << 8) | z_l;
digitalWrite(ADXL325_CS, HIGH);
Serial.print("Acceleration (g): ");
  Serial.print("X = "); Serial.print(x); Serial.print(", ");
  Serial.print("Y = "); Serial.print(y); Serial.print(", ");
  Serial.print("Z = "); Serial.println(z);
delay(500);
}
```
### Example 2: Using the ADXL325 with Raspberry Pi (Python)
In this example, we will use a Raspberry Pi to read acceleration data from the ADXL325 using Python.
```python
import spidev
import time
# SPI setup
spi = spidev.SpiDev()
spi.open(0, 0) # Use CE0
# ADXL325 registers
ADXL325_REG POWER_CTL = 0x2A
ADXL325_REG DATA_FORMAT = 0x2B
ADXL325_REG DATAX0 = 0x32
# Set up the ADXL325
spi.xfer([POWER_CTL, 0x08]) # Enable measurement mode
spi.xfer([DATA_FORMAT, 0x08]) # Set data rate to 100 Hz, full-scale range to 2g
while True:
    # Read acceleration data
    spi.xfer([DATAX0, 0x00]) # Read X-axis acceleration
    x_l = spi.xfer([0x00, 0x00])[1]
    x_h = spi.xfer([0x00, 0x00])[1]
    x = (x_h << 8) | x_l
spi.xfer([DATAX1, 0x00]) # Read Y-axis acceleration
    y_l = spi.xfer([0x00, 0x00])[1]
    y_h = spi.xfer([0x00, 0x00])[1]
    y = (y_h << 8) | y_l
spi.xfer([DATAX2, 0x00]) # Read Z-axis acceleration
    z_l = spi.xfer([0x00, 0x00])[1]
    z_h = spi.xfer([0x00, 0x00])[1]
    z = (z_h << 8) | z_l
print("Acceleration (g): X = {}, Y = {}, Z = {}".format(x, y, z))
time.sleep(0.5)
```
Note: In both examples, the ADXL325 is configured to operate in measurement mode with a data rate of 100 Hz and a full-scale range of 2g. The acceleration data is read from the device and printed to the serial console.