Viridi - Creating a Proof of Concept Environmental Monitor
Introduction
As society grows more and more connected we all see information on a daily basis from all over the world. Inherently humans struggle to visualise the largeness of things, try to imagine a million people, or a million of anything really, and your brain simply won’t be able to picture it. This disconnection goes both ways, we struggle to relate things that are talked about globally, in my interest namely climate change, to their local effects. That’s where Viridi comes in. With this final year project I hoped to create a proof of concept for a device that would allow you to open your phone and see the state of your environment on a local level. I wanted to help people understand what the environment they live in is truly like, to see effects beyond the visible and understand how our actions have impacted the planet we call home.
Viridi was heavily inspired by the Sensing the Forest project and its goals, and made possible by support from the Sensing the Forest team and the team at the EECS Electronics Lab with extra thanks to Kok Ho Huen for his support.
Development
The goal of this project was to develop a sensor module for gathering environmental data and a connected application to allow users to easily explore and interpret the data from their own local environment.
The development process for Viridi was not a straightforward one. I encountered obstacles from broken dependencies to a complete lack of mobile support for some of my designs, but through the process I learnt a lot. In my opinion, the end result was functional, easy to use and served as a solid proof of concept for my idea. And it accomplished this whilst also being my first time creating a mobile app and my first time putting together a sensor system this complex.

Sensor Setup
The Sensors are controlled by a Firebeetle ESP32 programmed in Arduino, wired as shown below and soldered to perfboard:

The ESP32 polls the environmental sensors collecting temperature, humidity and air quality data which it then sends to a ThingSpeak web server. ThingSpeak is a web server platform focused on managing sensor and other data for IoT devices, other web hosts could also be used for the purposes of this system but ThingSpeak was ideal for the scale of this project and is designed with IoT devices like this one in mind.
From the web server the data is then sent to a connected mobile application where it can be displayed to and interacted with by the user.
Mobile Application
The companion mobile app was written in React Native making use of Expo for quick prototyping. I decided to name the app, and its connected device, Viridi, from the Latin word Viridis meaning deeply or vividly green.
The app was designed in Figma, a platform containing many useful tools for user interface design. The design was focused on novelty and a clean natural aesthetic and designed around ease of data access, and educating the user. Each metric leads to an informative modal that lets the user know what it actually means and the “Past Data” page allows the user to see statistical data and analyse trends for each metric to see the longer term effects on their environment. The designs for Viridi and other projects I have worked on can all be found on my pinterest page.

Conclusion
This project was a learning experience for me and one which I thoroughly enjoyed. I am proud of how it turned out and it was very fulfilling exploring an issue I am passionate about and developing a solution all from concept to finished product.
All of the code for this project, along with the wiring layout can be found on my Github Page (with certain information removed or obfuscated so the application can easily be adapted for your own use), the data collected during the user testing of the system can be found here. My full report on my project and subsequent testing can be found here and a video summary of Viridi along with some of my other projects can be found on my youtube channel.