Categories
PROJECTS

Vitalitree: Street Tree Health Monitoring

Authors: Ben Aiken, Henry Feinstein, Johnathan Clementi, and Mariya Lupandina

Project Description

Vitalitree is a street tree health monitoring device that aims to increase the survival rate of street trees and provide more granular information on environmental conditions at the neighborhood level. The hope is to enable more efficient tree management practices and to make the public more aware of the environment around them since tree health is human health.

  • Vitalitree_On_Tree

Project Motivation

In recent years, cities have made significant financial and manpower investments in tree planting programs to combat Climate Change and rising urban heat and to improve the quality-of-life of urban residents. For example, TreePhilly aims to reach 30% tree cover in every Philadelphia neighborhood – since, today, some Philadelphia neighborhoods have as little as 2% cover, according to a 2020 study.

However, while tree planting programs are essential, many are judged as successful solely based on the number of planted trees, even though compounding urban environmental stressors cause many of these trees to die within a couple years of being planted. As such, the average lifespan of a street tree is 7 to 20 years. Such a lifespan will do little to reach the goals set out by planting programs since the average tree will only begin providing substantial environmental services at around 40 years. Only at this maturity can it absorb a significant amount of water during rain events, effectively sequester CO2 and so on. Not only does this mean that street tree planting is not reaching its maximal efficacy, but the city is also wasting money since the average cost of planting a street tree is around $1,000.

As such, we believe that urban tree planting programs should incorporate improved tree monitoring practices to ensure that baby street trees experience optimal conditions in their early lives. Currently, Philly deploys Philadelphia Tree Checkers, which is a fleet of volunteers, once a year to measure street tree health and growth by hand. In addition, Seattle has a similar initiative within their park’s department, but just like many others, they have noted that their tree management would benefit from more granular information.

Project Goals

The goal of this project was to create a compact device that could be attached to a street tree and would sense several environmental factors that are a proxy for tree health. The device should also include a real-time display that communicates the tree’s condition (and the surrounding environmental conditions) to pedestrians. Finally, the device sends data to a web-based dashboard that displaces trends throughout the city.

With Vitalitree, cities would be able to improve monitoring practices by collecting specific information about each tree’s condition without needing more manpower and could get a better sense of the efficacy of tree planting programs. They then could assess the most common issue and create management plans to address them. As such, the city could use their resources more efficiently. In addition, monitoring environmental factors as a proxy of street tree health will increase resident awareness of the environmental conditions in their neighborhoods. Collecting data to support action is an important step for advocating for improved environmental conditions.

Vitalitree conceptual diagram

As can be seen from the diagram and picture above, the Vitalitree prototype is a small, heart-shaped unit which contains several sensors as well as two Arduino boards to process, display, and send the sensed data. The unit is mounted on the tree at approximately chest height so as to be readable by both adults and children. Some sensors are contained within the heart itself, while others are embedded in the soil or the foliage of the tree.

Environmental Proxies for Tree Health

Rather than focus on direct measures of tree health–which can be difficult to achieve in a way which is both effective and cheap–Vitalitree relies on sensing environmental conditions that serve as a proxy for whether the tree is likely to be healthy. This approach is easier than measuring tree health directly, and has the added benefit of providing granular insights into general environmental conditions for anyone who engages with the product. Given that one of Vitalitree’s primary goals is to increase awareness of urban nature among city dwellers, providing environmental information helps bridge the connections between tree health and human health in an accessible way. 

Each Vitalitree unit is proposed to sense the following environmental conditions associated with tree health:

Soil moisture: Street trees, like any plant, require a certain balance of water in the soil to thrive. Along roads and in small soil boxes, that balance is more likely to be altered, so up-to-date moisture readings are important to keep track of.

Soil compaction: When soil is too densely packed, it inhibits a tree’s ability to grow roots and absorb water and nutrients at the proper rate. Soil compaction is one of the most significant challenges street trees face due to the weight of built structures and passing vehicles which slowly compress soil over time. 

Soil pH: Soil pH serves as a proxy for the nutrients the tree is able to receive through the soil. In urban environments, many contaminants can alter the level of soil acidity, preventing the tree from accessing the nutrients it needs. 

Soil salinity: Salinity is another measure of soil nutrition, with trees only able to survive with a certain amount of salt in the soil. This is a particular challenge in colder urban areas where salting the roads in the winter is common, as salt is frequently sprinkled or kicked into the soil street trees are planted in. 

Temperature: Trees can typically sustain life across a large range of temperatures. However, some urban areas with few green spaces and a high prevalence of paved surfaces experience the “heat island effect” in summer months, with abnormally hot temperatures created by those heat-reflective conditions. Heat islands can seriously damage tree tissue, particularly in the foliage. 

Air quality: Urban areas often have a high level of particulate matter in the air, created from pollution from vehicles, construction, and other sources. These particles can settle on leaves and impede the photosynthesis process, inhibiting tree health. 

As can be seen from the above list, many of the environmental factors which threaten tree health are those very same stressors on human health in the city; for instance, heat islands heighten risk of heat stroke and particulate matter in the air can damage lungs. Measuring and publicizing these environmental conditions can help raise awareness of the connections between the lives of humans and trees in the city, hopefully leading to greater support for policies and investments which improve urban environments across the board.

Project Operations

Operational Diagram

Operational diagram for Vitalitree

The diagram above outlines the general operating flow for the Vitalitree unit. Environmental factors–as well as near-infrared light, a measure of foliage health–are measured using a series of sensors connected to the central unit (in the case of the prototype, a pair of Arduino boards). The data is then aggregated in the central unit to generate a “health score” for the tree. The score is determined using predefined ranges for each variable reflecting what ideal conditions for a healthy tree would be. 

The data is then further processed in three ways. Firstly, it is sent to a display on the tree itself, which outputs an accessible message about the health of the tree, including a face to show the tree’s “mood” as well as information about the healthiness of the conditions. The display unit also includes RGB LEDs to display the status of each individual environmental variable. The data is also sent to a cloud-based database and displayed on a publicly-accessible dashboard for those users who are interested in more detailed information about the data collected by the program. Finally, the Parks and Recreation Department is alerted if any of the environmental variables are given “unhealthy” status so they can send a ranger to help alleviate the conditions the tree is experiencing.

Check out the Vimeo video below to see Vitalitree in action!

Dashboard Wireframe

The Vitalitree dashboard will allow cities and members of the public to quickly understand local and global trends of street tree health and environmental factors. There will be several views, including a city-wide, neighborhood-wide, and tree specific pages, shown below.

The city-wide view will show an aggregated view of tree health and tree planting efforts. The user can then click into a neighborhood and view neighborhood level trends.

Finally, users will be able to click into individual Vitalitree deployments within the neighborhood and see real-time environmental conditions at that tree and trends in those data over time.

Next Steps & Deploying Vitalitree at Scale

As it stands, the Vitalitree prototype achieves many of the project’s original goals. It is contained in a small, portable unit with an accessible display, measures several environmental variables effectively, and can send data to the cloud to be displayed on a public dashboard. However, several additional steps need to be taken before Vitalitree can be deployed at scale. 

  1. Examine sensor quality and data fidelity: The sensors used in the prototype, while affordable, have some issues with durability and consistency of measurement. Other sensor choices should be explored to ensure that the data produced by the unit is as high-quality and consistent as possible over a long period of time. 
  2. Weatherproof components and housing: Vitalitree units deployed in the city will have to withstand the elements for long stretches. The current prototype is not weatherproofed or durable, so work is required to increase the durability of the product before it can be used. 
  3. Move to a larger micro-controller to decrease complexity: Due to the limited pin capacity of standard Arduino Uno boards, the prototype was limited in the number of components it could control. To deploy Vitalitree at scale, we would need to utilize an Arduino Mega, or switch to a custom printed circuit board (PCB) design. 
  4. Deploy a robust LoRa Network, or Switch to Cellular: Our prototype utilized direct LoRa transmission, however to deploy Vitalitree at scale a large LoRa network of multiple LoRaWAN gateways would be needed to capture the data transmitted from each deployed Vitalitree. While LoRa does not need line-of-sight to be effective, it may not fully work when deployed in an urban environment where there are many obstructions. For this reason, it may be necessary to transition to cellular transmission.

The completion of these four steps would create a more robust Vitalitree prototype ready to test for a longer period of time–and ultimately, a final product which can help save both city resources and the lives of street trees around the country. By linking the distribution of Vitalitree units to tree-planting efforts as well as targeting neighborhoods with particularly notable environmental issues, this product can make a thorough and targeted impact on the wellbeing of trees and people in urban environments.

Technical Specifications

Parts

This setup utilizes two arduino uno boards, but would be far simpler if a larger board, like the mega for example, was used.  Additionally, the following pages provide a more indepth walkthrough of different components: LCD display, soil moisture sensor, NIR sensor, and LoRa transmitting and receiving.  Finally, Elegoo Lesson 16 provides helpful instructions for the 74HC595 power shifter.

The complete parts list is as follows:

Sensing:

  • 1 x Arduino Uno Board
  • 1 x DHT11 Temperature and Humidity module
  • 1 x Adafruit STEMMA Capacitive Soil Moisture Sensor
  • 1 x JST PH 2mm 4-pin to Male Header Cable/I2C STEMMA Cable, 200mm
  • 1 x Qwiic AS7263 NIR Spectral Sensor
  • 1 x Qwiic Shield for Arduino
  • 1 x Qwiic Cable
  • 1 x Grove Dust Sensor
  • 1 x Grove Cable
  • 3 x F-M wires

Display:

  • 1 x Arduino Uno Board
  • 1 x LCD1602 module
  • 1 x Potentiometer (10k)
  • 5 x RGB LEDs
  • 1 x 74HC595 Power Shifter
  • 10 x 220 Ohm Resistors
  • 9 x M-M wires
  • 30 x F-M wires

Transmitting:

  • 2 x Heltec WiFi LoRa 32 V2 Boards
  • 2 x M-M wires
  • 2 x F-M wires

Shared:

  • 1 x Small Breadboard
  • 1 x USB Battery Pack

Wiring

Given the many components of the device, the wiring is quite complicated.  Similar to the parts list, this section is split into three categories: sensing, display, and transmitting components.  Wiring is far simpler if an Arduino Mega is used instead of two Uno boards.

Sensing:

The NIR Foliage Health Sensor uses a Qwiic connection and connects to the Sparkfun Qwiic shield directly, which should be on top of the sensing arduino.

The DHT11 Temperature and Humidity module has three relevant pins, from left to right:

  • VDD: Connects to a power supply (3.5~5.5 V)
  • DATA: Connects to a pin on the sensing arduino, in this case pin 2
  • NC: An empty pin not used in this tutorial and not included on all models of the DHT11
  • GND: Ground

The Grove 2.5 Dust Sensor has three relevant pins.  The black wire connects to the ground, red to power, and yellow (data) to pin 3 of the sensing arduino.

Finally, the soil moisture sensor has four pins, from left to right:

  • GND (black): Ground
  • VDD (red): Connects to a power supply (5.5V)
  • SCL (green): Connects to the A5 pin
  • SDA (white): Connects to the A4 pin

Display:

The LCD1602 module has 16 pins and must be wired carefully. Orienting the LCD with the pins on top, from left to right:

  • VSS: Connects to the ground
  • VDD: Connects to a power supply (+5V)
  • VO: Controls the contrast of the LCD. This is connected to the potentiometer.
  • RS: Register Select, which connects to pin 7 in this tutorial and determines where the LCD memory is written.
  • RW: Read/Write that selects read or writing mode, connected to the ground here.
  • E: Enable, which directs the LCD module. Connected to pin 8.
  • D0-7: Pins that read and write data. In this tutorial D4-D7 will be connected to pins 9-12 of the board.
  • A: Controls the backlight, connected to the power supply.
  • K: Controls the backlight, connected to the ground.

The 74HC595 power shifter powers 4 of the RGB LEDs with the following connections, from left to right:

  • 1 (Top left): Power (5.5V)
  • 2: Connects to an LED.
  • 3: Clock Pin connects with pin 6 on the display arduino
  • 4: Ground
  • 5: Data Pin connects with pin 13 on the display arduino
  • 6: Latch Pin connects with pin 5 on the display arduino
  • 7: Power (5.5V)
  • 8: Left empty
  • Bottom row: The first seven of these pins connect (via resistor) to the LED leads.  The eighth pin connects to the ground.

Since the power shifter can only power 4 LEDs, the fifth is powered through the board.  It is important not to connect the LED to the board without a 220 ohm resistor for each lead.  Since the device will only display red, green, or yellow (both red and green on together) the blue lead is not needed on any of the LEDs.  

Transmitting:

The two arduinos and the LoRa are all connected to share the measurements taken by the sensors via a single row of the breadboard.  The sensing board connects via the TX (transmit) pin and the display and LoRa connect via the RX (receive) pin (fourth from the bottom left of the LoRa).  Additionally, the LoRa transmitter is grounded with the bottom left most pin.  It is not possible to upload code while the boards are connected via the transmitting breadboard row is not possible, the boards must be disconnected first.

Wiring all of these pieces together is not easy and may require electrical tape to cover the loose pins and LED leads.  Ultimately with everything connected it should look something like the image below.

Code

The following code takes measurements from the DHT, NIR, soil moisture, and Grove Dust sensor and sends the measurements to the display board.  It should be loaded onto the sensing board.

The second set of code should be loaded onto the display board.  It receives the measurements, turns on the corresponding LED to either red, yellow, or green depending on the value, and calculates a health score, which determines which face and statement are displayed on the LCD.

Thank you!

Thank you for learning about Vitalitree! This has been a very rewarding process and we had a ton of fun working on this project. We’d like to thank Dr. Allison Lassiter, Logan Weaver, and our classmates for all of their help and guidance throughout the semester and with Vitalitree.

Works Cited:

Leave a Reply

Your email address will not be published. Required fields are marked *