Inspiration

We believe in a future where farming can be automated and the search for suitable farmland is intuitive and sustainable. Armed with this goal, we designed a robot that would be able to determine the agricultural potential over a large area.

What it does

We built hardware that collects data of the soil and sends the information to a program that interprets this data and creates a 3d graph which shows how viable the soil is for farming over a plot of land.

How we built it

We used an Arduino with a temperature and moisture sensor to gather data on soil. On every iteration, the data gets sent to a python program running on a laptop via serial communication. Then, the data sent is parsed and ran through an algorithm to calculate the 'healthiness' of the soil. This healthiness value is plotted on a 3d graph, with the base representing the area of the soil measured. The graph is then serialized and encoded into base64 and stored in memory, then sent to a quick website meant for data visualization via a GET request (python flask).

Challenges we ran into

We wanted to use websockets for streaming data, but didn't have a way to connect our Arduino to the internet. Due to this, we had to switch our implementation to use serial communication and everything that was supposed to be online was locally hosted instead.

Accomplishments that we're proud of

We are proud of the fact that we used a lot of new tools we never used before. We were also able to finish our core ideas and our main objectives before the deadline.

What we learned

How to:

  • create 3d plots with Matplotlib
  • stream data between hardware & services
  • use the arduino and it's components

What's next for DirtBot

Pathfinding, automatic data collection, and a fully-featured dashboard website with a more interactive data viewer.

Share this project:

Updates