Professional quality seismograph, fully open source, based on a Raspberry Pi, with 1 to 4 components, able to record earthquakes or other seismic events, either natural (rockfall, glacier movement) or man-made (train detection, vehicle detection). The seismograph works either autonomously in the field, or can be used as an Iris seismic station recording mini-seeds and uploading them to an Iris server. Able to run an Apache webserver accessible in 1 click from anywhere in the world and displaying the last 48 hours of recorded seismic activity. The 1 component version is under $100 and the 3 component version under $160, to be truly accessible to schools or institutions in developing countries.
Once the supplies are available, the build is very fast: about one hour.
Home page: https://erellaz.com/blog/seisberry/
- One Raspberry Pi. I recommend the Raspberry 3 B Plus over the Raspberry 4, as the enhanced video features of the Raspberry 4 are not needed for the seismometer application, while the Raspberry 3B+ has about 20% lower power consumption and is cheaper than the Raspberry 4.
- The Waveshare High precision AD / AC board for Raspberry.
- Geophones. At least 1 vertical, optionally 2 horizontal geophones. For seismic I use 10Hz phones, which are also the cheapest ($30): 1 Vertical and optionally 2 Horizontal components. For seismology, I recommend geophones with a lower frequency, like 4.5Hz: 1 Vertical and 2 Horizontal components. Alternatively, you could get 3 omnidirectional geophones. Omnidirectional geophones may be a little bit less sensitive, but with them, you do not have to worry about setting your recorder horizontal. You can order from RT Clark in Oklahoma, or you may try your luck and find equivalent products on Aliexpress. The RT geophones come with their shunt resistor already soldered. If you get your geophones from other sources, read the doc and get matching shunt resistors (probably something close to 395 Ohms).
- Stranded wire, 20 gauge, ideally red and black. 18 gauge (which is a bigger wire than 20, that’s how gauge works) will barely fit in the AD bus. 22 gauge is too small.
- Download and install Balena Etcher, or an equivalent. This assumes you are using a Windows PC.
- Download this Seisberry Image (Raspbian Buster with various libraries installed, and compiled code, about 8G). The latest version, dated August 24 2020 is called “Cotopaxi”. It has GPS support and various enhancements, as well as a GUI. You may find older/experimental versions in this directory, which should not be used: stay with “Cotopaxi”.
- With Etcher, burn the Seisberry image to your SD card (needs to be a 16G SD minimum). The distribution should expand to your card size on installation. Put the card in the Raspberry internal bay.
- Either plug a screen + keyboard + mouse to the Pi OR download and install VNC Viewer on your PC and connect the Pi to your network with a network cable. Then in the VNC viewer log to the host “seisberry16Hz”, user: pi, password: seisberry. If you do not have a proper DHCP server on your network (rare now) you may have to plug a screen to the Pi once, type ifconfig in a terminal, and write down the Pi’s IP. Then use that IP in VNC viewer for the Hostname.
- On the Pi: immediately change the password in Start>Raspberry Pi configuration.
- Optional: update your Operating system. This may take a while. Open a terminal and type:
sudo apt update sudo apt full-upgrade
- Shut down the Pi when done.
- Set the jumpers on your AD board as in the picture (top right, yellow jumpers).
- Connect the board to the GPIO of the Raspberry, and put the 2 screws and spacers coming with the board.
- Solder the wires to the geophones. I use about 6 inches of wire. Geophones are polarized, so the red goes on the + and the black on the -.
- Connect the geophones to the board, as in the picture (G1 is the vertical component).
- Power up the Pi.
- If your external card is not called 32G, you need to edit the following text file: ~/Desktop/DIYSeis/C/param and change the target of the script accordingly.
- On the Cotopaxi distribution, crontab is set up so the seismic recorder and the Gui will autostart at boot. The GUI allows you to stop or start the seismic recorder at will, get the status (it will look if the process is running and return the PID if it is), as well as read the parameter file.
- If you are more a command-line kind of guy (or gale), close the GUI and experiment with those commands in a bash terminal:
cd ~/Desktop/DIYSeis/C ./ads1256_test param ps -eaf | grep ads cd ~/Desktop/GUI python3 SeismographGUI.py & crontab -e
The Seisberry is expecting 1 memory card plugged in a USB port, and called 32G. The card could be FAT32, formatted in your PC, however, I would highly recommend making them ext4, which corrupts less if the Raspberry Pi loses power without a proper shut down (if it happens just reformat the card, and take the opportunity to make them ext4, as discussed in the FAQs).
Next, to configure your daily seismic processing scripts, visit the following directory :
Look at the python scripts in this directory. The user-defined constants are at the very beginning of each script, clearly commented. You can customize those parameters to fit your needs. At the very least adjust the latitude and longitude of your station, for the automatic annotation of the local events to be relevant. Those scripts are run every morning and scheduled via crontab. If you are curious to see the scheduler settings (optional), type:
The scripts above read your daily recording and generate a nice web page showcasing the seismograms. They also create mini seeds and regularly clean up the previous days of production, so you do not run out of space on your card. This also means if you recorded a nice seismic event, you have only about 2-3 days to copy it somewhere else, as after that time it will be automatically deleted. After the Seisberry has been running for at least 24 hours, any computer on your local network should be able to see and display the seismic results. In a web browser on the Seisberry or any machine on your network, including your smartphone, just click on the following link:
The pre-configured Apache 2 webserver running on the Seisberry will then generate a webpage with the seismic recording.