SensorScope
Sensor dashboard for exploring live Android device sensor readings and diagnostics.
Get it on Google Play ↗ Source on GitHub ↗
Key takeaways
- SensorScope is a free Android app in the Developer category: sensor dashboard for exploring live Android device sensor readings and diagnostics.
- Download it free from the Google Play Store (package
com.michael.sensorscope).
SensorScope is an Android hardware diagnostics app for inspecting device sensors, battery telemetry, and thermal stress behavior in real time. It is built for technicians, QA teams, Android developers, and power users who need a clear view into the hardware signals exposed by a device.
Project Overview
SensorScope gives Android users a focused diagnostic dashboard for sensors, battery state, thermal checks, calibration baselines, and report previews. The app reads local device telemetry, stores diagnostic baselines and thermal logs on the device, and lets users export CSV snapshots only when they choose to share them.
Key Features
- 📡 Real-time sensor inventory grouped into motion, environment, position, and unknown hardware categories.
- 📈 Sensor detail screens with live stream plotting and calibrated X, Y, and Z readouts.
- 🔋 Battery telemetry for level, voltage, current, temperature, charging state, technology, and anomaly warnings.
- 🌡️ Thermal stress sandbox with foreground-service execution, stop controls, summaries, and historical logs.
- 🎯 Calibration baseline capture and clearing for supported sensors.
- 🧪 Dead-pixel inspection screen with an immersive display check flow.
- 📄 Diagnostic report preview and CSV snapshot export support.
- 🛒 Play Store screenshot, icon, feature graphic, and listing-copy assets tracked in the repository.
Architecture Overview
Components
MainActivity hosts a Compose NavHost with dashboard, sensor detail, dead-pixel, thermal stress, battery telemetry,
calibration, and report-preview destinations. SensorScopeApp creates an AppContainer, which wires data sources,
repositories, Room DAOs, and use cases without a third-party dependency-injection framework.
SensorDataSourceImpl wraps SensorManager as Kotlin Flow streams. BatteryDataSourceImpl converts Android battery
broadcasts and BatteryManager properties into domain readings. SensorScopeDatabase persists calibration baselines and
thermal stress logs with Room.
Data Flow
Device hardware emits sensor and battery events. Data sources convert Android framework callbacks into domain models, repositories combine live readings with local Room state, use cases expose focused operations to ViewModels, and Compose screens render the current state or trigger actions such as baseline capture and report export.
Design Patterns
The app uses a layered architecture with data sources, repositories, use cases, ViewModels, and Compose UI. Runtime state
is modeled with Kotlin coroutines and Flow; local persistence uses Room DAOs; navigation uses Jetpack Navigation
Compose.
Tech Stack & Libraries
| Layer | Technology | Version | Purpose |
|---|---|---|---|
| Platform | Android SDK | min 24, target 36, compile 36.1 | Android app runtime and framework APIs |
| Language | Kotlin | 2.2.10 | App and test implementation |
| Build | Gradle Wrapper | 9.5.1 | Reproducible Android builds |
| Build Plugin | Android Gradle Plugin | 9.1.1 | Android application packaging |
| UI | Jetpack Compose BOM | 2024.09.00 | Declarative UI toolkit |
| UI | Material 3 | BOM-managed | App components, navigation bar, icons, and theming |
| Navigation | Navigation Compose | 2.8.9 | In-app route graph |
| Async | Kotlin Coroutines | 1.10.2 | Sensor and battery streams |
| Persistence | Room | 2.7.0 | Calibration and thermal log storage |
| Images | Coil Compose | 2.7.0 | Image loading support |
| Network | Retrofit, OkHttp, Moshi | 2.12.0, 4.10.0, 1.15.2 | Available networking stack |
| Screenshots | Roborazzi | 1.59.0 | Play Store screenshot and graphic generation |
| Tests | JUnit, Robolectric, AndroidX Test | 4.13.2, 4.16.1, 1.6.x | JVM and Android-facing tests |
| Secrets | Secrets Gradle Plugin | 2.0.1 | .env loading for optional local secrets |
Configuration
The Android application configuration lives in app/build.gradle.kts. Important values include applicationId,
namespace, minSdk, targetSdk, versionCode, versionName, signing configs, and test options. Changing build
configuration requires a Gradle sync or rebuild.
Local secrets are read from .env through the Secrets Gradle Plugin. Release signing can be configured with
KEYSTORE_PATH, STORE_PASSWORD, and KEY_PASSWORD; avoid committing production signing secrets.
Usage / Quick Start
Run the App on a Device
./gradlew installDebug
Open SensorScope from the launcher. Use the bottom navigation to switch between Sensors, Screen, Thermals, Power, Offsets, and Dossier. Sensor detail screens are opened from the dashboard by selecting a listed hardware sensor.
Generate Play Store Assets
./gradlew generatePlayStoreAssets
API Reference
Not applicable. SensorScope is a native Android application and does not expose a public HTTP API, CLI API, or SDK API. Internal app operations are organized through Kotlin repository interfaces in app/src/main/java/com/michael/sensorscope/domain/repository/.
Testing
Run JVM unit, Robolectric, and Compose tests:
./gradlew testDebugUnitTest
Run instrumented tests on a connected device or emulator:
./gradlew connectedDebugAndroidTest
Regenerate Roborazzi-backed Play Store screenshots:
./gradlew generatePlayStoreAssets
Test files live under app/src/test/java/com/michael/sensorscope/ and app/src/androidTest/java/com/michael/sensorscope/. Existing tests include navigation behavior, feature interaction coverage, manifest permission checks, example Robolectric tests, and Play Store screenshot generation tests. Coverage reporting is not configured.
Deployment
Android Debug Builds
./gradlew assembleDebug
The generated APK is written under app/build/outputs/apk/debug/.
Android Release Builds
export KEYSTORE_PATH=/absolute/path/to/upload-key.jks
export STORE_PASSWORD
export KEY_PASSWORD
./gradlew assembleRelease
Release output is written under app/build/outputs/apk/release/. A release AAB task may also be used through standard Android Gradle Plugin tasks when Play Console upload packaging is needed.
Docker and docker-compose deployment are not configured.
Frequently asked questions
What is SensorScope?
SensorScope is a free Android app by Michael Samuel Naeem in the Developer category. Sensor dashboard for exploring live Android device sensor readings and diagnostics.
How much does SensorScope cost?
SensorScope is free to download on the Google Play Store, with no subscription required to get started.
Where can I download SensorScope?
You can install SensorScope from the Google Play Store, and the source code is available on GitHub.
Hiring a senior Android / Flutter engineer?
I architect and ship production mobile software — Kotlin, Jetpack Compose, Flutter — for robotics, EV infrastructure, fintech, and real-time systems. Open to remote roles in Europe and the US.
Get in touch →All Android app names
Complete index of Michael Samuel Naeem Android apps on Google Play and GitHub, including utility, privacy, productivity, developer, media, finance, and device tools. Search engines can discover each exact product name, package, marketplace listing, and source page from this index.
- AuraSound Audio · com.michael.aurasound
- BLE Finder Developer · com.michael.blefinder
- Bulk QR & Barcode Suite Scanner · com.michael.bulkqrscanner
- ClearVoice AI AI · com.michael.clearvoiceai
- ClipVault Productivity · com.michael.clipvault
- DevPocket Developer · com.michael.devpocket
- Doc Scanner Vectorizer Document · com.michael.docscannervectorizer
- EdgeFlow Utility · com.michael.edgeflow
- FolderFlow Productivity · com.michael.folderflow
- FrozenDroid Utility · com.michael.frozendroid
- InsightlySpend Finance · com.michael.insightlyspend
- Micro Budgeting Finance · com.michael.microbudgeting
- NotchCommand Utility · com.michael.notchcommand
- PDF Toolkit Document · com.michael.pdftoolkit
- Photo Optimizer Media · com.michael.photo.optimizer
- PrivAI AI · com.michael.privai
- SensorScope Developer · com.michael.sensorscope
- Smooth-Mo Utility · com.michael.smoothmo
- StoreClear Utility · com.michael.storeclear
- Subtrackr Finance · com.aistudio.subtrackr
- Tic Tac Toe Game · com.michael.tic_tac_toe
- Todo App Productivity · com.michael.todoapps
- WalkPlanner Health · com.michael.walkplanner
- Wi-Fi Drop Utility · com.michael.wifidrop