A post from our „side project" series. VineyardElf is a platform today, but it started as a box of electronics screwed to a post in our vineyard. This is the story of how tinkering with frost protection grew into a product.
Before VineyardElf existed as an app, a plain home-built system ran for several seasons at Winnica Pustkowie (Wołyńce-Kolonia near Siedlce, Poland). An OpenSprinkler controller (we wrote about switching from the old Hydrawise to it on the vineyard blog), a few hundred lines of Google Apps Script, an Ecowitt weather station and a lot of trial and error. That system still runs today, and it is the root of everything we do next.
It started with a fear of frost
A spring frost is a winemaker's worst nightmare. Dormant buds survive down to -15°C, but the moment the vine wakes up the threshold drops dramatically. A flowering plant dies already at -0.5°C, something we wrote about in the context of BBCH growth stages. A single cold May night can wipe out a whole year of work.
There is an old trick for it: sprinkling. As water freezes it releases heat, and a thin layer of ice on the bud keeps it at exactly 0°C, above the lethal threshold. The catch is that you have to do it in the middle of the night, at the right moment, with no mistakes. That is a perfect job for a machine, not for a sleepy human with a flashlight. So the first script was born: OpenSprinkler paired with Google Apps Script, watching the temperature and turning on the sprinklers by itself when things got dangerous.
- OpenSprinkler: an irrigation controller with an open API
- Google Apps Script: all the logic in Google's free cloud, no server of our own
- Ecowitt station: temperature, humidity and rain from our own backyard
- Flow meter: so we would know how much water actually went out
Every idea bred the next one
That is how tinkering goes. You solve one problem and immediately see three more. Since the system stood in the vineyard anyway, outside the frost season it got a second job, watering the lawn in the early morning. Then came the question of how the system was supposed to know it had rained overnight, so we added an independent weather source. Then we wanted to measure conditions not on the mast but right at the leaf, and that is how the leaf sensor began.
Each of these blocks is a separate lesson in the fact that one sensor means one point of failure. Our rain gauge could clog and quietly report drought in the middle of a downpour, and only a second, independent opinion caught it. We keep all this code open on GitHub as opensprinkler-frost-protection.
When the hobby started to look like a product
At some point something obvious dawned on us. Every small vineyard reinvents the same wheel. The same growers, the same frosts, the same gaps between what the sensor says and reality, the same night scripts glued together on the fly. Our box solved real problems, but there was no way to simply install it for anyone else.
So we rewrote the idea from the ground up, no longer as a pile of scripts but as apps on the Intum/Noe platform. Instead of a private Apps Script we have connectors to the weather, controller and station APIs, the data lands in one place, and every feature is a separate module you can switch on for a vineyard's account. That is exactly what VineyardElf is: the same experience from Pustkowie, only assembled so it can be handed to another winemaker.
Why we still call it a „side project"
Because the box at Pustkowie still runs, and still breaks. And that is a good thing, because the best lessons about sensors do not come from slide decks, but from your own vineyard at three in the morning. When something fails on us, we know exactly what the product has to watch for so it does not fail on someone else. The side project is not an add-on next to VineyardElf. It is its testing ground.
Building something similar, or running a vineyard and want to test it? Get in touch, we would love to talk.