I'm using ADXL345 accelerometer with Raspberry Pi to build a seismograph. I've successfully hooked it up and can plot the accelerometer data in three axis. Is there any way to express these data in the form of the magnitude of an earthquake, of course, at the point of sensing? I know that it might be imprecise, but any representation would be helpful (e.g. Richter scale), and how to accomplish that.

  • 1
    $\begingroup$ You will need to work on scaling and interpretation, but in theory what you propose will work. I worked in inertial navigation in the 80's, with gyros and accelerators, and we would routinely plot earthquakes when running table tests. It was impressive to see, but standard seismographs were much easier to read and interpret even with the high accuracy acceleratorometers we used. I would tend to expect you could achieve detection of near events, but not high accuracy of magnitude or range. $\endgroup$
    – dlb
    Mar 3, 2017 at 17:26
  • 2
    $\begingroup$ these two articles may help you scroll down to data and resources for the first one for directions. srl.geoscienceworld.org/content/87/1/186 And this one includes more construction oriented instructions instructables.com/id/This-Seismometer-is-no-toy $\endgroup$
    – John
    Mar 3, 2017 at 21:43
  • $\begingroup$ @dlb I need more data on how to do the scaling, since I'm not a geologist, but an engineer. $\endgroup$
    – yode
    Mar 6, 2017 at 11:04
  • $\begingroup$ @John I've seen these two papers before. In the first one, the scaling wasn't done. In the second one, I don't need to construct actual seismograph, only to use already hooked-up accelerometer. $\endgroup$
    – yode
    Mar 6, 2017 at 11:07

1 Answer 1


The magnitude of an earthquake is related to the total energy released, therefore to estimate it from a seismogram you need to know the distance to the source. In the case of the Richter scale for example, the relationship between magnitude and seismogram amplitude is defined for a standard distance.

If you have only one seismograph, you can not triangulate the location of the source (hypocenter). Therefore, you can not estimate the magnitude of a seismic event (Richter or moment magnitude).

But you can estimate the local seismic intensity of the event at the particular location of your instrument. With the accelerometer data you can easily measure the peak ground acceleration, that can be used to estimate the intensity in any of the existing scales. For example, the peak ground accelerations associated to each intensity level in the commonly used Mercalli intensity scale are:

table of intensities

Those g values would be easy to calculate with the accelerometer data and proper calibration constants.

Table taken from the Wikipedia page for peak ground acceleration

You might want to have a look at this question. There are some nice answers and references that you might find useful.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.