Project showcase
Measuring Seismic Activity Using ProtoCentral OpenPressure

Measuring Seismic Activity Using ProtoCentral OpenPressure © MIT

Seismic activity or "Vibrations of the earth" is measured using ProtoCentral's OpenPressure 24-bit DAQ System.

  • 23 respects

Components and supplies

SparkFun Geophone - SM-24
ProtoCentral Electronics ProtoCentral OpenPressure 24-bit DAQ with ADS1220
Ph abx00003 iso cxvgnsenmb
Arduino Zero
The OpenPressure board is similar to this one in terms of processor used and interface to the Arduino IDE

Apps and online services

Ide web
Arduino IDE

About this project


A geophone is a magnetic device used to measure the Earth's normal vibrations (some abnormal during events such as earthquakes). These movements are also present when there is a small explosion (commonly used for mining and exploration purposes).

The principle of a geophone is similar to dynamo; the movement of the magnet situated inside a coil cause an induced field and the EMF produces a potential difference (voltage) proportional to the movement. Since, the magnet is spring-loaded and moves along with the small vibrations in the earth, measuring the voltage allows you to measure the movements.

ProtoCentral OpenPressure

ProtoCentral's OpenPressure is a precision analog signal acquisition platform, that is also very easy to use. It is compatible with Arduino and can be programmed using the standard Arduino IDE. Everything required to drive a sensor, including voltage and current excitation, on-board battery management and a boost DC/DC converter for precision voltage reference make it a highly usable platform for sensing.

For this particular sensor however, an excitation source is not required since the sensor itself produces a voltage (like a dynamo). But the voltage produced is so small that is requires amplification and here's where is the OpenPressure was useful.

Making the connections

We used the SM-24 geophone available at Sparkfun as the sensing element. This device is a standard geophone that works similar to the principle described before.

Connect Output

The output leads are directly connected to a differential channel on the OpenPressure board's ADS1220 ADC. Shown below are the connections to be made. The two ends of the geophone are connected to the AIN0 and AIN1 channels, which are differential inputs. In the below picture, you can see wires soldered from the sensor to the board. That's it, the connections are simple.


On the other side of the board, plug in any standard Li-Ion or Li-Polymer battery to the JST connector on the board. The final setup looks like this:


Plug in the OpenPressure board to a computer using a USB micro-B cable and open up the Arduino IDE and this board should show up as an "Arduino Zero bootloader" device. For more information on setup with Arduino, please check the Getting Started Guide here. The version that you see above has a Bluetooth wireless "cap" attached which automatically adds Bluetooth wireless connectivity for easy testing.

The software including the Arduino code as well as the Processing-based IDE for receiving and plotting the data is available in the code repositories given below this article.

Testing and results

For actual seismic measurement, the sensor has to be mounted on a rig similar to the one shown below. This then has to be driven into the ground to pick up vibrations.

However, since we couldn't lay our hands on such device, we just tested the functionality by placing the sensor on the ground and measuring vibrations produced by walking , as well as the vibrations produced on the road by passing vehicles. Particularly interesting was how we were able to see small vibrations in the road before the vehicle actually passed by, really open's up a number of ideas. Check out our results in the below video.

The geophone in action


ProtoCentral OpenPressure Github repo
Contains the Arduino code, processing code and the schematics of the board.


ProtoCentral OpenPressure Schematic


Similar projects you might like

Measuring Distance with Sound

by Giannis Arvanitakis

  • 39 respects

Arduino Pressure Measuring and Logging

Project tutorial by Fillbee

  • 30 respects

Liquid Level Sensing Using a Laser ToF Sensor

Project tutorial by Team ProtoCentral

  • 54 respects

DIY Simple Measuring Wheel with Rotary Encoder

Project tutorial by Mirko Pavleski

  • 23 respects
Add projectSign up / Login