Inspiration

Our inspiration for this project was based on the recent weather pattern changes caused by global warming. With volatile weather patterns, crop irrigation can be tricky to manage. Finding an efficient way to track soil health not only increases crop yields but can also save money on treatments such as fertilizers and irrigation. The initial idea was to create a sensor that measures the water present in the soil at a current time that can also be shown remotely to a user on their device. Eventually, we decided to expand the user interface to include weather tracking to get a more accurate picture of when events will occur and how they will affect crops.

What it does

The project uses sensors to record moisture content levels, light sensitivity, and uses OpenWeatherMap's API to retrieve current and future weather data. All of this information is then processed and uploaded to the front end to be displayed to the user.

How we built it

Soil Sensing utilizes a back end powered by Express.js. Our sensor will track weather data, communicating with the back end server to convert it to a .json. The converted data is then sent to the front end which is powered by Node.js's React libraries. Additionally, current and future forecasts are taken from OpenWeatherMapAPI, input through Python to sort, and then saved through back end servers to then be represented by a graph on the Soil Sensing website.

Challenges we ran into

The biggest challenge we ran into was the sensor having communication issues with the back end, meaning it would not be sent to the front end. The weather API would be standalone, which would be absent to the user. Another challenge was that the integrated debugger was not present in the board used. This made it incredibly difficult to program the embedded project. Disregarding technical limitations, we had trouble connecting the hardware to our software, which took up a major portion of the latter third of the Hackathon.

Accomplishments that we're proud of

We're proud of creating a real time moisture tracker for soil and computing it through a server to send to the user. There is a lot of interaction between technologies within our software, which requires a decent knowledge of libraries and programming languages. Being able to create something that is able to communicate through all of these files, and send it to the user, was a huge accomplishment.

What we learned

In this Hackathon, we learned the basics of back end development and how servers will communicate. By handling the transfer of real life weather data, we got to see our results evolve past the screen; We also learned how to use Node JS libraries and connect different components of a project.

What's next for SoilSensing

Due to lack of time and equipment, we were unable to bring the project to its full potential. In the future, we would like to add locational data (GPS), time information, a humidity sensor, a resistor, and a built-in thermometer.

Share this project:

Updates