The Ultimate Guide to Building a Home Earthquake Monitoring Station
Whether you're a maker, a concerned homeowner, or a citizen scientist, building a home earthquake monitoring station has never been more accessible or affordable. Modern MEMS sensors, affordable microcontrollers, and cloud connectivity make it possible to detect and record seismic events from your living room.
This guide covers everything you need: sensor selection, hardware assembly, software configuration, data interpretation, and how to connect your station to a community network.
Why Monitor Earthquakes at Home?
Personal Safety
A home sensor network detects seismic activity faster than distant government stations for local events. The closer the sensor is to the earthquake, the earlier the detection — and the more warning time available.
Scientific Contribution
Dense sensor networks generate data that helps seismologists understand earthquake behavior at a hyperlocal level. Your sensor contributes to community detection networks that complement official monitoring.
Education
Building and operating a seismic station teaches fundamental physics, electronics, data science, and real-world problem-solving.
Peace of Mind
Knowing you have an active monitoring system in your home provides tangible reassurance in earthquake-prone regions.
The Hardware Landscape
Microcontrollers
| Board | Price | WiFi | BLE | Pros | Cons |
|---|---|---|---|---|---|
| ESP32 (recommended) | $3–$8 | ✅ | ✅ | Cheap, powerful, huge community, dual-core | Power management complexity |
| ESP8266 | $2–$5 | ✅ | ❌ | Ultra-cheap | Single core, limited GPIO |
| Raspberry Pi Pico W | $6 | ✅ | ✅ | MicroPython, flexible | Less community support for seismic |
| Arduino Nano 33 IoT | $25 | ✅ | ✅ | Built-in IMU, Arduino ecosystem | More expensive |
| Raspberry Pi 4/5 | $35–$80 | ✅ | ✅ | Full Linux OS, high processing power | Overkill for basic detection, higher power |
Our recommendation: ESP32 — it's the foundation of the GeoShake T1, and its combination of price, performance, WiFi connectivity, and community support makes it the ideal choice for home seismic monitoring.
Accelerometer Sensors
These are the sensors that actually measure ground motion:
| Sensor | Type | Axes | Sensitivity | Sampling Rate | Price |
|---|---|---|---|---|---|
| MPU-6050 | MEMS accelerometer + gyro | 6-axis | ±2g to ±16g | Up to 1 kHz | $1–$3 |
| ADXL345 | MEMS accelerometer | 3-axis | ±2g to ±16g | Up to 3.2 kHz | $3–$8 |
| ADXL355 | Low-noise MEMS | 3-axis | ±2g to ±8g | Up to 4 kHz | $20–$40 |
| MPU-9250 | MEMS accel + gyro + mag | 9-axis | ±2g to ±16g | Up to 4 kHz | $3–$8 |
| LIS3DH | Ultra-low-power MEMS | 3-axis | ±2g to ±16g | Up to 5 kHz | $2–$5 |
GeoShake's choice: MPU-6050 in a quad configuration (four sensors averaged together for noise reduction). This achieves significantly better signal quality than a single sensor at minimal additional cost.
Cost Breakdown
| Component | Price |
|---|---|
| ESP32 dev board | $5 |
| MPU-6050 sensor (×4 for quad config) | $8 |
| USB-C cable + power adapter | $5 |
| PCB or breadboard + wires | $3 |
| Enclosure (3D printed or plastic box) | $5 |
| Total DIY cost | ~$26 |
| GeoShake T1 (pre-built) | €49 |
Building Your Station: Step by Step
Step 1: Gather Components
Minimum parts list:
- 1× ESP32 development board (ESP32-DevKitC or similar)
- 1× MPU-6050 accelerometer module (or 4× for quad configuration)
- 1× micro-USB or USB-C cable
- 1× USB power adapter (5V, 1A minimum)
- Jumper wires (4 minimum for I2C connection)
- Optional: breadboard, PCB, or enclosure
Step 2: Wire the Sensor
The MPU-6050 communicates with the ESP32 via I2C (a two-wire serial protocol):
ESP32 MPU-6050
───── ────────
3.3V ──────── VCC
GND ──────── GND
GPIO 21 ────── SDA (Data)
GPIO 22 ────── SCL (Clock)
For a quad configuration, connect four MPU-6050 modules to the same I2C bus, using the AD0 pin to assign different addresses:
- Sensor 1: AD0 → GND (address 0x68)
- Sensor 2: AD0 → VCC (address 0x69)
- Sensors 3 & 4: Use an I2C multiplexer (TCA9548A)
Step 3: Flash the Firmware
GeoShake's firmware is open-source. You can either:
- Use GeoShake's firmware — flash the official GeoShake sensor firmware to join the community network
- Write your own — use the Arduino IDE or PlatformIO to write custom firmware
Basic data reading sketch (Arduino IDE):
#include <Wire.h>
#include <MPU6050.h>
MPU6050 mpu;
void setup() {
Serial.begin(115200);
Wire.begin(21, 22);
mpu.initialize();
mpu.setFullScaleAccelRange(MPU6050_ACCEL_FS_2); // ±2g
}
void loop() {
int16_t ax, ay, az;
mpu.getAcceleration(&ax, &ay, &az);
float gx = ax / 16384.0; // Convert to g
float gy = ay / 16384.0;
float gz = az / 16384.0;
Serial.printf("X: %.4f Y: %.4f Z: %.4f\n", gx, gy, gz);
delay(5); // ~200 Hz
}
Step 4: Calibrate
Every MEMS sensor has baseline offsets that need to be corrected:
- Place the sensor on a perfectly level, vibration-free surface
- Record data for 60 seconds
- Calculate the mean offset for each axis
- Subtract offsets from all future readings
- Verify that stationary readings show (0, 0, 1g) for X, Y, Z respectively
GeoShake's firmware handles calibration automatically via MQTT commands.
Step 5: Connect to the Cloud
To make your data useful beyond your desk, stream it to a cloud backend:
MQTT (recommended):
- Lightweight, designed for IoT
- GeoShake uses HiveMQ Cloud with TLS encryption
- Publish readings to a topic like
seismic/stations/{YOUR_ID}/data - Subscribe to status updates and calibration commands
Alternative protocols:
- HTTP REST — simpler but higher latency and overhead
- WebSocket — good for real-time visualization
- LoRaWAN — for stations without WiFi (long-range, low-power)
Step 6: Place Your Station
Sensor placement dramatically affects data quality:
Best placement:
- Ground floor or lowest level of the building
- On a hard, stable surface (concrete floor, tiled floor)
- Away from vibration sources (washing machines, HVAC units, heavy traffic)
- Interior room (away from wind-induced building sway)
Worst placement:
- Upper floors (building sway amplifies readings)
- On carpet or foam (dampens seismic signals)
- Near appliances (false vibrations)
- Near windows (wind noise)
Understanding Your Data
Peak Ground Acceleration (PGA)
PGA is the maximum acceleration experienced at your sensor's location during an earthquake. It's measured in g (Earth's gravitational acceleration) or cm/s² (Gal).
| PGA (g) | PGA (Gal) | Intensity | What You Feel |
|---|---|---|---|
| < 0.001 | < 1 | Not felt | Below human perception |
| 0.001–0.01 | 1–10 | Weak | Felt by sensitive people |
| 0.01–0.05 | 10–50 | Light | Felt by most, rattling objects |
| 0.05–0.1 | 50–100 | Moderate | Difficult to stand |
| 0.1–0.3 | 100–300 | Strong | Damage to vulnerable structures |
| 0.3–0.6 | 300–600 | Severe | Significant structural damage |
| > 0.6 | > 600 | Violent | Heavy damage/collapse |
ENU Axes
Seismic data is often presented in ENU (East-North-Up) coordinates:
- E (East) — horizontal ground motion in the east-west direction
- N (North) — horizontal ground motion in the north-south direction
- U (Up) — vertical ground motion
Horizontal components (E, N) typically show larger amplitudes during an earthquake, as destructive S-waves produce primarily horizontal shaking.
Joining a Community Network
Your station's value multiplies when it's part of a larger network. Community detection requires multiple sensors to confirm events, reducing false alarms.
GeoShake Network
The easiest way to contribute is through GeoShake:
- Build a DIY sensor with ESP32 + MPU-6050 or buy the GeoShake T1 (€49)
- Connect via the GeoShake app
- Your data is validated against AFAD and USGS
- You receive alerts from the entire network
📱 Download the GeoShake app to manage your sensor and receive alerts: iOS | Android
Key Takeaways
- ESP32 + MPU-6050 is the sweet spot for home earthquake monitoring — affordable, capable, well-supported
- Quad sensor configuration dramatically improves data quality through noise averaging
- Placement matters — ground floor, hard surface, away from vibration sources
- Cloud connectivity via MQTT enables real-time monitoring and community detection
- Pre-built options exist — the GeoShake T1 (€49) offers plug-and-play simplicity
Related Articles:
Ready to join the network?
Get the GeoShake T1 sensor and start detecting earthquakes at home.
Get earthquake insights in your inbox
One short email a month — new guides, network updates, real detection stories. No spam, unsubscribe anytime.