Earthquake Data Logger


Back in September, there were some very significant earthquakes in Christchurch, New Zealand. Fortunately (and truly miraculously) no one was killed. One of SparkFun's good friends, Philip Lindsay, lives in Christchurch. Like any good electronics enthusiast, in the midst of disaster, Philip saw an opportunity.

As is typical, after the initial earthquake there were thousands (literally) of aftershocks. Philip decided to build an apparatus that used an accelerometer and an Arduino to try to get a reading of the aftershocks' magnitudes. The results were definitely interesting, if not exactly what Philip had in mind! You can read all about Philip's project and results in his tutorial write-up.


Comments 13 comments

  • http://xkcd.com/723/

  • The biggest issue with using accelerometers for seismology is that they don’t have very good sensitivity to low frequencies. They’re typically used as so-called “strong-motion sensors” because they are much less prone to going off-scale in high-amplitude ground motion. The current state of the art broadband seismometers use electronic feedback to simulate a zero-length spring; i.e. they try to avoid strong deflections from zero. Modern sensors can have a flat passband of something like 0.01 Hz to 25 Hz. In between the two you have geophones, which are essentially a magnet suspended on a spring inside a coil, and measure velocity. High-end geophones sometimes have a cutout as low as 1 Hz, more often 4 Hz or higher, and are critically damped into the 100s of Hz. Again, for earthquake detection the easily acquired geophones usually have a low-frequency cutoff that’s far too high (maybe 28 Hz).

  • The way most seismographs work is they have a pendulum with a weight near the fulcrum and the measuring device (pen) at the other end, a magnitude of the distance between the weight and the fulcrum. I would think that duplicating this type of setup would offer better signal range. You would also need to calculate how much movement to expect to see at the measurement point and size the sensor maximum G-force based on that. It would also be better to have a precision reference voltage rather than just relying on the one presented by the FTDI chip on the Arduino board. Something with high accuracy throughout the temperature range.

  • Data could be compressed by making it event based.<br />
    <br />
    Have the Microcontroller record the data into a ring buffer. This would allow you to “notice ” the event and save some of the data leading up to the event. The microcontroller would continue to record during the event and a designated time after the event to your permanent storage. The event should be time stamped and by knowing the sample rate, the sample time could be interpreted. The events could be analyzed and stored according to length of time and magnitude in a DB then which allows events to be searched. <br />
    <br />
    I use DL4YHF’s SPECLAB Audio Spectrum Analyser for event grabbing for meteor sounds. When a user settable strength is reached it records the sound before, during and after the event.

  • There was a book that was published back in the 1920’s that showed how to do this. YES, they had books on EE way back then… It was something boys scientific something. All I remember about the cover is that it was blue. <br />
    <br />
    Anyway, what they used was a large coil that moved inside of vary large magnet. The way they had it set up would only give you one axis. They used Vacumm tubes for the Op Amp. What’s funny is they had a precurer to the MRI machinee in it.

  • What type of real time clock do you have on this?<br />

    • I talk a bit about that in the tutorial but, in short, the current version doesn’t include a RTC. In theory, it could use GPS or WiFly module for a clock signal.

  • Now, before I get flamed let me just say that I love Spark Fun and use them as a source for my projects all the time but I also check many surplus electronic stores and came across this-> http://www.bgmicro.com/geophone.aspx<br />
    fairly cheap geophone sensor. I have ordered supplies from them before; although they are no Spark Fun, I have found them to be very high quality products for the price. (I bought a Dunkermotoren brushless motor with integrated controller from them for $23.00 which turned out to be like new)

  • Hey, if I was just in a mag 7 quake, I’d make do with what I had handy as well! (Good on you, Follower). But for lower-frequency measurements, here’s an old but good article from the (late, lamented) “Amateur Scientist” column in Scientific American on how to make a seismograph out of hardware-store supplies and a few op-amps: http://science-project.com/_members/science-projects/1979/07/1979-07-fs.html

  • You need some mechanical amplification. In the typical picture of a seismograph you see a mass hanging on a tread from a support arm. I suggest a mass hanging on a thin rigid rod. The support rod extends past the support cross arm by a factor of 10. Say 10 cm down to large mass and 100 cm above support arm with the accelerometer at the very top. This should give a factor of 10 amplification to the signal. This works for the x and y axis. I do not see how to do it for the z axis (up and down).

  • bsmithyman is right. It does not matter how sensitive the DAC is if the sensor cant even ‘see’ the signal! In the tutorial write-up, orcinus mentions the mass of the sensing element as a factor as well. The detectable frequency and the mass are directly related to one another. In fact, like orcinus says, tuning a piezo-resistive sensor with a large mass may work quite well if you orient it properly!<br />
    <br />
    None the less, a really fun idea! I have wanted to build a device to detect subsonic and seismic events for while now, and have not been able to locate or fabricate a suitable sensor as of yet! Something tells me I should re-visit it!

  • What I think you need would be a 24bit sigma delta ADC which is used for these types of applications. <br />
    <br />
    Unfortunately, sparkfun does not yet have any of these (yet), but I have implemented the AD7192 on the Arduino in an earlier design with no problems. I would think it would be ideal for what you want because it requires very little additional components, is very easy to work with, and has a noise of around 11nv as I recall…. Also, at a gain of 8 (3.3V), your resolution would probably be around 22 bits.


This Week

This Month

Heartbleed

Happy Arduino Day!

SXSW Create 2014