No description, website, or topics provided.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

alt text

Modular Open Agriculture

Enabling the implementation of Precision agriculture / Automation in any context or scale of production:

  • from indoor hydroponics to traditional agriculture;
  • from a balcony vase implementation to a large exploration;
  • in an urban or rural context; These modules can be useful for all, used together, adapted, remixed, distributed...

Your collaboration is precious! No onboarding needed, just start designing and developing!

Modules V1 - ESP12 based version (under dev - design (boards, enclosures), firmware(arduino))


  • core;
  • s modules (wireless sensors);
  • a modules (actuator modules);

Development Goals

  • The way the module is powered is not yet fully defined: All should have batteries (3.3V _____ Amps), some should have only this as power source and be periodically charged (induction most probably), and others, can be connected to a power source (solar, network, wind...) for constant charging;
  • A power source (ex: solar panel) can be a module on its own and an induction charger can be another module (tbd - to be designed);
  • The following code:
const String Instalation = "myFarm"; //Where is it?
const String IDCODE = "1"; //number your probe
const String TYPE = "SoilProbe"; //choose type
const String Host = "Grouu" + Instalation + TYPE + IDCODE; //just change if it is not grouu and you're adapting the code for something else
const char * OTA_PASSWORD  = "yourpasswordhere";

will allow you to set a hostname (Host) - These are the only parameters you should have to change before injecting the firmware on your board (we should work on an even simpler method);

  • This hostname (const String Host):
  1. will be the name of the network the device generates each time it is not able to connect to any wireless network;
  2. Will identify the MQTT addresses being used by that type of device (expl: HostName/Sensor/Moist1);
  • There shouldn't be a limit for the ammount of modules developed nor used. The scale and context should dictate these options.
  • All Explorations, independently from the context or scale should be considered valid data generators;

Call for Collaboration

It is permanent, develop whatever you want whenever you want!


alt text

  • The soil probe reads Soil Moisture and Soil Temperature;
  • You can add as many as you want in order to measure these in as many points as you wish.


eagleCAD: Fusion 3D (plastic 3D print Enclosure):


Arduino IDE Firmware:


alt text

  • The water router uses a standart 1 in 4 out electrovalves from a washing machine. You should also decrease the water pressure on the outputs for microirrigation.
  • You can use this directly to the network or after a motor (be careful with the pressure in compatibility). You can add as many as you want in the system.


eagleCAD: Fusion 3D (plastic 3D print Enclosure):


Arduino IDE Firmware:


alt text

  • Core is the local server. Right now is mostly a test hub were the data from the networked servers is received and processed.
  • We are using Node-Red but all collaboration is welcomed!


Right now we are using a standard Raspberry case.


configure and install:

configuring Raspberry Pi zero W as server

  1. configuring the Pi

  2. Accessing through ssh on mac or linux terminal

  3. upgrade Node-Red and Node.js

  • open terminal;
  • commands:
sudo apt-get update
sudo apt-get upgrade
bash <(curl -sL https:/
sudo systemctl enable nodered.service
  • Connect to Raspberry Pi Node-red console throught your browser be accessing http://"raspipaddress":1880

  • Install Mosquitto MQTT broker sudo apt-get install Mosquitto

some instructions on how to test here:

  1. other useful links: Security: manage permissions on node-red tutorial -

Archived on this REPO You'll also find:

mainSoilProbe REV0 - Developed at the Habibi Works (Ioannina, Greece) CultiMake Workshop - P2PLab - Archived

alt text



  • A provisional board (not working!!) is on /BOARDS/soilProbe/Archive;
  • For this example a nodeMCU dev board was used and tested at the workshop (see Habibi.Works Workshop Journal) enclosure: A standard plastic box was used for demo purposes.

This board includes:

  • 1 x 4 male header for DHT22 Temperature and Humidity Sensor
  • 1 x 3 male header for DS18B20 (encapsulated version for Soil Temperature);
  • 2 x 2 male header connections for Moisture 10k with Two probes;
  • 1 led (no usage yet, mostly for debug purposes);
  • 1 ftdi set headers;
  • 1 voltage converter 12V - 3,3V;
  • 1 x 2 screw headers to add solar panel + battery (maybe connect solar battery pack now).


Arduino IDE Firmware: /ARDUINO/habibiWorksJuly2018-WS/grouu-irr

GROUU greenhouse - Archived

alt text


SolidWorks files for the complete Structure (to be added) - also check constructive system ( Photos (soon) Other Diagrams (soon)


Arduino Yun code: /ARCHIVE/arduino/GROUU_GREENHOUSE_0/



Main Probe

Multiple Analogs -

ESP12 + DHT22 -

ESP12 + temp

Voltage Regulator

use FTDI on ESP12

refs fabrication:

eagle to flatCAM