Overview
Soil Cub is EarthScout's handheld 6-in-1 soil meter, built on TDR sensing — the gold standard for soil moisture measurement. Push the tines into the ground and it reads soil moisture, soil temperature, bulk and pore EC, air temperature and humidity in under a second.
The app is what makes those readings useful. It pairs with the meter over Bluetooth LE, captures every reading the moment it's taken, and keeps a season's worth of data organized, charted and safe — no clipboard, no manual transcription, no cloud required.
The interesting problems
- No signal in the field — farms are connectivity dead zones, so the app is offline-first: Room (SQLite) is the single source of truth and everything works with airplane-mode reliability.
- BLE is messy — connections drop, packets arrive out of order, devices sleep. The BLE layer owns pairing, reconnection and retries so a grower never loses a reading to a flaky link.
- A season of data is irreplaceable — readings can be exported for analysis and backed up and restored wholesale, because losing three months of field data is not an option.
How the data flows
Hardware
Soil Cub meter
6-in-1 TDR probe · readings in <0.25s
Capture
BLE service layer
Pairing, reconnection, retry & parsing
Storage
Room · SQLite
Offline-first source of truth
Insight
Charts · Export · Backup
Trend lines, data export, full restore
Highlights
- Instant capture — take a reading on the meter and it's in the app before you've stood back up.
- Trend charts — line charts across readings, so moisture and EC trends are visible at a glance, right in the field.
- Export & backup — data belongs to the grower: export for analysis, back up and restore the whole database.
- Modern Android UI — Jetpack Compose with Material 3, with Dagger Hilt keeping the architecture testable.
- Engineered for trust — core logic built test-first, Crashlytics and structured logging in production, releases shipped through CI/CD with staged rollouts.
Where it's going
Soil Cub is now migrating to Flutter — one codebase serving both Android and iOS, which I design, build and maintain end-to-end. The same foundation will power WeatherCub, the companion app for EarthScout's weather station, next.