Learn To Use MMA7361 – Tutorial #9

Reasonably priced add-on sensor modules are now widely available, and you can rig up your own fascinating hobby projects using these pre-assembled modules by linking them to suitable microcontrollers. Here is an introduction to MMA7361, which is a long-familiar 3-Axis Accelerometer Module!

This sensor can measure static (earth gravity) or dynamic acceleration in all three axis. Application of the sensor is in various fields and many applications can be developed using it. The accelerometer measures level of acceleration where it is mounted, enables us to measure acceleration/deceleration of an object, or tilt of a platform with respected to earth axis.


Further, the sensor provides 0G output which detect linear free fall. Technically, MMA7361LC is a low power, low profile capacitive micromachined accelerometer featuring signal conditioning, a 1-pole low pass filter, temperature compensation, self test, 0g-Detect which detects linear freefall, and g-Select which allows for the selection between 2 sensitivities. Zero-g offset and sensitivity are factory set and require no external devices. The MMA7361LC includes a Sleep Mode that makes it ideal for handheld battery powered electronics. The module can be directly powered with a 5V dc supply. Note that it can also be directly powered from any 3.3V ‘clean’ dc supply.

Simplified Accelerometer Functional Block Diagram

Simplified Accelerometer Functional Block Diagram

MMA7361 Features

  • Simple to use
  • Analog output for each axis
  • +5V operation @1ma current
  • High Sensitivity (800mV/g @ 1.5g)
  • Selectable Sensitivity (+- 1.5g, +- 6g)
  • 0g detect for free fall detection
  • Robust design, high shock survivability
  • Low Cost

MMA7361 Applications

  • 3D Gaming: Tilt and Motion Sensing, Event Recorder
  • HDD MP3 Player: Freefall Detection
  • Laptop PC: Freefall Detection, Anti-Theft
  • Cell Phone: Image Stability, Text Scroll, Motion Dialing, E-Compass
  • Pedometer: Motion Sensing / PDA: Text Scroll
  • Navigation and Dead Reckoning: E-Compass Tilt Compensation
  • Robotics: Motion Sensing

Interfacing MMA7361 accelerometer module with an Arduino UNO

There lots of good resources out there in the web for accelerometers and the Arduino. Here is a simple primer that I have found useful. Fortunately, not too many things are needed here for this entry-level experiment.

  • Arduino Uno R3
  • MMA7361 Accelerometer
  • Jumper Wires

MMA7361LC arduino schematic

wiring diagram

Sample Sketch for testing MMA7361 with Arduino is shown here. Using this program you can read output from X,Y and Z axis during vibration, through the Serial Monitor!

int x; // x axis variable
int y; // y axis variable
int z; // z axis variable
void setup()
   Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
void loop()
  x = analogRead(5); // read A5 input pin
  y = analogRead(4); // read A4 input pin
  z = analogRead(3); // read A3 input pin
  Serial.print("X = "); // print x adc value
  Serial.print("Y = "); // print y adc value
  Serial.print("Z = "); // print z adc value
arduino MMA7361LC prototype

Testing Process by the Author

Note: Testing was carried out with one MMA7361 module from, available at an eBay store. If you are using a different module, keep an eye on its pin assignments.

No Comments

Join the conversation!

Error! Please fill all fields.