ADXL355 Accelerometer¶
Overview¶
The ADXL355 is a high-precision, low-noise, three-axis digital accelerometer, suitable for applications requiring high resolution and low power consumption. It uses advanced MEMS technology and provides up to 20-bit resolution. The built-in digital filters effectively reduce noise interference. ADXL355 supports both SPI and I2C digital interfaces, making it easy to communicate with various microcontrollers.
Key Features¶
- Zero offset temperature drift: Maximum 0.15 mg/°C for all axes
- Ultra-low noise: Noise spectral density of 22.5 μg/√Hz for all axes
- Low power consumption:
- Measurement mode: ~200 μA
- Standby mode: ~21 μA
- Measurement ranges: ±2g, ±4g, ±8g selectable
- Resolution: Up to 20-bit ADC
- Interface types: Supports SPI and I2C digital interfaces
- Built-in digital filters: Programmable high/low-pass filters
- Integrated temperature sensor
- Operating temperature range: -40°C to +125°C
- Package size: 14-pin, 6 mm × 5.6 mm × 2.2 mm, LCC package
Typical Applications¶
- Inertial Measurement Units (IMU), Attitude and Heading Reference Systems (AHRS)
- Platform stabilization systems
- Structural health monitoring
- Seismic sensing
- Tilt measurement
- Robotics
- Condition monitoring and IoT nodes
Dependencies¶
This driver depends on the driver and SPI libraries.
Functional Block Diagram¶
Pin Description¶
Pin Name | Function Description |
---|---|
VDDIO | Digital interface power |
VSUPPLY | Main power supply |
GND | Ground |
SCL/SCLK | I2C/SPI clock |
SDA/SDI/SDIO | I2C data/SPI data input/bidirectional |
SDO/SDO2 | SPI data output |
INT1/INT2 | Interrupt output |
ST | Self-test |
TEMP | Temperature sensor output |
Integration Guide¶
ADXL355 supports both SPI and I2C interfaces. Choose the appropriate communication method based on your microcontroller's resources. During initialization, configure the communication interface, sampling rate, and measurement range. Refer to the ESP-IDF SPI/I2C driver documentation for integration.
Key Function Examples¶
Function Prototype | Description | Example |
---|---|---|
void adxl355_init(adxl355_dev_t *dev) | Initialize ADXL355 device | adxl355_init(&adxl355_dev); |
int adxl355_read_accel(adxl355_dev_t *dev, float *x, float *y, float *z) | Read 3-axis acceleration data (unit: g) | adxl355_read_accel(&adxl355_dev, &x, &y, &z); |
int adxl355_set_range(adxl355_dev_t *dev, adxl355_range_t range) | Set measurement range (±2g/±4g/±8g) | adxl355_set_range(&adxl355_dev, ADXL355_RANGE_4G); |
int adxl355_set_odr(adxl355_dev_t *dev, adxl355_odr_t odr) | Set output data rate | adxl355_set_odr(&adxl355_dev, ADXL355_ODR_1000HZ); |
int adxl355_read_temp(adxl355_dev_t *dev, float *temp) | Read temperature sensor data | adxl355_read_temp(&adxl355_dev, &temp); |
int adxl355_standby(adxl355_dev_t *dev) | Enter standby mode | adxl355_standby(&adxl355_dev); |
int adxl355_wakeup(adxl355_dev_t *dev) | Wake up device | adxl355_wakeup(&adxl355_dev); |
Please refer to the actual driver code for specific function names and parameters, as some drivers may define different structures or enums.
ADXL355 Sensor - EVAL-ADXL355-PMDZ¶
EVAL-ADXL355-PMDZ is an evaluation board based on the ADXL355 sensor, providing convenient interfaces and rich features for development and testing. The board integrates the ADXL355 sensor and necessary peripheral circuits, allowing users to quickly verify and evaluate the sensor's functions and performance. This project uses this model.
EVAL-ADXL355-PMDZ Pinout¶
Pin Number | Pin Function | Mnemonic |
---|---|---|
Pin 1 | Chip Select | CS |
Pin 2 | Master Out Slave In | MOSI |
Pin 3 | Master In Slave Out | MISO |
Pin 4 | Serial Clock | SCLK |
Pin 5 | Digital Ground | DGND |
Pin 6 | Digital Power | VDD |
Pin 7 | Interrupt 1 | INT1 |
Pin 8 | Not Connected | NC |
Pin 9 | Interrupt 2 | INT2 |
Pin 10 | Data Ready | DRDY |
Pin 11 | Digital Ground | DGND |
Pin 12 | Digital Power | VDD |
Wiring¶
Actual Wiring (Development Board to EVAL-ADXL355-PMDZ)¶
Function | EVAL-ADXL355-PMDZ Pin Number | Description |
---|---|---|
CS | Pin 4 | Chip Select |
MOSI | Pin 5 | Master Out Slave In |
MISO | Pin 6 | Master In Slave Out |
SCLK | Pin 7 | Serial Clock |