PocketScope is an event-driven application for decoding, processing, and visualising ADS-B traffic on Raspberry Pi–class hardware. Rather than duplicate every subsystem detail here, this overview orients you to the major building blocks and points you toward deeper guides for each component.
- Event-Oriented Pipelines – Decoupled producers and consumers communicate exclusively through asynchronous topics on the internal event bus.
- Deterministic Simulation Support – Every time-dependent service can run against a simulated clock for reproducible testing and automation.
- Composable Rendering Stack – Drawing primitives, layers, and input handlers are kept modular so new displays or overlays can be added with minimal coupling.
- Persistent, Observable Configuration – User settings and theming changes are persisted to disk and broadcast back into the running UI without requiring a restart.
| Area | Summary |
|---|---|
| Event Bus | Messaging infrastructure, envelopes, and subscription patterns. |
| Time & Simulation | Real versus simulated clocks, scheduling semantics, and testing tips. |
| Data Ingestion | ADS-B playback, live dump1090 polling, GPS/IMU ingest, and data source hygiene. |
| Track Management | Aircraft state, history buffers, expiry, and integration with render layers. |
| Rendering & Display | Canvas abstraction, PPI view, input handling, and backend implementations. |
| Settings & Soft Keys | Configuration files, validation, hot reload, and soft key bar behaviour. |
| Recording & Replay | JSONL capture utilities, deterministic replays, and workflow integration. |
Additional domain-specific resources can be found in:
- ADS-B data flow
- Spatial utilities and GeoJSON ingestion
- Theme system reference
- Screenshot automation
- Systemd setup guide
Each guide focuses on concepts, typical usage, and extension points so you can confidently adapt PocketScope to new sensors, overlays, or deployment environments.