This schematic shows you exactly how to hook up an ADXL345 using I²C. Just two wires (SDA and SCL) connect to your Arduino or STM32. Make sure you use 3.3V for power—not 5V. The CS pin goes to ground for I²C mode, and SDO to ground gives address 0x53 (high for 0x1D). Add 10k pull-ups to SDA and SCL for stable communication. INT pins can detect events like taps or free-falls; leave unused pins disconnected.
ADXL345 Accelerometer vs S2DW | What is ADXL345?
Discover the versatility of the ADXL345 3-axis accelerometer, ideal for projects involving Arduino, Raspberry Pi, and 3D printers. Utilize the Adafruit library for seamless integration and explore connection options with Arduino for precise data capture.
- Brands: Analog Devices
- Download: -
- Price: inquiry
- In Stock: 20273
- Contact Gender: -
- Material: -
- Maximum Bundle Diameter: -
- Package: -

FREE delivery for orders over HK$250.00

Quick response, quick quotaton

Flash shipment,no worries after sales

Original channel,guarantee of the authentic products
GY-291 ADXL345 3-axis Accelerometer Module Sensor
ADXL345
If you’re building devices like wearables, game controllers, or vibration sensors, the ADXL345 accelerometer is perfect. It precisely measures three-axis motion up to ±16g with 13-bit resolution. You can easily connect it via SPI or I²C to your MCU. Its 32-level FIFO reduces data-reading frequency, improving efficiency. Plus, features like free-fall detection and ultra-low power consumption (just 23μA) make it ideal for portable gadgets.
ADXL345 Pinout

| Pin Number | Name | Function Description |
|---|---|---|
| 1 | GND | Ground (connected to system ground) |
| 2 | VDDIO | I/O interface supply (1.7V–3.6V), for logic level matching |
| 3 | SDI/SDIO | SPI data input / I²C data line (SDA) |
| 4 | SCLK | SPI clock / I²C clock line (SCL) |
| 5 | SDO / ALT ADDRESS | SPI data output / I²C address select (High = 0x1D, Low = 0x53) |
| 6 | CS | SPI chip select (active low); if tied high, device defaults to I²C mode |
| 7 | GND | Secondary ground (must be connected) |
| 8 | VDD | Main power supply (2.0V–3.6V) |
| 9 | INT1 | Programmable interrupt output 1 (e.g., activity detection, free-fall) |
| 10 | INT2 | Programmable interrupt output 2 |
When you’re wiring up the ADXL345, pay attention to power: VDD for main power, VDDIO matches your MCU logic. For SPI, pull CS low; for I²C, pull CS high and set SDO pin for the address (low = 0x53, high = 0x1D). Add 4.7kΩ pull-up resistors on SDA and SCL in I²C mode. INT pins are handy for interrupts like motion detection. Align carefully when soldering to avoid mix-ups.
ADXL345 Equivalent




| Parameter / Model | ADXL345 | LIS3DH | MMA8452Q | BMA280 |
|---|---|---|---|---|
| Manufacturer | Analog Devices | STMicroelectronics | NXP | Bosch Sensortec |
| Package Size | 3×5×1 mm (LGA-14) | 3×3×1 mm (LGA-16) | 3×3×1 mm (QFN-16) | 2×2×0.95 mm (LGA-12) |
| Axis Count | 3 axes | 3 axes | 3 axes | 3 axes |
| Resolution | 13-bit | 12-bit | 12-bit | 14-bit |
| Acceleration Range | ±2/4/8/16g | ±2/4/8/16g | ±2/4/8g | ±2/4/8/16g |
| Digital Interface | I²C / SPI | I²C / SPI | I²C | I²C / SPI |
| FIFO Support | 32-level FIFO | 32-level FIFO | 32-level FIFO | 32-level FIFO |
| Power Consumption (Typical) | 23 μA @ 10Hz | 11 μA @ 1Hz | 6 μA @ 1Hz | 2.4 μA @ 1Hz |
| Interrupt Features | Tap / Activity | Multiple event interrupts | Motion / Free-fall | Tap / Orientation |
| Operating Voltage | 2.0–3.6 V | 1.8–3.6 V | 1.95–3.6 V | 1.2–3.6 V |
If ADXL345 isn’t available, LIS3DH is your best bet—it matches the ±16g range and SPI/I²C interfaces, uses less power, and is smaller, perfect for wearable devices. MMA8452Q is also an option but limited to ±8g and only supports I²C. BMA280 provides better accuracy (14-bit) and lower power but has a smaller package, making hand-soldering tricky if your PCB layout is already fixed.
ADXL345 Accelerometer Circuit Example

ADXL345 Arduino

This circuit shows you how to connect an ADXL345 accelerometer with an Arduino and a 16×2 LCD. It’s perfect for beginners. Just wire VCC/GND to 5V and GND on Arduino, SDA/SCL to pins A4/A5 for I²C. Your LCD connects via pins D2–D7. Check if your ADXL345 supports 5V—if not, switch to 3.3V. Use libraries like Adafruit or SparkFun to easily read and display X, Y, Z data on the LCD.
ADXL345 Project
Here’s a simple and practical ADXL345 project for beginners: build a tilt detector using Arduino (UNO or Nano), ADXL345 accelerometer, and a 16×2 LCD. Use I²C to easily read XYZ acceleration data and display them with directions like “Tilt: RIGHT” or “Flat.” Later you can add features like vibration alarms, data logging on an SD card, Bluetooth data transmission, or even turn it into a digital level or simple pedometer—lots of fun possibilities!
ADXL345 I2C SPI Interface Tutorial
If you’re connecting ADXL345 to Arduino, STM32, or ESP32, I²C is easiest—just SDA (A4), SCL (A5), and set CS low. Address is 0x53 (SDO low) or 0x1D (SDO high). Use Arduino’s Wire library. For faster data transfer, SPI needs four pins: CS (D10), SCL (D13), SDI (D11), and SDO (D12). Always power with 3.3V—never 5V!
More Like This
Also Add to Cart
Related Products
Please send RFQ , we will respond immediately.
Copyright © 2024 All Rights Reserved










