← Back

Farmbot

FarmBot is humanity's first open source CNC farming machine. Whether you're an amateur gardener or a DIY enthusiast, FarmBot was built for everyone. My main focus in this project as Lead Frontend Developer was to ensure our feature-rich web app was scalable, fast, intuitive, and of course, fun to use. 🥳

Farmbot highlight reel.

Stack

  • Typescript
  • React
  • Redux
  • Heroku
  • Postgres
  • Rails

How it works

Farmbot high level overview diagram.

The Web App

The web app allows you to easily control and configure your FarmBot from a web browser using your laptop, tablet, or smartphone. The application features real-time manual controls and logging, a sequence builder for creating custom routines for FarmBot to execute, and a drag-and-drop farm designer so you can graphically design your garden.

Farmbot frontend on different devices.

Raspberry Pi

The Raspberry Pi is the communications link to the FarmBot Web App. The Raspberry Pi communicates directly with the Farmduino board. The Farmduino is the central component of the FarmBot from a electronic systems perspective. This diagram shows how all of the FarmBot components interact with the Farmduino with the Raspberry Pi acting as the communications node between the Web App and the Farmduino.

Farmbot Raspberry Pi diagram.

FarmBot OS

FarmBot’s Raspberry Pi runs a custom operating system named FarmBot OS to maintain a connection and synchronize with the web application via the message broker. This allows FarmBot to download and execute scheduled events, be controlled in real-time, and upload logs and sensor data. The OS communicates with the Farmduino/Arduino over a USB cable or serial connection to send G and F code commands, and also receive collected data from sensors and rotary encoders.

FarmBot OS has a built-in utility named configurator allowing you to easily enter WiFi and web app credentials from a WiFi enabled device (such as a laptop or smartphone). This is used for initial setup in order to get your FarmBot connected to your home WiFi and web app account.

Arduino firmware

The firmware that is flashed onto the Arduino or Farmduino microcontroller is responsible for physically operating FarmBot’s motors, tools, sensors, and other electronics. It receives G and F codes from FarmBot OS, and then moves the motors and reads and writes pins accordingly. It also sends collected data from the rotary encoders and pin reads back to the Raspberry Pi.

OpenFarm

OpenFarm is a free and open database for farming and gardening knowledge. This service provides crop and growing information to the web app for a streamlined user experience.

OpenFarm was originally conceived as a small component of the FarmBot project. As progress was made, it became clear that OpenFarm had no reason to be tied to FarmBot, but could rather live on its own. In September of 2014, 1,605 people backed OpenFarm on Kickstarter. Today, OpenFarm is a standalone application, non-profit, and community. You can get involved with OpenFarm by joining the Slack channel, contributing on GitHub, or going to OpenFarm and creating content!


NASA

FarmBot's popularity grew much faster than we could imagine for our tiny team of 6. When Tech Insider released [this facebook post](https://fb.watch/5TCIHIQa8R/), the video reached over 50 million views in a matter of months. In the midst of ramping up our servers, managing open source PRs, answering forum questions, and shipping our owner overseas to meet distribution needs, we received a very interesting message in our Shopify Slack channel...

3 FarmBots have been ordered from: Kennedy Space Center

... wat 🤔

Shortly after, we received an email from the head of Project Management at KSC with an invitation to join them in strategizing how to grow food for long-term space exploration.

What could be better than seeing your team's creation sitting in a lab at NASA?

Farmbot in NASA lab.

In just a few days, we had the opportunity to explore their laboratories, have discussions with some of the world's leading experts in robotics and agriculture, and dream of what the future holds for space travel. Keep an eye out for FarmBot's big debut to Mars!

Farmbot / MIT group photo.