Project tutorial
DIY Sensitive ADXL335 Earthquake Detector

DIY Sensitive ADXL335 Earthquake Detector © GPL3+

An interesting way to increase sensitivity and reduce the noise of the ADXL335 analog accelerometer.

  • 998 views
  • 0 comments
  • 5 respects

Components and supplies

Necessary tools and machines

09507 01
Soldering iron (generic)

Apps and online services

About this project

The ADXL335 is a low power, complete 3-axis accelerometer with analog voltage outputs. The product measures acceleration with a minimum full-scale range of ±3 g.It can measure the static acceleration of gravity in tilt-sensing applications, as well as dynamic acceleration resulting from motion, shock, or vibration. Sensitivity is 330 mV/G.

Besides many "earthquake detector" projects on the Internet that use this accelerometer, its sensitivity for this purpose is very low so these devices are practically non-functional. I am confident in this because I have made and tested many of them.

The idea presented below is: with the help of instrumental operational amplifier IC connected in DIFFERENTIAL mode to amplify only the USEFUL part of the signal by 100-1000 times (or more) without amplifying the harmful noise. I use OP07 IC, but any instrumental operational amplifier IC can be used. Using the potentiometer P1 we set the voltage V2 to be slightly less than V1, and P2 adjusts the amplification of useful signal. The formula for the coefficient of amplification is Vout=(V1-V2)*K where K=1+100/P2(kOhm). This amplified signal connects to an analogue input of an Arduino microcontroller through a 1k resistor. To amplify the three outputs of the ADXL335 we need to make three such identical amplifiers for each axle (x, y and z) separately. In this case I only use one axis (z) to detect vertical shocks.

The Arduino microcontroller then processes and filters the signal using the code "nerdaqII" given below. For a visual presentation on a computer I use the free "Amaseis" software which is also available for download below. With its help we monitor 24 hours of seismic activity.

The video clearly shows the difference in sensitivity before and after this modification. However because the threshold level of ADXL335 is relatively high the device is capable of detecting only relatively strong local shocks. I am saying this based on several years of experience in earthquake detection using my DIY mechanical seismometers. In the coming period I will record seismic activity 24 hours a day and hope to "catch" some earthquake in my area. Certainly if I have results I will update the content of this project.

I am currently in the testing phase of an earthquake detector with MPU-6050 presented in a well-known electronics magazine that is very sensitive and logs the data from the three axes to the SD card for further analysis. That will be one of my next projects.

Lastly, to conclude that this type of "digital" seismometers are easy to build and install and resistant to various atmospheric influences, so they are ideal for school presentations and similar activities.

Code

arduino codeC/C++
No preview (download only).
Windows software AmaseisJava
No preview (download only).

Schematics

schematic
Adxl335 bb dh2bht2ibr

Comments

Similar projects you might like

DIY Arduino Based Pulse Induction Metal Detector

Project tutorial by Mirko Pavleski

  • 5,150 views
  • 5 comments
  • 9 respects

Extremely Sensitive Cheap Homemade Seismometer

Project tutorial by Mirko Pavleski

  • 13,035 views
  • 65 comments
  • 65 respects

Jar Temperature Detector and Cooling Fan

Project tutorial by Kutluhan Aktar

  • 1,365 views
  • 0 comments
  • 7 respects

DIY 3-Axis CNC VMC

Project tutorial by Amit Nandi (BigWiz)

  • 18,308 views
  • 11 comments
  • 70 respects

Arduino EMF Detector A.K.A Ghost Detector

Project showcase by Patel Darshil

  • 8,376 views
  • 9 comments
  • 20 respects

DIY Retro Look FM Radio with TEA5767 Module

Project tutorial by Mirko Pavleski

  • 8,057 views
  • 3 comments
  • 41 respects
Add projectSign up / Login