ADXL345 3-Axis Accelerometer Module ±16g I2C/SPI
ADXL345 3-Axis Digital Accelerometer ±16g
The ADXL345 is a small, thin, low power 3-axis accelerometer with high resolution (13-bit) measurement up to ±16 g. It measures both dynamic acceleration (motion, shock, vibration) and static acceleration (tilt, gravity). Ideal for mobile device applications, tilt sensing, and impact detection in embedded projects.
Key Specifications
| Specification | Value |
|---|---|
| Supply Voltage | 2.0V – 3.6V |
| Interface | I2C (up to 3.4 MHz) or SPI (4-wire) |
| Measurement Range | ±2/±4/±8/±16 g selectable |
| Resolution | 13-bit (3.9 mg/LSB at ±16 g) |
| Output Data Rate | 0.1 Hz to 3200 Hz |
| Operating Temperature | -40°C to +85°C |
What You Can Build With This
- Gesture-controlled robot using accelerometer data for hand motion recognition
- Vibration data logger for predictive maintenance on motors and machinery
- Tilt-compensated compass that corrects for pitch and roll errors
- Shock detector for shipping packages that logs impact events during transit
Compatibility
This module works with any 3.3V microcontroller like Arduino Due, ESP32, ESP8266, or Raspberry Pi Pico. Many breakout boards include a 3.3V regulator and level shifters, allowing direct connection to 5V boards such as Arduino Uno or Mega. Standard I2C or SPI libraries make integration straightforward.
Wiring Notes
For I2C, connect SDA (data) and SCL (clock) to your microcontroller's I2C pins, along with VCC and GND. Most modules include pull-up resistors; if not, add 4.7kΩ resistors from SDA and SCL to 3.3V. For SPI, additionally connect SDO, SDA, and CS pins. Always power the module with 3.3V unless the board has an onboard regulator.
Why Buy from Compoden
Every component is sourced from verified suppliers and tested for compatibility before listing. We've spent 10 years building projects for makers, schools, and institutions across India. Ships from Bengaluru in 3-5 days. If defective on arrival, replace within 7 days.
Is this compatible with Arduino Uno?
Yes, most ADXL345 modules have a built-in 3.3V regulator and level shifters, so you can connect directly to the 5V and I2C pins of an Arduino Uno without additional components.
How do I change the measurement range from ±2g to ±16g?
The range is configured by writing to the DATA_FORMAT register (address 0x31) via I2C or SPI. Libraries like Adafruit_ADXL345 provide simple functions like setRange(ADXL345_RANGE_16_G) to switch without manual register manipulation.
Can this detect taps and double taps?
Yes, the ADXL345 has built-in single/double tap detection. You can configure thresholds, duration, and latency through registers, and it will trigger an interrupt on the INT1 or INT2 pin when a tap is recognized.
📦 Free Setup Handoff Document Included
Every Compoden order includes a free setup handoff document — step-by-step instructions to get your component working within minutes. Download it via QR code on your package. The handoff document is also trained to help you troubleshoot the majority of problems.
What you can build with this
Shipping Information
- Prepaid Orders: ₹75 for orders up to ₹999, FREE shipping above ₹999
- COD Orders: ₹125 shipping + ₹50 COD fee = ₹175 total
- Delivery Timeline: Dispatch in 1-2 days, delivery in 2-7 days depending on location
Returns & Warranty
- 7-Day Return: Manufacturing defects only (approval required)
- Warranty: 7 days from delivery
- Non-Returnable: Batteries, consumables, cut wires, clearance items