Introduction: DIY Seismometer

About: We are a supplier of neodymium, rare earth magnets. We also love to conduct experiments with our magnets and build unique projects with them! We have several engineers on staff who are always thinking of new p…

Make a Seismometer to detect powerful earthquakes around the world for under $100! A slinky, some magnets, and an Arduino board are the main components here.

Step 1: How Does It Work?

This seismometer detects ground motion with a magnet hanging on a slinky. The magnet is free to bounce up and down. A stationary coil of wire is placed around the magnet. Any motion of the magnet generates tiny currents in the wire, which can be measured.

The rest of the device is essentially some electronics wizardry to measure those tiny currents in the wire and convert them into data we can read. A quick overview sketch is shown.

1a: Spring (Slinky, Jr.), 1b: Magnet (two RC44 ring magnets)

2. Coil of Magnet Wire (MW42-4) Amplifier, converts the weak signal into a strong one

3. Analog-to-Digital Converter (Arduino), converts the analog signal into a digital stream of numbers

4. Recording Device (PC), uses software to record and display the data

Step 2: Coil Some Wire

The first thing we did was make our coil of wire. In our first model, we used PVC end caps pressed on either end of a short section of pipe to form walls on either side of the wrapped wire. We sliced the ends off to open it back up. We cut a section of 1" PVC Pipe and wrapped about 2,500 turns using 42 gauge magnet wire.

The pipe is a great way to make it from inexpensive, readily available parts. We used PVC end caps pressed on either end of a short section of pipe to form walls on either side of the wrapped wire. We sliced the ends off to open it back up.

We made a fancier version of a wire spool using some 3D printed parts. This was much easier to wrap, because it attached to the spool-winding feature of an old sewing machine. In the short video, you can see how we wound it. If you have access to a 3D Printer and want to use our models, let us know and we can send you the files! Also note the bigger wires in the photos. We soldered the end of the magnet wire to the thicker wire, which is then easier to work with.

Step 3: Hang/Calibrate Your Slinky!

We used a Slinky Jr which has a smaller diameter than a full-size slinky. At the bottom, we mounted two RC44 ring magnets stacked together on a 6" long piece of #4-40 threaded rod. These magnets sit inside of the wire, and when they move, they induce a current in the wire.

At the top of the slinky, we mounted another magnet onto a steel plate for the slinky to hook onto. In the video, we show how to calibrate your slinky to be 1 Hz. This is a crucial step to getting the frequency right. The slinky should bounce up and down once, in one second.

There is also an R848 ring magnet at the bottom of the threaded rod. This magnet sits inside of a little section of copper pipe. This helps dampen the motion, to reduce noise, and to see that the slinky will only bounce when there is adequate shaking!

Step 4: Amplify the Current!

The magnet moving inside of the coil of wire produces very small currents, so we need to amplify them so we can see the tiny signal. There are a lot of good amplifier circuits out there, we stuck to the circuit used in the TC1 seismometer we found online. In the picture, you can see the schematic for the amp circuit. We simply used a breadboard!

Step 5: Covert Analog Signal Into a Digital Stream of Numbers

An Arduino is a small, inexpensive microprocessor that's very popular. If you don't have any experience with this, we recommend starting with one of the instructional kits that are available.

The Arduino board takes in the analog signal from the amplifier and translates that into a stream of digital, numerical data. To do this, the Arduino was programmed with code from the TC1 Seismometer project that was mentioned in the beginning of this Instructable. Here is a link to that project again, which can help you setup your Arduino!

Check out the video to see what the output looks like once you hook up your Adruino.

Step 6: Record the Signal With a PC

The Arduino plugs into a PC via USB. You'll need to load the Arduino software and drivers onto your PC. That software is what you'll use to get the code from your PC onto the Arduino board, using the "Upload" feature. You can see a quick video of the Arduino outputting data in the previous step.

Use the Arduino software to make sure the board is communicating properly. Click "Tools>Serial Monitor". If everything is running properly, you should see a stream of numbers coming in. If not, try making sure it's looking at the right COM port. Again, the video is in the previous step!

To record the data, we used an application on PC called jAmaSeis, from IRIS, the Incorporated Research Institutions for Seismology. In the old days, seismometers would output to a paper chart recorder. A pen would move back and forth on top of a slowly spinning roll of paper. The jAmaSeis uses the same format, but puts it on a computer screen.

In the jAmaSeis application, you can share and view your data with students and scientists from around the world!

Step 7: Reducing Noise

We recorded several earthquakes from around the world with our seismometer! But sometimes, the quakes can get lost in the noise of the system. The system is extremely sensitive! The heat from the sun causing the concrete to expand slightly got picked up by our seismometer. Also, a nearby heater in the building caused noise too! There are many things that could cause noise.

In the screenshot above, you can see what noise looks like, but when a seismic event happens, it looks much different and is quite distinguishable from the noise. We blocked the sunlight from coming in, which did help reduce the noise a little bit. Even though there is noise, we were still able to see many earthquakes and even a volcano eruption!

Make sure to put some type of enclosure over the seismometer! This will help reduce a LOT of noise from air currents!

Step 8: Don't See a Quake?

It is a very interesting subject to study, but in short, there are certain parts of the world that we will not see earthquakes from. Here in Eastern Pennsylvania, we can't see Earthquakes in the red area. We will only be able to detect P-Waves, (not S-waves) in the yellow area.

Step 9: Bill of Materials

We were able to build a complete seismometer for under $100. One of the important ideas behind this simple design is to make it inexpensive and accessible. Many of the folks who ask us about this want to build one for their science classroom.

Here's a list of what we purchased to make ours.

-Slinky, Jr.: We bought our slinky from Amazon, but you can find it from many sources. Price: $4-$6.

-Magnets: We used 2 RC44 ring magnets stacked together as the main magnet. A single RC48 is equivalent. An R848 ring works well for the damper.

-Arduino: We bought an Arduino Uni R3 from Adafruit online for $24.95, but you can also find this from many sources. If you’re new to the Arduino, you might want to consider a kit that includes tutorials about how to use it. This one is $85, and we liked it. If you plan on doing more with Arduino, it’s a decent idea.

-Breadboard: If you don’t get a breadboard included with a kit, get one like we used to build the amplifier on. $5.

-Electronic parts: For the amplifier circuit, we purchased electrical components from Digikey. The quantities below are what you need to build one seismometer. We ordered a few extra of everything, though, in case we messed anything up during the build.

-Structure: We built a wood structure to support the slinky from scraps we had laying around...FREE!

-Enclosure:- Since we're not displaying our seismometer, but just put a large cardboard box over it. Don't skip this step, this will help reduce a lot of noise from air movement!

Arduino Contest 2017

Participated in the
Arduino Contest 2017