People of the Soil
(co-winners of the London Nasa Space Apps Challenge 2013)
During the Space Apps Challenge 2013, at the Google Campus in London, we have developed Project Soil: an extremely cheap and easy to use system to collect and manage soil data.
We kept in mind that not all the world is as lucky as us and there are plenty of places where internet is slow or completely absent and where there is much less money around.
Project Soil is an open system that includes:
- an extremely cheap (~3£) digital soil testing kit to collect data, and eventually send it
- a light protocol to send the data using web, apps or even SMS and collect it on a centralised database
- an API to disseminate information via SMS or web
- a wonderful and light web application that can run on old and recent phones and gives access to the data with a simple and nice interface.
We spent the first part of the challeng looking at all our different backgrounds and skills and reformulating the challenge in a series of smaller ones that we feelt we could face.
As you can see from the image below, Project Soil is made by three big interlaced projects, each of them with a particular focus: acquiring data, collecting it and make it available.
In this part of the projected we aimed to create a proof-of-concept soil testing kit that could be miniaturised and mass produced. This can then upload recorded soil data, taken over a period of several weeks, to a central database via a phone application or computer interface.
The hardware team realized in an amazingly short time a working prototype of probe to collect soil data. In the first version an Arduino was collecting data from various sensors and sending it to a Rasperry Pi programmed to forward it to our database.
In addition, the aim was to create a PCB schematic and layout to implement this system realistically and cost such a device. CAD models were created to aid development and concept presentation.
The project uses a DS18B20 temperature sensor and a transistor amplified simple moisture sensor.
Moisture is displayed as an estimated percentage volume of water to soil. Completely soaked soil will hold up to around 50% water content and so a measurement of resistance of pure water is taken as the calibration mark for 50% and the probe held in air is taken as the calibration for 0%.
The hardware prototype is a proof of concept, a final device should use a much cheaper MPU such as an ATMEGA48A-MU 4K memory, 8-Bit MPU. This can be sourced (in bulk) for less than 80p per unit.
The probe and its price breakdown
In fact, from that prototype the hardware team engineered a small and cheap device that you can simply plug in the field and leave alone collecting the data. Afterward it is enough to have a USB connection to collect the data and send it to our servers.
For whom may be interested, the price of the final device can be overestimated as follows:
- ATMEGA48A £0.80
- Resistor £0.10
- DS18B20 £0.85
- CR2032 Coin Cell £0.39
- Coin cell holder £0.20
- PCB manufacture £1.00
The SMS service
Keeping in mind that not all the world is covered by internet, we used the twilio API to create a service to send the data directly through SMS. This makes it good for use in more developing regions of the world.
Send a text to 01952 787011 containing a list of readings for the following parameters pH, temperature, moisture, lat/latitude and long/longitude and then will be added to the dataset. The list of key, values can be separated by whitespace or , delimited and the order doesn't matter
pH = 7.2, lat=51.9972, long=-0.7421, temp=35
You will receive back a message confirming the data your sent and that it had been saved to the database.
While the SMS data goes directly to the database, all the rest of the communication is made by means of MQTT, a machine-to-machine (M2M)/"Internet of Things" connectivity protocol designed to be extremely lightweight. In this way we can move all the management of the data to our server and consume as less power and bandwith as possible on the clients.
Again keeping in mind to consume as less bandwith as possible, we designed and developed an extremely intuitive and nice application, completely based on HTML and CSS, and with nearly no image. In this way people can access the data using any device, not just the last generation of smartphones, consuming nearly no bandwidth!
You can already test our web app going to Project Soil App
Ideas for the future
The possible implications and improvement for the future are the most variuos. Here there is a small list of what we could and would like to achieve:
- Implementations of more chemical and pH sensors could be made extremely cheaply and in bulk by using thick film printing processes. This could be an avenue for further development although the technology is still heavily in it's infancy.
- Improve the probe to make it cheaper, stronger and with longer battery life.
- Add wifi/bluetooth/NFC capability to a bigger version of the probe that would not require laptop, smartphones or raspberry pi to send the data.
- Create an easy to use application to collect and send the data from probes that cannot be connected to wifi or bluetooth networks.
- Make the system independent from us and working on a global scale.
- Add some finer controls on the database to avoid fake data.
- Implement a robust and flexible API to make the soil data available to researchers and any other in need.
- Improve the Web App to include data analysis, comparisons and infographics.
- Add support to other languages.
- Go to other planet (see below).
Project Soil on other Planets
And with our small collaboration with solsola we are ready to fly on the space and collect extra terrestrial soil data!
More Images and Informations
Additionally you can read:
Congratulation to all the winners of the 2013 International Space Apps Challenge. We didn't win but we've got a Honorable Mention on the Global Impact category!!!!
The Git repository contains:
- The presentation of our work: SOILPres-v3.pdf
- The full implementation of the probe (hardware and software) and the PCB schematic to build a cheap and effective probe: probe folder
- The interface to the MQTT service that translates the data and sends it to the DB: MQTTinterface folder
- The DB and SMS service (hosted on another Git repo): text-message-and-database-api folder
- The mobile app to have access to the data: mobileapp folder
- A folder img with the pictures used in this README files
The project is released under Eclipse Public License 1.0
Something more technical for us and potential collaborators
Data readings are of the form
"time": "13:56:13 20/04/2013",
and must be sent to
- MQTT Broker: m2m.eclipse.org:1833
- Topic: /pots/soil
id, time, lat, long MUST be present and not NULL, otherwise the data is sent directly to /dev/null