Measuring eletrical impulses with Arduino

I'm working on a project where I measure the electrical impulses from trees and present this information (certain boundary values/ peaks) with LED lights.
Do you know what kind of probes I'd have to use and if I can connect these to an Arduino to then connect the LEDs after programming their response?

What voltage are these electrical impulses and how are they produced by the trees ?

the values range to 150mV with a 0.1mV step
here's a video example using a voltmetre although I dont know the sensitivity of the probes

Since Arduino ADC is 10 bit and it can read up to 5V, the minimum readable unit is 4.9mv (5/1024) on it´s Analog ports. Thus, between 0 and 150mV you will have ~ 30 readable values.

In order to read 0.1mV you´ll need an amplifier.

My initial impression was that this was some kind of a joke, but this is a real phenomena.

e.g. Effects of Electrode Material on the Voltage of a Tree-Based Energy Generator

The voltages seem to be in a range that can be measured directly using an Arduino without an amplifier. The Arduino would have to be battery powered or otherwise isolated from ground.

Thanks! Do you know what kind of test probes and electrodes I'd have to use and how I'd connect them to the Arduino?

What is your application?


reading voltages in trees

electricity harvesting trees

Are you looking at harvesting energy from the tree?
Doing an ECG of electrical activity in the plant?

Tom.... :smiley: :+1: :coffee: :australia:

reading the voltage and using this raw data to program a response in LEDs

No, actually I don´t know about the probes, since 0.1 mV is a very accurate measure.

I´ve done an experiment using common wire tho detect if a cloth is getting wet. The connections I used were:

(+) probe connected to Arduino +5V (assuming an UNO or another 5V signal board)
(-) probe connected to any Analogic Port of Arduino
a pull-down resistor from this Analogic port to GND, to ensure a zero value reading if no imput comes from the probe.

Thanks! It doesn't have to be as precise as a 0.1mV step, just sensitive enough to record values up to 150mV. Would you know about this?

Well, the requirements are getting looser. :grinning:

For sure an Arduino can read values up do 150mV. As I told you before, in theory, from 0 to 150 mV, the Analogic Port of the Arduino can detect aprox. 30 different states/steps, each one 4.9 mV far from each other.

I would try mounting the circuit that I mentioned (which is trully naive, since I´m not an expert in electronics) and see what it can get in the Serial Monitor. If you´re ok with the readings, then you can go ahead and do all the LED stuff of even recording the values in a data logger.

An impulse needs to have some reference for any measurements. Where will you put a second electrode that you will reference the impulse to? Will you connect to a root? Will you connect to a leaf? Will you reference the earth the tree is rooted in?

Sorry, I'm quite new to this so some things I say are going to be a bit out of place :smiley:
I do need a step of 0.1mV but I thought maybe this could be sorted by using an amplifier? (I phrased this completely wrong before, sorry)
Also, what probes did you buy to connect to Arduino? I'm a bit lost as to what kind of components can be used with Arduino to measure electrical impulses.

I think you may need some help of an electronic engineer to deal with the impulses (some sort of signal processing), probes specs and the amplifier.

My experiment was only to detect voltage changes (any amount of it, because I was just interested in wet/dry states) and I used common thin wires as the probes.

the first electrode is connected to the tree trunk (stainless steel screw)
the second can either be connected to the soil or to the same tree at a different height, for example.

i'll keep researching.
thanks for the help!

1 Like

With an AVR-based Arduino like the Uno, you can use the 1.1V internal ADC reference to get ~1 mV resolution (1024 steps from 0 to about 1100 mV).

The reference is stable but not accurately calibrated, and can range from about 1.000 to 1.200 V, so you may want to calibrate it.

You may need to use shielded probe cables to reduce external electrical noise.

1 Like

Watching the linked video does not show "electrical impulses" as the OP indicates. It seems to show DC voltage, but is difficult to tell what the meter switch is set to.
Be aware, the moisture and sugar and other chemicals in the sap of the tree makes it conductive. Trees have been used for vertical antennas for high frequency radio communications. Any tree near electrical power lines will also have a small induced voltage, just like a metal wire held vertically near a power line.
If the OP is interested in biologically generated voltage, not impulses, then stray voltages must be expected.

You can amplify by a factor of 7 with an op amp Non-inverting amplifier and use the INTERNAL reference on the Arduino.

(You dont say which arduino you are using, it would make a difference)

That will give you a range of
150mV * 7 = 1050mV = 1023 (approx) from the ADC
and a resolution of 1050 / 1024 = 1.025mV

You can improve your readings like this

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.