← Return to the index
§ man18 May 2023

UmbrellaPeat

An end-to-end peat bog monitoring service: sensor deployment, cloud ingestion, and a cross-platform app that turns field data into heatmap timelines.

Overview

Year 3 MEng group project, completed during my exchange in the UK. We built UmbrellaPeat, a suite of products that walks peatland researchers through the whole loop: deploy a device, collect measurements, push them to the cloud, visualise them, and keep the fleet healthy. It took 1st Prize in the Visitor Category at the group project tradeshow.

What it does

  • A cross-platform mobile app in React Native that registers devices, pins them on a Google Maps layer, and guides the researcher to each node in the field
  • A Firebase + Google Cloud Functions + Cloud Storage backend that ingests sensor readings and runs the pipeline without a server to babysit
  • A secure storage and retrieval layer so researchers can query their own data without wrestling with raw buckets
  • A heatmap timeline view that turns the ingested data into something a researcher can actually read at a glance, instead of a CSV dump
  • A maintenance flow so devices in the wild can be found, serviced, and re-deployed without losing their history
Demo walkthrough

Why it matters

Peatlands are one of the largest terrestrial carbon stores and one of the more fragile ones. The goal was to take as much friction as possible out of the monitoring loop so researchers spend their time reading trends in peat conditions, not reading CSVs. UmbrellaPeat is the scaffolding around that: a user-friendly surface over a reasonably serious data pipeline.

Stack choices

Two constraints drove the tech picks: scalability and multi-platform reach.

The mobile app is React Native so a single codebase covers iOS and Android, keeping the tool accessible regardless of what phone a researcher brought into the field. On the backend, Firebase and Google Cloud Functions scale with demand without anyone paging in to resize a VM, which matters when the user base is small today but the deployment model expects it to grow.

At the project's scope, the whole service fits inside the free tiers of the cloud services it uses. A research tool that costs almost nothing to keep running is a research tool that actually stays running.

On the device

UmbrellaPeat sensors live at remote peatland sites that are slow and expensive to reach. Every maintenance trip is labour intensive, and there is a second cost on top of the logistics: walking out to a device disturbs the bog around it, so measurements taken right after a visit have to be discarded. The single biggest lever on how often anyone has to make that trip is battery life.

So the firmware was built around two goals: robustness over long uptimes, and aggressive power conservation. The device is designed to sit in the field for extended periods and to shut itself down whenever it is idle.

The power-saving approach is a little unconventional for an Arduino-based device. Instead of the usual pattern of doing work inside loop(), every operation lives in setup(). On boot, the device runs the full cycle (wake, measure, store, housekeep), then powers down for a set interval, then restarts from scratch. The "loop" is the boot itself. RAM state does not survive a cycle, so all measurement data and configuration is committed to on-board flash before shutdown and read back on the next boot.

Clock drift is the obvious failure mode of a device that is continually restarting. To keep timestamps honest, the firmware measures how long the active portion of each cycle takes and subtracts it from the idle interval before sleeping, so the wall-clock cadence stays close to what the schedule says it should be.

The other design discipline was modularity. The subsystems on the device, and the services in the cloud, were built to be independent enough that one could be swapped, fixed, or upgraded without a cascade of changes in the others. That is the boring version of the team lesson: the pieces only fit together cleanly if the seams between them are taken seriously up front.

UmbrellaPeat appUmbrellaPeat app

Winning Group!Winning Group!

Infra OverviewInfra Overview