Agricultural Field Crop Irrigation Monitor




Introduction: Agricultural Field Crop Irrigation Monitor

Another weather station... of sorts. This is more for water in the soil, garden etc. It beats walking around with a tensiometer any day. It is a fantastic tool and when you are chasing around frantically in the summer it cannot half save you some time. I have tried to build it with more industrial components so it should last, so for it does seem to.

This will:

  • Measure the capacitance and temp at the surface.
  • Measure the Temp and Humidity (wherever you stick the sensor, please not there).
  • Measure the soil resistance at depth and convert it to centibar.
  • Measure the temperature at depth.

Remote monitoring of field conditions is starting to become more prevalent with the IOT drive. I wanted something that I could used to analyse the data in whatever way I fancied even prompt triggers. I looked at a lot of the already available options and decided they were either wayyy too pricey and/or didn't have the flexibility I wanted.

So I set about trying to figure out how to. Fortunately I had a little experience with Particle and knew that this platform, with a bit of 'sweat', could deliver a very flexible tool. (They essentially work as a middle man giving you the flex either end).

Why have I put this guide together

I've created this guide to speed up and enlighten things for others, hope it helps. It took me ages to figure it out and I wouldn't have done it with the shared info from others so I feel it is only right to give back. If your in the ag sector this should show you the whole process from soil to graph.

Step 1: Webhooks, Say Whaaaat. Tinamous

The code should now be being published to the cloud and you can see it coming into particle:

  • Navigate to the Console (bottom left in the IDE, looks like home made dominoes > The events tab on the left >_ or devices (cube top left) > the device). Please note my picture shows some out of range data, quite a few of the sensors were not hooked up.

This is good but other than sitting there in your chair all day and monitoring the state of things, live is a bit limited.

So what next? Well we need to push the data to something so that we can record and analyse it over time. For one device knocking out a tad of data occasionally do we really want to pay a lots of moneys subscription....? Your not exactly monitoring data servers! I know, ideally you want it plumbed to your PC, but that is a whole 'nother kettle O fish'. I am working on it, but the hurdles are tricky!

There are a few options out there on the cloud with their hooks and catches. I have used weather underground with my home brew weather station but I would feel a bit guilty doing that with Irrigation data (it's not really raining is it). I can also recommend Ubidots but it is more faff to setup and if you have ham mands like me then you'll spend a couple of hours trying to figure out which letter is wrong. They also charge. Initial state is good but free tier only saves 24hrs of data. IFFFT is also a good shout but at the moment the most you can do is whack it in a google spreadsheet.

The simplest I have found for this type of thing is Tinamous. It does a really good job on stuff like this. If you expand there is facility for it and the pricing seems very fair, also UK based. The great thing about Tinamous is it has a Particle Bot, yeeeessssss. It does all the coding and getting the commas in the right place for you.

  • You'll need an account.
  • Once in click top right More button > Bots > Add > Add Particle Bots, Whack your details in, simples.
  • If you then go to the devices tab you should see it has pulled in all your devices for you.

Now this is the clever bit, because we named the data json (yea I bet you were wondering) and formatted it accordingly. It will recognise it and table it. NB. JavaScript Object Notation is a way of formatting data so that things can read it.

  • If you click the name of the relevant device it will graph out the data it has seen from it. You can select deselect etc. and change the time period.

It may take a bit of time for that data to come in, maybe shake the bucket a few times or press the reset on the particle to get it to fire up again.

This data can then be added to a dashboard (tab at the top) and you can post a notification if you so wish. I'll leave you to sweat with that!

Step 2: Thanks

A big thanks to all those who have shared their methods through various guides, Vinduino, Particle, Tinamous, Adafruit, Chirp to say a few. I would love to list all but I have been to that may pages that I would struggle to remember. I love the collaboration and I hope this adds.

Comments/critics welcome,


Step 3: Future Ideas and Improvements


  • Tidy the code
  • Upgrade it to their mesh system and have it linkable to other units, this would greatly increase the battery life and possibly do away with the need for a solar pannel.
  • Make the publish string self buildable depending on the sensors available.
  • Make it adaptable to grain store monitoring, giving it a winter use. It's basically the same job with less going on.
  • More inputs; would be nice to have the solar rad, leaf wetness and possibly even C02 but I'm a way away from that yet.
  • Personal data store.
  • Get it to talk to the irrigator and pump :).


I'm working on lots of farm based ideas mostly along this line, some are coming to fruition but time and finance do weigh. If your like minded and fancy collaborating drop me a message.

Build a Tool Contest

Participated in the
Build a Tool Contest

Be the First to Share


    • Hide It Challenge

      Hide It Challenge
    • 3D Printed Student Design Challenge

      3D Printed Student Design Challenge
    • Tiny Things Speed Challenge

      Tiny Things Speed Challenge



    2 years ago

    Impressive. I am currently implementing many similar sensors plus some extra (e.g. leaf wetness, solarradiation, water clarity [aquaponics], CO2), currently in a coldframe for testing, but would be just as usable in a greenhouse or outside. All on an ESP8266 platform. Logging currently in influxdb on an RPi. Oops, I mean 'logging it in a personal cloud'
    Hope to publish it soon on instructables.
    Definitely be interested to share ideas with you


    Reply 4 months ago

    Sorry, I have just checked this! The question I always ask myself is what is nesscesary/ required. You can often make projects too dificult and get overloaded with data that doesn't really tell you anything.


    Reply 4 months ago

    Totally agree. Of the data i gathered temperature, soil himidity and light were the most helpful. Temperature was interesting mainly because it warned me for frost and it gave me insight in the useful nes of heat storage. Light proved to be pretty useful as it showed me shadowspots throughout the day and soilhumidity just gave me a watering trigger.
    Storage of data for me only turned out to be useful throughout the day.
    Air humidity monitoring turned out to bd useless as the coldframe i was monitoring usually was in the hivh 90s. All in all it helped me optimise design and localisation of my coldframe


    Reply 2 years ago

    Ah wow that sounds really good. What sensors are you using? I have also biult a weatherstation with a TSL2561 for light, It's quite good but I found it didn't like being turned on and off. I put a BME 680 on it which measures VOC's still not quite sure what it is telling me!
    Are your plans to make it hardy? The biggest thing I have come up against is making it stand the test of time. A lot of the hobby sensors are not rugged enough for the big outdoors.
    The water sounds really interesting, I really want to start monitoring the water quality in our stream, again I havn't looked at it yet I keep finding the cost of the hardware prohibative and I cannot find a good enough reason for it.
    I'm guessing your opperating this on a local network? Influx is great especially if you get grafana or similar tied in. Another good one to look at is Node-Red it's great when you start wanting to get things to react ect. Or domoticz (home automation but you can lever it for this purpose).
    I'm trying to intergrate various systems and have developed pump controllers amoung other things. The idea is to get everything talking.
    Best of luck,


    Reply 2 years ago

    I am using several ds18b20's coz I am monitoring temp within the coldframe, outside temp, soiltemp, watertemp as well as the temp in a nearbij compost heap.
    using DHT12 for humidity. I am quite familiar with the BME280, have it in a weather station. reason not to use it in current project is that the DHT12 came in a decent casing as opposed to the BME280 is a bare PCB. I may in future replace the DHT12 with an SI7021 or HTU21D, but for now the DHT12 seems rocksolid. My 'problem' with the BME680 is that just like you said, one has no idea what the VOC output actually means.
    For light I use the Si1145. a totally wrong choice. it's crap. Perhaps the tsl2561 is a better choice.
    Waterclarity I measure with a DIY sensor. basically 2 glass tubes immersed in the water, 1 with an led and one with an LDR. Not sure if it's totally lineair, but for my purpose that's not really necessary.
    CO2 I use an MH-Z17. They are not cheap, but I was lucky enough to find it in an old ac unit. There are cheaper CO2 sensors in the MQ sensor series, but also there the outcome is confusing as one just gets a value for mixed gasses.
    I measure soulhumidity with a capacitive sensor. it is an integrated one that outputs an analogue signal so I don't have to do any signal processing myself.
    As I am using an ESP, I added an I2C ADC converter for the couple of analogue signals I have to process.
    I indeed use grafana with influxdb. Good combination. it is all tied in with openhab and communication with mqtt. I have worked with node red, but have not had the time or the need yet to dive into it.
    Durability is indeed an issue. that's why for now I am testing it in a coldframe. the DHT's are known to suffer under high humidity, so will be interesting to see how that holds up. The leaf wetness sensor as I have ofcourse is prone to electrolytic degradation, but it's cheap to replace. Am considering adding a heating element to it


    Reply 2 years ago

    Looking forward to seeing the write up sounds like I'll learn something!