farmee.OS public alpha released

farmee.OS public alpha released (for free!)

Things have been super quiet in our blog recently, but for the best of reasons: we have been busy preparing our first ever download package of farmee.OS! And here it is, available for free. Use it, hack it, do what you want with it. But please: tell us about it! We‘re dying to know what kinds of farms will be built using farmee.OS. You can drop us a line anytime, maybe with a pretty picture of you and your own farm? Don’t be shy, you look fabulous! Please send it to hello@farmee.io – we‘d deeply appreciate it!

What is it and what can I do with it?

farmee.OS is a software platform controlling vertical farms – or any other farm or garden using software and sensors. You might even water your kitchen herbs using farmee.OS. It is super easy to install and requires nothing but a decently new Raspberry Pi running Debian 9 (because our installer uses docker).

This is how the GUI actually looks like

What kind of vertical farm are we talking about here?

Any kind. It can already be useful if all you wanna do is water a single plant with nothing but a small water pump, but a truly useful application would include a couple of sensors and actuators.You might have seen our blog post about our grow racks, which are successfully running farmee.OS for quite some time now.

How do I install it? I know nothing about computers!

The installer does everything for you, it installs the application itself, a webserver for the user interface, a mysql database and a php server. One might say that is overkill for a lot of applications, but it makes things a little more future proof for us. Everything is installed on your rapsberry pi, so you won’t even need a working internet connection for anything else then the installation process. You can read more about the installation process in the readme file of the download package.

 

Which sensors are supported?

We‘ve included drivers for everything we use at the moment, specifically:

  • Adafruit DHT22 (temperature and humidity)
  • AtlasScientificPH
  • AtlasScientificEC
  • PowermeterImpulse
  • TSL2561 (Ambient Light)
  • WaterLevel

Again, nothing too fancy, a lot of them might be swapped to higher quality sensors at a later point in time, but for the moment, they just work.

What kind of actuators are supported?

At the moment, all actuating is done using the GPIO class. It is a very simple switch, turning an actuator either on or off. The only question is: when and for how long? This is why we implemented two types of timers: one is called TimerInterval and turns on an actuator for a given time every couple of minutes/hours/days, for example it might activate a water pump for 15 seconds every hour. The other is called TimerSwitch and turns an actuator on and off once a day, for example a light which is activated at 6am and switched off at 10pm. Every actuator can have multiple timers, of course.

Where is the intelligence? I want my control loops!

Sure, so do we. And you can have them, just not now. They will be among the next things we’ll introduce to farmee.OS in the next release. Until then, a lot of testing will be necessary as well as finding a proper GUI-representation for all use cases. Control loops are both straightforward as well as pretty complicated, so we decided to skip them for this release.

Why did you write it for the raspberry? This is a shitty device!

You‘re probably right, but it is affordable for a lot of people. And at this stage, we‘d rather help a lot of people with not so much money than writing another software for rich kids with flashy farms. All joking aside: farmee.OS is meant to facilitate small-scale urban farms, operated by ordinary people. Expensive hardware helps, but shouldn‘t be an obstacle for people trying to enter the world of vertical farming. In the long run, farmee.OS is meant to be hardware-independent, offering you the highest degree of flexiblity and the same ease of use. Get shit growing!

For now, all we can add is: we hope farmee.OS makes your life a little easier and if your plants die: please don’t blame us!


farmee.OS: An All-API-Approach

An All-API-Approach to software development

In this blog post, I’ll try and take you through some of our thoughts on software architecture for farmee.OS. Let’s shed some light!

Our smart farming operating system is split into two parts: hardware interfaces and a cloud portal. Let’s call the latter the brain of the farmee world.

The portal is where logic takes place – it is designed to be a massively scalable web application, consisting of a server part and web based GUI. We use React for the latter and we think the hype is true: it is that good (and fun, too). But since times are changing fast, especially in the web development world, the thing that endures will not necessarily be the GUI technology. Thus, we use our own farmee API to connect the GUI to the brain. This makes it future-proof and a highly flexible:

  • Changing the frontend technology?
  • Developing mobile or desktop apps?
  • Integrating third party services?
  • Some brilliant idea like “You can now control your water cycle with your smart watch”?

Yes, yes, yes and yes! This high level of flexibility is crucial for us, since we don’t know what future farmee-farmers are going to do with farmee.OS, yet.

Growing in units

We group hardware modules into units. A unit defines an area where plants grow – no matter if it is a small garden patch, a huge farming site, or a grow rack aboard a Mars spacecraft. As you can see, those units are massively heterogeneous – in fact the only thing we know is that we do not know them all and probably never will.

Therefore, we develop a standard language for those units to talk to their brain (by the way: we do not necessarily limit this to the farmee.OS-cloud – let’s think a little bigger here).

Coming up with a new language

Let’s flippantly call this an All-API-Approach – we try to be the Ludwik Lejzer Zamenhof of technology farming (yes, we just want to mention that funny name in a blog post). So, this is what we do to create the farmee-Esperanto:

  • Every source of data and every business logic action can be accessed via a nicely documented (Home – Swagger), clearly understandable Application Programming Interface (“REST style” :))
  • We talk JSON (JavaScript Object Notation – Wikipedia) and a lot of our RnD time goes into document structures, which describe the data and processes which appear in the world of technology farming.

All the freaking stuff happening behind this communication layer is rendered irrelevant, for instance:

  • Our hardware modules mostly utilize Python and usually come in all flavors of raspberry
  • We’re Symfony-guys and use it for our cloud software

Oh yes, we can hear you screaming: “Oh no, Raspberry, my kid uses that at school – what about full professional industrial boards?!” and “OMG PHP, is it 1999 again? Why don’t you use GOlang or be really cool and 1970ies and all and use C?!”

The thing is: you can do everything! Our APIs bundle micro and not-so-micro services to be as powerful and flexible as possible (when it comes to software development, “pragmatic” is our favorite word).

At a glance

  • Everything, everything is accessible via the API
  • Hardware modules talk to the API via http
  • The business logic happens in the central unit, this is also where “the soil of all living plants” is located: data, data and – did we forget to mention? – data!
  • While Hardware units aren’t dumb as f*** they are basically the executing part of the system
  • Our system is open: if you meet the standards, you can be a part of it

Diving deeper

  • We develop a Symfony-based API application
  • We use SQL and NoSQL technologies for data storage
  • Hardware units need to have a http client and talk to the application via APIs, beyond that requirement nothing is limited or even based on proprietary technologies
  • At developing stage, we mainly use Raspberry Pis and control them with Python Scripts
  • We use ReactJS for the GUI
  • Yes, we test automatically (PHPUnit, jest) and we do like that whale (Docker)

Join the discussion in the forum!


Thoughts on plant recipes

What exactly does a plant need to grow?

As we started out, we had absolutely no clue, to be honest. So we decided to do what we do best: gather knowledge first and then boil it down so that everybody is able to understand it. We still have a lot to learn, but, together with the help of experts, we figured out a first draft of what a plant recipe might look like.

Lots of data

First and foremost, a plant recipe is a collection of data. It enables any user, be it a human or a piece of software, to identify a given plant and figure out what this plant needs. To make things really simple, the latter mostly indicates the plants needs of water, light and nutrients. But it should also tell you how to correctly treat the plant, where to plant it and what to do if you or the plant gets into trouble.

What can I do with a plant recipe?

There are different use cases we are taking into account while developing the standard for plant recipes:

  1. Offline use
  2. Use in farmee.OS
  3. Import into other software

Offline use

Offline use means printing the recipe on a single sheet of paper. This print only includes the most important information to grow the specific crop, for example in a typical gardening scenario. It will prepare the recipe in a way a human being can read and understand, quick and easy. You could use it to grow the plant at home, in your garden or a raised bed. You will learn when to plant, where to plant and how to treat the plant during the course of its life until harvest.

This is a mockup of a plant recipe offline export:

Use in farmee.OS

This, of course, is the most important use case for us. Imagine setting up a farm in farmee.OS, which means you are telling the software which plants you are planning to grow. In order to do that, you might be dragging tomatoes into a virtual field. The moment you drop the plant into your field, farmee.OS immediately identifies the plant. Of course, it already knows all the different plant recipes, so it can give you a number of useful information based on this action, for example:

  • suggest suitable carrier materials, seeding distance and neighboring plants
  • setup irrigation and light cycle for the virtual field (in consideration of neighboring plants)
  • setup nutrition structure (also in consideration of neigboring plants)
  • adjust pH-value and conductivity of water
  • set or suggest temperature and humidity range

This enables you to successfully grow plants without knowing a lot about them yourself. It truly makes smart farming easy to use for everybody.

This is what the farmee.OS dashboard currently looks like, not exactly futuristic!

Creating a standard

We believe there is an urgent need for a strong basis to enable automated growth in a huge number of different scenarios. This, of course, is a an open standard, that is not only usable in farmee.OS, but any other given soft- or hardware. Our goal is to create this open standard. Anyone can contribute and anyone can download these recipes.

Tolerances

As you might know, hydroponic farming has very tight tolerances. Soil functions as a powerful buffer for water and nutrients. If you take away that buffer, tiny deviations might kill your plants. Therefore, a plant recipe used in a vertical or indoor farming scenario must use data that is far more specific than an offline printout used by a human farmer. Because of this we’ll make sure our data is as specific as possible, with simplification only happening during output for specific use cases, such as offline printouts.

But what about corrupt data? A plant recipe can only be as good as the data someone feeds it. Which leads me to:

Who writes plant recipes?

Anybody can! As we’re developing an open standard, it just needs someone to input data. We’ll provide an entry form and import functionality to enable anyone to contribute to the open recipe database.

Of course, there are lots of obstacles in that process, for example verification of data. Anybody can punch in some numbers, but are these numbers correct for a given crop? We’ll make sure recipes used in farmee.OS are verified by experts to make sure your crop is well-protected, but also plan to offer a bigger number of community-generated recipes you can download and use at your own risk.

Machine learning

Humans make mistakes, that’s why we’re aiming for automated correction of data with the use of machine learning. If farmee.OS can be used to measure plant growth in different farms, it can be used to automatically alter and verify plant recipes. Of course, we’re far from automatic growth monitoring at the moment, but that’s what we’re aiming for.

For you tekkies out there: Data storage and access

Data is stored partly in relational and non relational structures. It is accessed via a REST-style API which communicates in JSON Data format. We use this API in our own software as well as we plan to make it accessible to third party apps.

Due to the structure we provide, the data representation layer of a recipe can be used to create visual representations of the recipe (in Apps, Web-Apps and good old printouts), plus it can be used as a basis for machine-to-machine interfaces.

You might guess what we are aiming for here: automation and auto-optimization.

How does a plant recipe data structure look like?

We’ve posted our current plant recipe data structure in the forum and will use that thread to further discuss anything on plant recipes, so make sure to sign up if you’d like to join and follow that discussion!

Thoughts on plant recipes – in the farmee-forum.


Geco-Gardens: „As simple as Farmville – with real crops“

How Geco-Gardens enables you to grow your own food on your balcony

Hello, farmees out there! On the farmee blog, we also want to present other companies from the field of smart or urban farming. We start this series with a really cool startup from Germany called Geco-Gardens. Founder Bastian Winkler took some time for us to talk about his amazing product.

 

Q: Hi Bastian, tell us a little bit about Geco-Gardens. What are you doing?

Bastian: We are planning and constructing vertical, automated microgardening systems. With Geco-Gardens, people can grow their own organic vegetables, fruits, herbs and ornamental plants right in the middle of the city. This creates new gardening areas in front of your door, e.g. on balconies, patios, courtyards and rooftops.

The system consists of several planting containers, a vermicompost and a water tank. With energy from a solar panel, the water is pumped to the top and flows through all planting containers and the compost back into the water tank at the bottom. You put your organic kitchen waste into the compost box, where the compost worms transform it to a 100% natural fertilizer. These nutrients are washed out into the water tank, from where the water and nutrient cycle starts.

 

Q: Sounds awesome. How did you come up with the idea to develop your system?

Bastian: Currently I am doing research for my Ph.D. thesis at the University of Hohenheim (Southern Germany). It is about the introduction of renewable energy into smallholder agricultural systems in the emerging countries South Africa, India and Brazil. Aim is the creation of locally appropriate, integrated food and energy systems for the production of healthy food and renewable energy in an ecological and resource efficient way. To achieve that, the prodcution systems are based on locally available natural resources and on closed production and matter cycles.

During a research stay in South Africa, I got to know Luke Boshier, one of the pioneers in the field of integrated agricultural systems. Together we built a terrace cultivation system for an integrated ecological production of fish, rice and vegetables. Facinated by this resource-efficient way of production, which is independent of agricultural land, I adapted it for urban farming.

The fish were replaced by compost worms and the fish food by organic kitchen waste. The innovative, natural method called „terrabioponics“ was born. In Geco-Gardens the plants grow in soil (terra) and an organic nutrient solution (ponic). The nutrients are recovered in a natural process through worm composting of your own kitchen waste (bio).

 

Q: What is special about your system compared to others?

Bastian: As a result of producing your own food right in the city, Geco-Garden systems create a direct connection between humans and nature. We combine the following topics in a unique way: direct waste recycling, natural matter cycles, renewable energy, modern technologies and ecological cultivation methods:

  • You use our own organic kitchen waste for growing agricultural and ornamental plants
  • Gardening made simple: No need for manual watering, thanks to the automated watering and nutrition circuit, which also fertilizes the plants
  • You decide, what and how you grow: The decentralized food production reduces the transport of food in cities, thus saves energy and greenhouse gas emissions
  • Collaborative gardening promotes social interaction and allows you to share your harvest with others, which creates rich crop diversity.

Consumers become producers

 

Q: Who are your typical customers and what are their most common crops grown with the system?

Bastian: Most customers of Geco-Gardens are private people e.g. young families living in urban areas. They want to have their own little garden for a healthier lifestyle and a closer connection to nature or show their kids how organic food is produced. We even have pensioners as customers. They appreciate the automated and thus convenient way of gardening without having to bend down.

Besides private people, our garden systems are very interesting for companies and other organizations that want to show their green engagement. A third customer segment are kindergartens and schools, to teach kids natural food production cycles from an early age.

You can grow any kind of vegetables, herbs and fruits in your garden system- The selection depends on your choice and the location of the garden system – the more sunlight, the larger the selection of crops. Typically our customers grow different herbs like basil, oregano, thyme, rosemary and mint, a variety of lettuces and other leafy greens as well as vegetables like tomatoes, cucumbers, peppers and chilies. At warm locations even melons will fruit!

 

Q: How much effort do your customers have to put in for growing their crops?

Bastian: The effort is very low: Sowing or planting with little watering in the beginning; feeding the compost worms and fill up the water tank once a week; harvest and consume. Furthermore, the pressure from pests and deseases is much lower in the city. Usually, there are no snails on a balcony 😉

 

Q: What is your long-term vision?

Bastian: The vision of Geco-Gardens is to create new gardening areas in cities for organic self-production of food. The reasonable use of modern technology in combination with ecological cultivation methods and the use of your own hands can transform urban resources directly into tasty food – diverse, local and organic. With Geco-Gardens, consumers become producers. Food production becomes decentralized, seasonal, regional, divers and therefore more sustainable.

 

Q: And what are your next steps?

Bastian: We want to bring our systems and our company to the next level. Therefore we cooperate with the software startup farmee (yay!) and entrepreneurship expert Dr. Christoph Mandl of ‘Zugspitze Ventures’ – together we form a team for the KATANA accelerator programme, which is funded by the European Union.

We will add a sensor based app to our existing system, so you can monitor your plants with your smartphone. This will automize the system even more, because you can control the water and nutrient cycle from anywhere, e.g. from the office or when you are on holidays. In addition, the app will provide an interactive guidance from sowing to harvesting. Growing healthy food on your own balcony will become as simple as playing Farmville on Facebook – but with real crops!

Watch out for our crowdfunding campaign coming in fall 2017!
It would be awesome to get some support from the community so we can improve our product and enable more people around the world to grow their own organic food.

 

All pictures (c) by Geco-Gardens


So, what is farmee and why the heck should I care?

You should care about farmee because it will revolutionize the way we grow our own food in cities.

Ouch, yes, we used the word revolution in the first sentence of our first blogpost. Is that a good idea? Probably not… But now it’s out there and we can’t take it back, so why not stick to it? We’re on a mission to make smart farming simple. We set out to lower the threshold to the world of sensor- and software-driven farming, making it accessible for you and your mother. If that’s not a revolution, then what is?

Who are we?

We’re a group of five friends sharing a passion for technology, entrepreneurship and great food! We’ve spent the last couple of years founding and running different companies, but ultimately decided to commit ourselves to something really important: food production. We believe, food production should not only be run to huge corporations, so we’re empowering people to grow their own food. But hey: there’s nothing bad in commercial farming per se, plus there are amazing people out there dedicating their lives to developing sustainable yet forward-looking farming methods. We’re absolutely sure there will be commercial farms running farmee software in the near future and we’ll totally dig it!

So, we’re on a mission to make smart farming easy.

Why now?

To date, cities produce nothing but waste. At the same time, more and more people live in cites and overall population is rising to 9.7 billion people by 2050. There is serious doubt there is enough farmland to feed that rapidly increasing number of people. If farmland is unable to expand, we can only rely on technology to increase crop yields and developing areas that used to be unsuitable for food production. Smart farming can achieve just that, as there is no need for soil, natural light and the necessary amount of resources can be reduced to an absolute minimum.

(By the way, if you’re interested in these things and want to know more, here are some good places to start: https://esa.un.org/unpd/wup/publications/files/wup2014-highlights.Pdf here: https://esa.un.org/unpd/wpp/publications/files/key_findings_wpp_2015.pdf and here: How to feed 11 billion people: Addressing the 21st….)

Building our own rack

We’ve been busy building our own prototype grow racks lately and they’re pretty awesome! It’s also a huge pain in the ass to do so from scratch, there’s a shitload of cables, tiny sensors with connector plugs going nowhere, more cables, tubes, water tanks, pumps, led-strips, raspberry pis, more sensors and so on. And then there’s lots of soldering involved, cutting, glueing and even planning in advance. Of course, we’re exaggerating a wee bit and in reality, it’s totally fun and a huge adventure. But, at the same time, we wished there was an existing resource with helpful tutorials and the like, because to be honest: it’s really hard to build a working rack. You have to learn a lot if you’re planning to build your own vertical farming rack and possible points of failure are countless.

So, to cut to the chase, we are going to be that resource. In this blog you will find a ton of helpful content, like our own construction plans, how-tos and featured interviews with experts in different fields (even actual farmers!). We’ll also post thought experiments like plant recipes (more on that later), tailor-made hardware-packages, software-architecture and, on a more general note, the future of farming.

 

Plant recipes

If we’re serious about making smart farming simple, we first need to make farming simple. A lot of folks, ourselves included, know very little about growing plants these days. How much water does a specific variety really need? Which nutrients are important to drive growth? What the fuck is molybdenum? We believe to have an easy solution for that and we call them plant recipes. We’ll get back to these as soon as possible in a dedicated blog post, so if you’re having a hard time figuring out what your plants need: we have you covered!

farmee as a software platform

Plant recipes and prototype racks aside: our core product is going to be a software platform, part operating system, part eco-system. It  has quite some tricks up it’s sleeve: You’ll be able to plan your own farm, choose crops of your taste and combine them into useful zones. You can hook it up to a ton of different sensors and actors to measure conditions like temperature, humidity, PH, EC, ambient light and infrared, as well as trigger actions such as water pumps and lights, for example. It will seamlessly integrate our plant recipes to feed your plants exactly the way they need, without you having to be a farmer yourself. Development for farmee is already in full swing, so it’s hard to summarize all our thoughts in a single paragraph, so stay tuned for more!

That’s it for the moment, make sure to come back next week for more. And from there on: every week!

farmee – smart farming made simple