placeholderfeatureplaceholdersliderplaceholderthumb
DIY Tree Talker | Software

DIY Tree Talker | Software

Authors: Tug F. O’Flaherty, Xinyue Xu, Gerard Roma, Georgios Xenakis, Anna Xambó

Screenshot of the sensor data using Chart.js with temperature (red), humidity (blue), soil moisture (green) and displacement (yellow).

Backend

We created a a customised web server using Express.js. The server allows sharing the data produced by the tree talkers with the general public. The server is developed as a RESTful API, providing different functionalities through REST end points, corresponding to HTTP URLs. Each tree talker posts a JSON file at regular times to a dedicated end point that the web server catches and stores in the server’s file system [1].

Frontend

For each individual tree talker unit several REST end points provide data management functionality, such as checking the latest JSON file sent by the unit; listing all the generated JSON files; and verifying all the files as they are sent. This is useful to confirm that the unit works and that the values sent are correct. The JSON file data structure looks like this:

{ 
``timestamp": ``2025-06-12 19:40:22", 
``temperature": 17.89, 
``humidity": 54.60, 
``soilmoisture": 60.03, 
``displacement in micrometer": 18.59 
}

Each unit has a public end point which allows visualisation and sonification of the sensor data. Visualisations were developed using Chart.js library. For the data sonification, we are exploring different mappings ranging from simple to complex.

🔥 We are currently running a participatory design user study. We will share the software code of the web server and weather-to-sound data soon on our GitHub project webpage.

[1] We will release the code soon. At present it can be tested here, which serves the latest JSON file from one of the units: http://159.65.116.195:3000/stf/northern_2/

Further Development (updated on 24 Dec 2025)

Following a second, separate participatory design user study, further development was made to the DIY tree talker software, based on the thoughts and ideas provided by these additional participants. Upon development, this software update was subsequently provided to participants of both user studies, to obtain the users’ thoughts and feedback. A summary of the additional features added to Version 2 of the software are listed below.


Backend

Reliability: Fallback, archived data is returned to requesting client, should the streamer data be unavailable.
Web Sockets: Socket.io support, to provide real-time, live data updates to requesting clients.
Email Alerts: Notifications via email if DIY tree talker device stops streaming data, or displacement value is out of expected range.

This additional backend uses Express.js, Socket.io and Nodemailer, utilising and extending the core functionality offered by the originally-developed backend.


Frontend

New UI: Icon-based, dashboard-style user interface, intended to simplify user interaction.
Additional Presentations: Further visualisations (bar chart, dials, forest animation scene) and sonifications (musical instrument ensemble, music with ambient sounds) to benefit differing learning preferences and data interpretation.
Greater Personalisation: Fully-customisable data presentations to benefit user interaction.
Help and Support: In-built tool and data support information, to aid usage and interpretation.

This new frontend, named Dendrostream, uses React and Bootstrap, with visualisations using p5.js (animations) and d3.js (charts), and sonification using the Web Audio API. For a complete list of technologies and works used, please visit the Dendrostream’s Acknowledgements webpage.

For further information regarding the Dendrostream tool, please visit the Dendrostream Master’s thesis blog post.

🌐 Explore the Dendrostream web-based tool: https://stf-sv-tool.pages.dev
💻 View the frontend source code: https://github.com/sensingtheforest/dendrostream
⚙️ View the backend source code: https://github.com/sensingtheforest/dendrostream-api

Update Log

  • 24 Dec 2025: Added “Further Development” section with latest backend and frontend implementation details.
  • 27 Jun 2025: Original publication. Covered initial backend and frontend implementations.

Partners

Collaborators

streamup icon white icon white icon