monitor the health of trees and fruit

Similar projects worth following
The OpenDendrometer solution provides insights on critical plant health information. It is a valuable tool for managing and studying plant growth.

OpenDendrometer can help answer questions such as:
Is a tree experiencing water stress?
Has tree growth rate slowed?
What are the long term growth behaviors of trees in a specific region, of a specific species, ...?

A dendrometer is an instrument used to measure diameter changes of trees and fruit. Small micrometer changes in diameter occur in trees and fruit throughout the day as part of healthy water transport processes. Comparisons of these daily diameter changes can help predict the onset and occurrence of water stress. Diameter measurements collected over weeks and months show the rate and magnitude of plant growth. In particular, weekly diameter growth data can be analyzed to understand if fruit growth rate is tracking well for harvest. 

The OpenDendrometer is a low-cost digital dendrometer with wireless data transfer capabilities. In simplest terms, it is device that measures, logs, and wirelessly reports changes in linear displacement. It uses commonly available electronics components and fabrication techniques to ensure that others can easily build their own OpenDendrometer. All design files and information are shared freely.

OpenDendrometer development unit STL 3D print models 2022-09-05

x-zip-compressed - 132.01 kB - 09/05/2022 at 15:35



OpenDendrometer development unit Arduino sketch 2022-09-05

ino - 6.12 kB - 09/05/2022 at 15:31



OpenDendrometer engineering notebook 2022-09-05

sheet - 10.64 MB - 09/05/2022 at 15:30


View all 13 components

  • Mad Dash to the Hackaday Prize 2022 Finals

    John Opsahl22 minutes ago 0 comments

    OpenDendrometer has advanced to the Hackaday Prize 2022 finals! The finals close out on the morning of October 23rd -> so just 20 days to finish the first OpenDendrometer prototype and add content to the project page!

    I have six big project improvements planned for the finals:

    • Custom PCB. A breadboard development unit no longer meets the requirements for extensive field testing. A custom PCB is required and I can't wait to get started.
    • New enclosure design. The field tests proved that the previous 3D printed PLA enclosure design does not withstand the elements (it softened at just 30°C). The enclosure will be a standard plastic IP rated, electronics enclosure with a few modifications.
    • Wireless data transfer. Manual data transfer over USB or with an SD card is not viable for locations that are difficult to access and for collecting data from a large number of units. Wireless data transfer has to be in place for the OpenDendrometer solution to scale easily.
    • Two days of field data. Additional field testing is the only way to prove out all the new features.
    • Three minute video. An video that introduces the OpenDendrometer, explains the user experience, and describes the architecture.
    • Build instructions. A complete set of build instructions and design files so others can build OpenDendrometer units.

  • Development Unit Files Posted

    John Opsahl09/05/2022 at 15:48 0 comments

    The OpenDendrometer development unit engineering notebook, 3D print models, and Arduino sketch have been posted to the files section of this project. 

    The engineering notebook includes the requirements list, a competitive analysis, a preliminary bill of materials, and a few design calculations.

  • Second Field Test

    John Opsahl08/24/2022 at 03:43 0 comments

    Data from the second field test appears to shows tree swelling at night and contraction during the day. So great to see the expected tree diameter changes reflected in captured data!

    The recording period for this second test was 48 hours. Day-night temperature swings of approximately 11°C.

    I observed some softening of the 3D printed PLC cover with just a cable tie wrapped around it. Not something I had anticipated I would have issues with at peak air temperatures of 30°C. This initially made me wonder whether the dendrometer displacement data was influenced by the coefficient of thermal expansion and/or softening of the 3D printed enclosure. Ultimately, I don't believe these were a significant influence. I would expect to see extended periods of positive displacement during the hottest hours of the day if CFE was an influence. 

    Though I intend to run a third test over a 72 hour period, the data from this development unit is looking promising enough to start on the enclosure upgrades and a custom PCB. 

  • First Field Test

    John Opsahl08/18/2022 at 02:19 0 comments

    The first field test of the OpenDendrometer breadboard development unit went beautifully. It appears that the device hardware and software operated as intended over the ten hour period. 

    The dendrometer displacement and battery voltage data collected during the test is plotted in the image below. The battery voltage behavior is as expected. More testing is required in order to make sense of the dendrometer displacement data.

    The dendrometer displacement data shows one 16 minute period of negative displacement around 100 minutes and one 12 minute period of positive displacement around 550 minutes. I expect to see cyclical swelling and contraction of the tree over the day due to water transport. It could be interpreted that the one drop and one rise was the expected cyclical behavior captured at very low resolution. Though I will want to see that behavior repeated across multiple days (at around the same times) before I will be confident in that interpretation. 

    I have come up with several theories why the dendrometer may not have measured a displacement larger than 0.02mm during the test. 

    • the tree only swelled and contracted in the micrometer range (0.001mm) so went undetected by the device
    • the tree did not swell or contract at all either attributed to the species of tree or this tree in particular
    • weather influenced the water transport of the tree; was overcast all day with a <10 degF temperature swing during the test
    • I didn't install the screw far enough into the tree so the dendrometer plunger was not fixed relative to movement of the tree. 
    • the dendrometer plunger has too much spring force behind it and causes the 3D printed case to deflect  
    • the bark is very "curly" on this tree, maybe the dendrometer plunger is not mounted in the correct location to detect the movements of the tree

    All are useful insights that will guide further testing. 

    Very glad to have gotten this hardware out on a tree so early in the development process. I would not say the unit it looks pretty but recording actual data is most important at this stage.

  • Breadboard Development Complete

    John Opsahl08/08/2022 at 14:08 0 comments

    The win for this week was completing the breadboard development and getting towards a proof-of-concept prototype. Several new mechanical, electrical, and software features came together to make this work.

    Mechanical. I redesigned the enclosure to better capture the digital tire depth gauge and spring. I increased clearances between parts to ensure that the design would still print well even on a hobby level 3D printer. I also made some modifications to the plate that sits over the digital gauge PCBA to allow access to the button pads. 

    Electrical. I added two 2N7000 mosfets. One to control power to the digital gauge. The other to achieve a "Units" button press. 

    Software. Successfully able to read the digital signal from the digital gauge, capture current time from the RTC, and record to a SD card. I have also incorporated a sleep routine for power saving. The RTC alarm gets set, Arduino goes to sleep, and the RTC wakes up the Arduino at the time of the alarm.

    The maximum amount of time that the device can be asleep for is 4 minutes. Any longer and the digital gauge itself goes into a sleep mode from inactivity. The "Units" are toggled from "mm" to "in" and back to "mm" each time the Arduino is woken up to ensure that the digital gauge does not go to sleep. 

    Unlike other calipers, the digital tire depth gauge does not store the last state prior to going to sleep or powering down. Instead, it resets to zero anytime it turns on. The only way to combat this and not allow reset to zero for the OpenDendrometer application is to ensure that the digital gauge always remains active. 

    Next Steps. Only remaining feature to add is the battery and battery voltage monitoring circuit. Thought is that once the voltage drops too low, cut power to the digital gauge and maybe some of the other components. Save enough power to transmit the data when wireless capabilities are added.

  • Breadboard Development Started

    John Opsahl07/25/2022 at 03:48 0 comments

    Big success for this week was being able to read and interpret the 24bit output signal from the digital tire tread depth gauge. 

    Then added a SD card and RTC module for data logging capabilities. Everything is looking good after I ran some initial functional tests for each module.

    I have decided to move away from the ESP32 initially because wireless data transfer isn't needed for the mechanical proof-of-concept. I have lots of experience with the Arduino Pro Mini data loggers so I can throw one of those together in a couple of hours. The most important thing at this stage of the project to get this device mounted on a tree and see if it can accurately measure tree diameter changes.

  • Cost Estimate

    John Opsahl06/11/2022 at 15:33 3 comments

    Initial cost estimate for a single OpenDendrometer is $70. The 3D printed parts are the largest contributor to total cost. So if you have access to a 3D printer, you could build an OpenDendrometer for around $45.

    I have planned to develop a custom PCB to make assembly very easy, but it's likely possible to make all the connections with jumper wires. Using jumper wires would shave an additional $8-10 off the total cost. 

    All costs for purchased items in the table below are based off of list price on I would guess that sourcing all of the purchased components from Aliexpress could reduce total cost by 20-30%. The downside is that lead time for items purchased from Aliexpress is usually somewhere between 3 and 8 weeks.

    Qty Description Cost Per Unit Total Cost
    1 digital tire tread depth gauge $8.99 $8.99
    1 ESP32 microcontroller $6.66 $6.66
    1 lithium battery, 1800mAh $7.18 $7.18
    1 micro SD card module $1.00 $1.00
    1 micro SD card $4.99 $4.99
    1 DS3231 RTC module $3.40 $3.40
    1 logic level shifter, 4 channel $1.60 $1.60
    2 2N7000 mosfet $0.08 $0.16
    1 custom PCB $10.00 $10.00
    1 custom 3D printed parts $25.00 $25.00
    1 screw, 200mm $1.00 $1.00
    Total $69.98

  • 3D Printed Weatherproof Enclosure

    John Opsahl06/08/2022 at 04:38 0 comments

    I have always thought of FDM 3D printed parts as somewhat porous. As though defect holes in the wall of the part are inherit to the hobby level 3D printing process. I assumed that some kind of sealant would need to be applied to achieve any level of water ingress protection. Recent testing of the first OpenDendrometer enclosure prototype has shown that these assumptions are not true. 

    Now, I am only trying to develop a weatherproof 3D printed enclosure (some might call it water resistant); not a waterproof one. So the requirements are less challenging, but I still expected to encounter issues. Incidentally, I think I achieved a weatherproof 3D printed enclosure on the first iteration.

    Really all I did was to copy the foam cord water seal strategy used on almost all small ingress protection rated electronic enclosures. It involves a foam cord gasket between the case and the cover. With all fasteners between case and cover on the outside of the gasket seal and features in each to either capture or compress the foam cord.

    To test the seal, I put a piece of tissue paper inside and placed it in a bowl of water. After five minutes in the bowl of water -> voila, the tissue paper was still dry. 

    Even without applying any sealants to the 3D printed parts, it achieved a 5 minute waterproof seal. Which should be more than enough for just a weatherproof enclosure that will only see occasional precipitation. 

    I suspect that UV exposure may damage the plastic enough overtime to cause water ingress, but all testing is going to be fairly short at less than a month. I will worry about how to combat long term UV exposure once the design passes system level testing. 

  • Preliminary Competitive Analysis

    John Opsahl05/15/2022 at 20:24 0 comments

    The following table details existing commercial, academic, and DIY dendrometer solutions: 

    Source Model Link
    Channel Technology Circumference DC2 & DC3
    Channel Technology Circumference Dendrometer 1 (DC1)
    Channel Technology Fruit and Vegetable Dendrometer (DF)
    Channel Technology Root and Aquatic Plant Dendrometer (DRO)
    Environmental Measurement Japan MIJ-02 Rotary Type3
    Wafer Sensor, Inc. Automated Dendrometer D6
    ICT International DEN1 Dendrometer ZN12-O-2WP Point Dendrometer
    Environmental Measurement Japan Absolute Linear Dendrometer
    kinasmith Dendrometers!
    Phytech Fruit Dendrometer
    OregonState Dendrometer

  • Initial Component Selection

    John Opsahl05/15/2022 at 20:07 0 comments

    Displacement Measurement. A digital tire tread depth gauge is the lowest cost linear displacement measurement solution that I have found so far. The most important consideration is that it has the required resolution of 10um and minimum range of 12mm. Fortunately, others have already determined how to use an Arduino to log length measurements from these digital gauges -> The only real challenge being that these devices use 1.5V logic so a logic level shifter is required. 

    Microcontroller. The ESP32 is the obvious choice to meet the low-cost and wireless data transfer requirements of the OpenDendrometer.

    Real Time Clock. I have used DS3231 RTC modules in the past for data logging projects with great success. The primary reason for using the DS3231 module is that the ESP32 internal clock is not accurate enough for the month or greater operational period. The second reason is that I will likely be configuring the DS3231 to wake up the ESP32 from long periods in sleep mode in an effort to minimize ESP32 power consumption.

View all 11 project logs

Enjoy this project?



Jacob David C Cunningham wrote 08/18/2022 at 14:21 point

haha gotta love the breadboard, ship it!

  Are you sure? yes | no

gregoryaborys wrote 08/04/2022 at 15:53 point

That's amazing. I really want to do this. My electronics skills are poor but it will give me a reason to print more with ASA and TPU. 

  Are you sure? yes | no

John Opsahl wrote 08/04/2022 at 18:04 point

I didn't even know outdoor rated 3D print filaments were a thing. 3D printing an integrated gasket hadn't crossed my mind yet either. Some fun ideas to explore. Thanks for the comment.

  Are you sure? yes | no

gregoryaborys wrote 08/04/2022 at 18:15 point

Thanks for posting your work!  The discount filament company I like just started carrying ASA.  I'd print the TPU separately and use it in to help hang brooms and etc.  Great thing about 3dp is that we can make the container look like whatever we want!

  Are you sure? yes | no

robomaniac wrote 08/04/2022 at 04:34 point

Nice project. Here are comments regarding the "foam cord gasket". I know you are making this a "splash proof" but I suggest you glue the end of the foam cord together with CA glue. Water will get in by there. Remember that the electronic heat up while rain is cold, this will create pressure and water will find it's way in.  Condensation will be the big problem so you can conformal coat all the electronic. 

also a oring compress, so you need to make room for the compression of the oring. In your case it's tight and can't compress well enough. There is lots of documentation and table depending of the oring diameter. Oring are complicated!  I would also place the oring in the cover and not the base that hold the electronic. By doing so, it's easier, faster to print the cover to fine tune the oring compression then the entire base. oh and you technically need more screws to have even pressure of the oring. Will all these tips it will be IP54 :P 
except the hole of the gauge! Grease would help seal.
good luck

  Are you sure? yes | no

John Opsahl wrote 08/04/2022 at 18:34 point

I am a mechanical engineer by education and you definitely hit on my favorite mechanical challenge of this build. 

Great suggestion on gluing the ends of the seal. Hadn't thought about what I was going to do there yet. Gluing is easy.

Once I have a working prototype, I am going to put it outside in the Missouri heat and humidity and see what fails first.

That is a great idea to put the o-ring on the cover. Already need to increase the stiffness of the cover so the additional depth to accept the o-ring has no downsides.

I was planning to have grease at the hole where the gauge goes through. Glad to have a second opinion there.

Thanks for sharing.

  Are you sure? yes | no

robomaniac wrote 08/04/2022 at 18:59 point

I am an electrical engineer and I learn all that from my mechanical engineers coworker. Even the intern was working with o-ring in the shop.
I just finish the design of a lora (helium hotspot) outdoor enclosure. I had the oring thing all wrong in my first version. Then I brought it at work during lunch break and the learning began!  My enclosure is big and what I have inside cost lots of money so I want to make sure it's waterproof. I also think my expectation are high, I wanted IP67 and was dunking the entire enclosure into my pool. LOL Even added a gore vent to equalize pressure.

Then I realize that IP67 is harsh for 3D printing and for my first design. So I now test with 3min under garden hose and try to be IP54. I just want to be rainproof but I do like the challenge to make it the best. I decided to stop messing around and finish the project because it's good enough. Will keep that challenge of been IP67 for a other time.

to increase the stiffness of my cover, I will use carbon fiber. I have a drone design that will get cut by cncmadness and will send the cover at the same time. It's not not big sheet of CF but just a 1cm border where the screws are.  The flex definitively does not help for good seal.

I have lots of trouble to print with ASA so will use PETG while I figure out how to print huge parts in ASA. Anyway lots of fun and most importantly lots of learning.

  Are you sure? yes | no

neilh wrote 08/03/2022 at 18:47 point

Fascinating. Of course the protocol to the sensor looks to be intriguing - I'm assuming its digital. 

I wonder if you've come across  they have an Arduino Board (AVR1284) and software to collect data and then a modem Xbee slot, with modem drivers, and then publishers to send to various destinations including   

I've  am  creating a KiCad board for an extension board  

I'm also in the process of porting the ModularSensors to the Seeed WioTerminal (SAMD51 CortexM4), on

  Are you sure? yes | no

John Opsahl wrote 08/04/2022 at 00:19 point

Correct, the signal from the digital tire tread gauge is digital. You can find several tutorials online that detail how to read the digital signal from these with an Arduino. 

I had not heard of before. I admire anyone trying to advance the accessibility of environmental sensing in the conservation space. Thanks for sharing. 

  Are you sure? yes | no

Danie Conradie wrote 07/25/2022 at 14:31 point

Interesting project. Does the bar attached to the side of the enclosure in the renderings hooks around the branch or fruit? You could add a temp sensor to check that measurements are isn't getting affected by the enclosure expanding or contracting

  Are you sure? yes | no

John Opsahl wrote 07/25/2022 at 18:39 point

Thanks for your interest Danie! That "bar" is a wood screw. The device is mounted to a tree using the screw. I have some concepts on how to attached this device to a fruit, but the plan is to see if it works on trees first. Good point on the expansion and contraction of the enclosure being a consideration. That is definitely going to come into play on hot days at +/-0.01mm of accuracy. I believe the RTC module I am using for the breadboard unit has a built-in temperature sensor.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates