

The MMA7260Q is a three-axis accelerometer manufactured by Freescale Semiconductor. It is designed to measure acceleration along the X, Y, and Z axes, making it ideal for motion sensing applications. The device outputs an analog voltage proportional to the acceleration experienced by each axis. With its compact size and low power consumption, the MMA7260 is widely used in applications such as tilt detection, free-fall detection, gesture recognition, and gaming controllers.








| Parameter | Value |
|---|---|
| Supply Voltage (Vdd) | 2.2V to 3.6V |
| Output Voltage Range | 0V to Vdd |
| Sensitivity (Selectable) | 1.5g, 2g, 4g, 6g |
| Sensitivity (1.5g mode) | 800 mV/g |
| Sensitivity (2g mode) | 600 mV/g |
| Sensitivity (4g mode) | 300 mV/g |
| Sensitivity (6g mode) | 200 mV/g |
| Zero-g Output Voltage | ~1.65V (at Vdd = 3.3V) |
| Operating Temperature | -40°C to +85°C |
| Current Consumption | 500 µA (typical) |
| Sleep Mode Current | 3 µA (typical) |
| Package Type | QFN-16 (4mm x 4mm) |
The MMA7260Q comes in a 16-pin QFN package. Below is the pinout and description:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | Vdd | Power supply input (2.2V to 3.6V) |
| 2 | GND | Ground |
| 3 | XOUT | Analog output voltage for X-axis acceleration |
| 4 | YOUT | Analog output voltage for Y-axis acceleration |
| 5 | ZOUT | Analog output voltage for Z-axis acceleration |
| 6 | G-Select1 | Sensitivity selection input (bit 1) |
| 7 | G-Select2 | Sensitivity selection input (bit 2) |
| 8 | Sleep | Sleep mode control input |
| 9-16 | NC | No connection |
Below is an example of how to interface the MMA7260 with an Arduino UNO to read acceleration data:
// MMA7260Q Accelerometer Example Code
// Reads acceleration data from X, Y, and Z axes and prints to Serial Monitor
const int xPin = A0; // X-axis output connected to Analog Pin 0
const int yPin = A1; // Y-axis output connected to Analog Pin 1
const int zPin = A2; // Z-axis output connected to Analog Pin 2
void setup() {
Serial.begin(9600); // Initialize serial communication at 9600 baud
}
void loop() {
// Read analog values from the accelerometer
int xValue = analogRead(xPin);
int yValue = analogRead(yPin);
int zValue = analogRead(zPin);
// Convert analog values to voltage (assuming 3.3V reference)
float xVoltage = xValue * (3.3 / 1023.0);
float yVoltage = yValue * (3.3 / 1023.0);
float zVoltage = zValue * (3.3 / 1023.0);
// Print the voltage values to the Serial Monitor
Serial.print("X Voltage: ");
Serial.print(xVoltage);
Serial.print(" V, Y Voltage: ");
Serial.print(yVoltage);
Serial.print(" V, Z Voltage: ");
Serial.print(zVoltage);
Serial.println(" V");
delay(500); // Wait for 500ms before the next reading
}
No Output Voltage from XOUT, YOUT, or ZOUT:
Incorrect or Noisy Readings:
Sensitivity Not Changing:
Q1: Can the MMA7260 operate at 5V?
No, the MMA7260 operates within a supply voltage range of 2.2V to 3.6V. Exceeding this range may damage the device.
Q2: How do I calibrate the accelerometer?
To calibrate, measure the zero-g output voltage for each axis when the device is stationary and level. Subtract this offset from subsequent readings.
Q3: What is the maximum measurable acceleration?
The maximum measurable acceleration depends on the selected sensitivity mode:
Q4: Can I use the MMA7260 for vibration analysis?
Yes, the MMA7260 can measure vibrations, but ensure proper mounting and filtering to minimize noise.
This concludes the documentation for the MMA7260Q accelerometer.