Modular Software Architecture for a Raspberry Pi-Based Geophysical Data Acquisition System
Abstract
Continuous geophysical data acquisition requires software that can maintain sampling, timing, data storage, and system operation when individual components become unavailable. This paper describes a modular software architecture developed for a Raspberry Pi-based 24-bit geophysical data acquisition system. The application is divided into six modules covering system orchestration, hardware abstraction, signal processing, data persistence, REST services, and the web interface. External configuration, hybrid timestamping using GPS, a DS3231 real-time clock, and a monotonic counter are used together with deadline-based scheduling and layered fault handling. The software was evaluated through dependency analysis, startup measurement, induced fault tests, dashboard checks, and a one-hour acquisition test at 100 SPS. The system reached a record-ready state in 7.840 s and recorded 360,000 samples per channel during the one-hour test, with no dropped samples, MiniSEED gaps, or overlaps. Acquisition also continued during watchdog access denial, temporary database disconnection, GPS unavailability, and REST service interruption. The results show that a modular software structure can support continuous geophysical data acquisition on a general-purpose Linux platform without a real-time kernel.