ADXL3xx Accelerometer using an Arduino

This tutorial shows you how to read an Analog Devices ADXL3xx series (e.g. ADXL320, ADXL321, ADXL322, ADXL330) accelerometer and communicate the acceleration to the a personal computer.

ADXL3xx Accelerometer using an Arduino

This tutorial was built using the breakout boards from Sparkfun. The adafruit accelerometer breakout board also works, though it must be wired differently.

The ADXL3xx outputs the acceleration on each axis as an analog voltage between 0 and 5 volts. To read this, all you need is the analogRead() function.


The accelerometer uses very little amperage, so it can be plugged into your Arduino and run directly off of the output from the Arduino’s digital output pins. To do this, you’ll use three of the analog input pins as digital I/O pins, for power and ground to the accelerometer, and for the self-test pin. You’ll use the other three analog inputs to read the acclerometer’s analog outputs.

image developed using Fritzing. For more circuit examples, see the Fritzing project page


ADXL3xx Accelerometer using an Arduino schematic



Reads an Analog Devices ADXL3xx accelerometer and communicates the
acceleration to the computer.  The pins used are designed to be easily
compatible with the breakout boards from Sparkfun, available from:

The circuit:
analog 0: accelerometer self test
analog 1: z-axis
analog 2: y-axis
analog 3: x-axis
analog 4: ground
analog 5: vcc

created 2 Jul 2008
by David A. Mellis
modified 30 Aug 2011
by Tom Igoe

This example code is in the public domain.

[box color=”#985D00″ bg=”#FFF8CB” font=”verdana” fontsize=”14 ” radius=”20 ” border=”#985D12″ float=”right” head=”Major Components in Project” headbg=”#FFEB70″ headcolor=”#985D00″]

Hardware Required

  • Arduino Board
  • ADXL3xx Accelerometer


For more detail: ADXL3xx Accelerometer using an Arduino

This Post / Project can also be found using search terms:

  • adxl3xx

About The Author

Scroll to Top