Skip to content

ADXL355 DIGITAL ACCELEROMETER

Introduction

Acceleration measurement is a common requirement in many embedded systems. The ADXL355 is a high-precision, low-power, three-axis digital accelerometer suitable for various applications such as motion detection, tilt measurement, and vibration monitoring.

The ADXL355 features low noise density, high resolution, and a wide measurement range, making it ideal for applications requiring accurate and reliable acceleration data.

Key Features (Summary)

  • Low Noise: Typical noise density of approximately 22.5 µg/√Hz (all axes)
  • Low Temperature Drift: 0 g offset variation with temperature ≤ 0.15 mg/°C (all axes)
  • Low Power Consumption: Measurement mode approximately 200 µA; standby approximately 21 µA
  • Selectable Measurement Ranges: ±2 g, ±4 g, ±8 g (model/configuration dependent)
  • Interface: SPI and I2C (digital output)
  • High Resolution: Built-in 20-bit ADC, supports synchronous sampling and data interpolation
  • Programmable Digital Filtering: Supports high/low-pass digital filtering
  • Integrated Temperature Sensor and Self-Test Functionality
  • Supply Voltage: 2.25 V to 3.6 V (with internal regulator enabled); typically 1.8 V ±10% when bypassing internal LDO
  • Operating Temperature: -40°C to +125°C
  • Package: 14-lead LCC, approximately 6.0 × 5.6 × 2.2 mm

Typical Applications

  • Inertial Measurement Units (IMU), Attitude and Heading Reference Systems (AHRS)
  • Platform Stabilization and Motion Compensation
  • Structural Health Monitoring and Vibration Analysis
  • Seismic/Shock Detection and Imaging
  • Tilt Sensing, Robotics, IoT Sensor Nodes, and Condition Monitoring

Technical Specifications (Summary Table)

Parameter Specification / Description
Measurement Range ±2 g, ±4 g, ±8 g (selectable)
Resolution 20 bit (ADXL355)
Noise Density Approximately 22.5 µg/√Hz (typical)
Interface SPI, I2C (ADXL355)
Operating Voltage 2.25 V to 3.6 V (with internal regulator)
Operating Temperature -40°C to +125°C

ADXL354/ADXL355 Datasheet Screenshot

DMA Support Note

DMA Configuration

In this implementation, the ADXL355 driver uses the SPI3 bus for communication, which has DMA enabled (SPI_DMA_CH_AUTO). Enabling DMA provides the following benefits:

  • Reduced CPU Usage: SPI data transfers are automatically handled by the DMA controller, freeing the CPU from data transfer operations
  • Improved Transfer Performance: Especially beneficial for ADXL355's high-frequency sampling scenarios (up to 4000 Hz output data rate)
  • Automatic Usage: Once DMA is enabled during SPI bus initialization, all SPI transactions (including spi_device_polling_transmit()) automatically use DMA without additional configuration

The initialization process will output log messages confirming that DMA is enabled, and all SPI read/write operations will automatically utilize DMA for data transfer.

Evaluation Board

Wiring

As shown in the figure, this project uses SPI wiring for the ADXL355 and connects it to the ESP32-S3 SPI3 bus.

ADXL355 Evaluation Board Pin Abbreviation Function Corresponding MCU Pin Description
PIN 1 CS Chip select GPIO 7 SPI chip select signal
PIN 2 MOSI Master out, slave in GPIO 16 SPI master output / slave input
PIN 3 MISO Master in, slave out GPIO 17 SPI master input / slave output
PIN 4 SCK Clock GPIO 15 SPI clock signal
PIN 5 DGND Digital ground GND Digital ground connection
PIN 6 VDD Supply voltage 3.3 V Supply voltage connection
PIN 7 INT1 Interrupt output GPIO 4 Optional interrupt output connection
PIN 8 NC Not connected Floating Not connected
PIN 9 INT2 Interrupt output GPIO 5 Optional interrupt output connection
PIN 10 DRDY Data ready output GPIO 6 Optional data-ready signal connection
PIN 11 DGND Digital ground GND Digital ground connection
PIN 12 VDD Supply voltage 3.3 V Supply voltage connection

Official Driver Reference