Skip to content

Configuration Guide

The rpi-seism daemon is controlled by a single config.yml file. Settings are strongly typed and cross-validated using Pydantic to ensure the hardware and software stay in sync.

These settings define your station’s identity in the global FDSN network.

FieldTypeConstraintsDescription
networkstring1-2 charsFDSN Network code (e.g., XX)
stationstring1-5 charsStation identifier (e.g., RPI3)
latitudefloat-90 to 90Decimal degrees
longitudefloat-180 to 180Decimal degrees
elevationfloatN/AMeters above sea level

The daemon uses this date to manage StationXML epochs. If you change hardware settings but keep the same start_date, the daemon will refuse to start to prevent corrupting your instrument response metadata.


These values are pushed to the MCU during the Serial Handshake.

EnumValueRangeBest Use Case
PGA_10± 5.0 VRaw ADC testing / DC signals
PGA_21± 2.5 V3.3V sensor bypass
PGA_42± 1.25 VMedium gain staging
PGA_83± 625 mVHigh-output piezo sensors
PGA_164± 312.5 mVLow-noise differential inputs
PGA_325± 156.25 mVSmall signal amplification
PGA_646± 78.125 mVGD-4.5 Geophone + ×100 Preamp

To ensure the MCU can multiplex 3 channels without jitter, the ADC sample rate must be at least 13 times higher than the daemon’s requested output rate.

  • Target: 100 Hz output.
  • Minimum ADC Speed: 1300 SPS.
  • Setting: Use adc_sample_rate: 11 (2000 SPS).

Defines how the physical ADC pins map to SEED-compliant seismic channels.

FieldTypeDescription
namestring3-char SEED code (e.g., EHZ, EHN, EHE)
adc_channelintPhysical pin index (0, 1, or 2)
orientationenumvertical, north, or east
sensitivityfloatGeophone sensitivity in V·s/m
analog_gainfloatHardware gain (e.g., 100.0 for your InstAmp)

Configures the serial port settings for the RS-422 link to the MCU.

FieldDefaultDescription
port/dev/ttyUSB0Serial device path
baudrate250000UART baud rate (9600–2000000)

Configures the MiniSEED/SDS flush schedule.

FieldDefaultDescription
write_interval_sec180010–86400 s

Configures the real-time earthquake detection engine.

ParameterRecommendedDescription
sta_sec0.5Short-term average window (seconds)
lta_sec10.0Long-term average window (seconds)
thr_on3.5Trigger ratio (STA/LTA) to start event
thr_off1.5Ratio to end event (Hysteresis)

The daemon uses Apprise for alerts. You can add multiple notification targets.

Example Notifiers
jobs_settings:
notifiers:
- url: "tgram://bot_token/chat_id/" # Telegram
enabled: true
- url: "discord://webhook_id/webhook_token/" # Discord
enabled: false