GY45
This is a tiny MMA8452Q accelerometer breakout board, The MMA8452Q is a smart low-power, three-axis, capacitive MEMS accelerometer with 12 bits of resolution. it is packed with embedded functions with flexible user programmable options, configurable to two interrupt pins. Embedded interrupt functions allow for overall power savings relieving the host processor from continuously polling data.It has user selectable full scales of +-2g/+-4g/+-8g with high pass filtered data as well as non filtered data available real-time.

Working Principle:
Most accelerometers are Micro-Electro-Mechanical Sensors (MEMS). The basic principle of operation behind the MEMS accelerometer is the displacement of a small proof mass etched into the silicon surface of the integrated circuit and suspended by small beams. Consistent with Newton’s second law of motion (F = ma), as an acceleration is applied to the device, a force develops which displaces the mass. The support beams act as a spring, and the fluid (usually air) trapped inside the IC acts as a damper, resulting in a second order lumped physical system. This is the source of the limited operational bandwidth and non-uniform frequency response of accelerometers.

Features
- 14-bit and 8-bit digital output
- I2C digital output interface
- Two programmable interrupt pins for seven interrupt sources
- Three embedded channels of motion detection — Freefall or motion detection: one channel — Pulse detection: one channel — Jolt detection: one channel
- Orientation (portrait/landscape) detection with programmable hysteresis
- Automatic ODR change for auto-wake and return to sleep
- 32-sample FIFO
- High-pass filter data available per sample and through the FIFO
- Self-test
Specifications
- 1.95 V to 3.6 V supply voltage
- 1.6 V to 3.6 V interface voltage
- ±2 g/±4 g/±8 g dynamically selectable full scale
- Output data rates (ODR) from 1.56 Hz to 800 Hz
- Current consumption: 6 μA to 165 μA
Link to data sheet:
- https://www.nxp.com/docs/en/data-sheet/MMA8451Q.pdf
- https://cdn-learn.adafruit.com/downloads/pdf/adafruit-mma8451-accelerometer-breakout.pdf
Do’s and dont’s:
- Do check the connections before powering it up.
- Do hold the sensor from sides only.
- Do read the specifications before using the sensor.
- Do not touch circuit elements from finger tips, the static energy from your fingers can damage the sensor.
- Do not short the pins while soldering.
Storing Instructions:
Store in a closed container to protect it from direct sunlight and water.
Advantages:
- Excellent, fast and response with 8-bit microcontrollers.
- Easy to use.
- Cost Effective
- Low power, motion- and tilt-sensing.
Disadvantages:
- It has limited long term stability.
- It is sensitive to dewing and certain aggressive substances.
Schematics:

Interfacing with Arduino

Arduino Code:
#include <Wire.h>
#include <Adafruit_MMA8451.h>
#include <Adafruit_Sensor.h>
Adafruit_MMA8451 mma = Adafruit_MMA8451();
void setup(void) {
Serial.begin(9600);
Serial.println(“Adafruit MMA8451 test!”);
if (! mma.begin()) {
Serial.println(“Couldnt start”);
while (1);
}
Serial.println(“MMA8451 found!”);
mma.setRange(MMA8451_RANGE_2_G);
Serial.print(“Range = “); Serial.print(2 << mma.getRange());
Serial.println(“G”);
}
void loop() {
// Read the ‘raw’ data in 14-bit counts
mma.read();
Serial.print(“X:\t”); Serial.print(mma.x);
Serial.print(“\tY:\t”); Serial.print(mma.y);
Serial.print(“\tZ:\t”); Serial.print(mma.z);
Serial.println();
delay(500);
}
Applications:
- E-compass applications
- Static orientation detection
- Notebook, e-reader, and laptop tumble and freefall detection
- Real-time orientation detection
- Real-time activity analysis
- Motion detection for portable product power saving
- Shock and vibration monitoring (
FAQ’s:
Q.What is range of an accelerometer?
Ans: Range is the level of acceleration supported by the sensor’s output signal specifications, typically specified in ±g. This is the greatest amount of acceleration the part can measure and accurately represent as an output. For example, the output of a ±3g accelerometer is linear with acceleration up to ±3g. If it is accelerated at 4g, the output may rail.
- why you are getting data even while the accelerometer is at rest?
Ans:The reading of the accelerometer when at rest is due to the zero g output (typically 2.5V, varies depending upon the accelerometer model you have). Consider a sensor in a steady state on a horizontal surface, will measure 0g in X axis and 0g in Y axis whereas the Z axis will measure 1g, this Z axis value is getting at output of the accelerometer.
Q.What is zero-g offset?
Ans: Zero-g level Offset (Off) describes the deviation of an actual output signal from the ideal output signal if there is no acceleration present. A sensor in a steady state on a horizontal surface will measure 0g in X axis and 0g in Y axis whereas the Z axis will measure 1g
Q.Where would you use an accelerometer?
Ans:There are a number of practical applications for accelerometers; accelerometers are used to measure static acceleration (gravity), tilt of an object, dynamic acceleration, shock to an object, velocity, orientation and the vibration of an object. Cell phones, computers and washing machines now contain accelerometers. Other practical applications include: Measuring the performance of an automobile, measuring the vibration of a machine, measuring the motions of a bridge, measuring how a package has been handled .
Referral Links:
Documentation links :
2. https://cdn-learn.adafruit.com/downloads/pdf/adafruit-mma8451-accelerometer-breakout.pdf