April 4, 2018 Software Update

We updated my.farm.bot today with the following new features and fixes:

App:

  • FarmBot OS v6 is now required to sync Web App data to FarmBot. This requirement has allowed new features to be added, and since FarmBot OS v6 has been released over 60 days ago, the legacy support period for the previous FarmBot OS version has ended.
  • ‎An upgrade reminder toast will now display when legacy FarmBot OS versions are approaching the end of their legacy support period.
  • ‎FarmBot OS will now factory reset upon password change, allowing FarmBot to be configured with the new account credentials.
  • ‎Page errors will now attempt to restrict the error to only the page component that experienced the error.
  • Continued improvements to internationalization thanks to contributions on GitHub. (Interested in adding translations?)

Farm Designer:

  • Added App setting to display approximate movement and watering history while the garden map is open.

  • Display FarmBot’s position in the map when the virtual FarmBot travels beyond the edge of the map.

Farm Events:

  • Empty Regimen Farm Events are now rendered in the calendar to allow editing or deletion.

Sequences:

  • Display an indicator next to names in the sequence list when the sequence is a dependency of another resource. (Currently only updates upon app load.)
  • Emailed messages (Send Message command) now include the chosen device name.
  • ‎All resources that use a sequence are now displayed in the “deletion prevented” error toast.

Regimens:

  • Display an indicator next to names in the regimen list when the regimen is a dependency of another resource (Farm Events). (Currently only updates upon app load.)

Logs:

  • Log filtering now occurs in the cloud, increasing performance and allowing more logs to be returned.

Today’s software release does not include an update to FarmBot OS.

March 15, 2018 Software Update

We updated my.farm.bot today with the following new features and fixes:

App:

  • Added an option to have the browser also read aloud log messages on the “Speak” channel that are spoken by FarmBot.

  • Added take photo button to the controls pop-up.
  • Improvements to internationalization thanks to contributions on GitHub. (Interested in adding translations?)
  • An animation is now shown during syncing.
  • Account verification email improvements and bug fixes.
  • A large amount of background work was done to support future app features including better dependency tracking, sensors, and settings storage.

Farm Designer:

  • Render camera photos in the garden map if the camera has been calibrated. Map images can be filtered by date and time via the garden map menu using date and time inputs or a date slider. Photos will only be displayed in the map if they match the camera calibration data.

  • Added plant status (“planned”, “planted”, “harvested”). Planted at time now changes to the current time when a plant’s status is changed to “planted”. (Thanks to renaud and creimers for the feature requests.)

  • Fixed major grid line placement with dynamic map enabled.
  • Show current position upon UTM figure hover.

Farm Events:

  • Improved dropdown menu for Sequence or Regimen selection.

Controls:

  • FarmBot OS 6.3.0 Added a new Sensors widget. Add sensors to take and view sensor readings.

Device:

  • FarmBot OS configuration settings (FarmBot OS 6.2.0) and FarmBot firmware settings (FarmBot OS 6.3.0) are now attached to your web app account, which means they will persist across SD card flashes and can be edited even when FarmBot is offline. When FarmBot is online and a setting is changed, the input will indicate when the App setting has been received by FarmBot.
  • FarmBot OS 6.3.0 Added a button to download firmware settings in the Hardware widget. Clicking the button allows copying of all settings to paste externally if desired (for troubleshooting, sharing, etc.).

Sequences:

  • Added a Farmware selection drop-down to the Run Farmware step in addition to manual input. (Thanks to Klimbim for the feature request.)
  • Improved IfRead Pin, and Write Pin pin selection drop-downs.
  • FarmBot OS 6.3.0 Peripherals and sensors can now be selected in IfRead Pin, and Write PinSequence steps instead of having to manually input a pin number.

  • Improved Move Absolute step Import coordinates from dropdown menu.

FarmBot OS (v6.2.0):

  • FarmBot OS settings (logs options, auto update and sync) are now stored in the App.
  • Sync speed and online detection improvements.

FarmBot OS (v6.3.0):

  • FarmBot firmware settings are now stored in the App.
  • FarmBot can now be e-stopped when homing on boot.
  • Added support for Sensors and Peripherals in sequences.
  • Fixed OS update bugs.

Ready to get your own FarmBot?

We’re now manufacturing v1.4 FarmBot Genesis and Genesis XL devices. Visit our shop to learn more and place your pre-order before our March sale ends!

Full Online Shop, Now Open!

Our online shop is now stocked up with partial kits and all individual parts in addition to our offering of complete FarmBot kits. For the DIY builders who have been sourcing and building many of the parts on your own but needed a few specialty items from us, now is your chance to get everything else you need to finish up your FarmBot.

Make sure to use the coupon code NEWS-15 during checkout to get 15% off your order. Coupon is not valid for complete FarmBots and expires at the end of February

January 29, 2018 Software Update

We updated my.farmbot.io and FarmBot OS today with the following new features and fixes:

App:

  • Fixed bug that limited the ability to disable internationalization. (Thanks Klimbim for the bug report.)
  • Improved recovery from loading errors.

Farm Designer:

  • Change icons for plants selected for deletion to grayscale.

  • Render toolbay slots in the garden map if a slot orientation is selected for the slot on the Tools page.

Device:

  • Gray out parameters that are not used unless enabled by a different parameter. For example, encoder options are grayed out if encoders are disabled.
  • Fixed bugs related to device connectivity display.

Sequences:

  • Display a warning if the current hardware settings conflict with Find Home or Move Absolute step inputs. Hover over the warning symbol for additional information.

  • Added Speak channel to sequence Send Message commands. If selected, FarmBot will speak the message over the audio port.

Tools:

  • Added toolbay slot orientation selection dropdown menu. This and the use current location feature have been moved into a toolbay slot options pop-up menu.

FarmBot OS (v6.1.2):

  • Send an email if FarmBot has been emergency stopped for more than 10 minutes.
  • Improved movement complete response time (Thanks Klimbim for the bug report.)
  • Misc. OS update bug fixes.

January 21, 2018 Software Update

We updated my.farmbot.io and FarmBot OS today with the following new features and fixes:

App:

  • Dates and times (Farm Events, Logs) now match FarmBot’s local timezone (set in the Device widget).
  • Web app settings are now stored on the server instead of the browser. This means app settings will now persist across all of your devices and browsers. Some settings may need to be updated.
  • Improved offline detection.
  • E-STOP is now greyed out when FarmBot is offline.
  • Updated documentation links.
  • Fixed a bug related to losing new unsaved changes created immediately after saving old changes.
  • Misc. bug fixes.

Farm Designer:

  • New “Move to coordinate” mode. Enter the mode via a button in the map menu, select a location in the map, and click the button to move FarmBot to that location. The z-axis will remain at the current height, or can be chosen by using the Z coordinate input box.

  • Minor bug fixes and improvements related to selecting and deselecting plants across modes.
  • Plant spread circles using default values are now styled differently.
  • Made map zoom increments more even.

Farm Events:

  • Improved calendar performance.
  • The number of calendar items hidden for performance reasons is now displayed in the last repeating event item.
  • Improved handling of farm events that generate no calendar items.

Controls (and controls pop-up):

  • Move widget jog buttons are now disabled when movement is not possible in that direction (i.e. at axis end with STOP AT HOME or STOP AT MAX enabled).
  • Jog button hover text now includes the jog distance and direction in addition to the axis.

Device:

  • Display important changes to FarmBot OS by clicking Release Notes.

  • Show latest available FarmBot OS version upon update button hover. (Thanks to Klimbim for the feature request.)
  • Improved update performance of board type display.
  • Moved FarmBot OS auto update toggle to a new row.

Sequences:

  • Scroll to bottom of a sequence when adding steps.

FarmBot OS (v6.1.0):

  • Fixed a bug causing SD card storage space to run out. Please update your FarmBot by clicking Updatein the Device widget. If your FarmBot is offline, please flash the SD card with the FarmBot OS v6.0.1 image [direct link], then update by clicking Update in the Device widget.

New Year, New Domain

This year we decided to switch over to a new domain name: farm.bot. When we first heard about the .bot top level domains, we got pretty excited at the prospect of registering and using farm.bot for all of our operations. However, the .bot TLD wasn’t available until just about a month ago. So as soon as we got it, we began making the transition. As of today, you can find all of our primary sites at the following new locations instead of our old farmbot.io domain.

We plan to switch over our company email addresses as well, and eventually the web application URL to my.farm.bot but we’re not there yet. Stay tuned for future announcements!

Thank you to all of our first-generation supporters

Dear 1st generation FarmBot supporters,

In July of 2016 we launched our first product to the world: FarmBot Genesis. We didn’t know what to expect when we made the kits available for pre-order on our website, but you all made it clear that we were on to something.

In the first month we smashed our crowdfunding goal of $100,000 eight times over and by the end of August we had sold $1M+ worth of FarmBot kits destined to customers all over the world. We went to manufacture 350 v1.2 devices, which we sold out of in January of 2017, and later shipped in March and April.

Since then we’ve designed, manufactured, and shipped a second production run of 250 improved v1.3 devices, and now we find ourselves finishing up a crowdfunding campaign for the latest v1.4 design, as well as the first FarmBot Genesis XL kits.

None of this would have been possible without your early contribution and support, and we sincerely thank you for taking a leap of faith with us.

As a token of gratitude, we would like to offer all of you a $200 coupon code to our online shop that you can use to upgrade your bot or even get another one! The coupon will not expire, however, it is single-use so to get the most out of it your cart subtotal should be close to $200 or more. Please note that the coupon will not apply to shipping charges and international customers are still responsible for any import taxes.

While we don’t have a ton of products in our online shop yet, we do plan to add many more partial kits, upgrade kits, and individual parts over the coming months, so you may want to wait a bit to use the coupon.

The coupon code is farmbot-early-adopter-thank-you and it can be applied at checkout. Heads up: it will only work if you check out with the same email address you used with your original FarmBot pre-order. If you need to use a different email address, please let us know.

Thank you again for joining us on this journey. We look forward to what’s next!

December 21, 2017 Software Update

Over the next two days, we will be rolling out updates to both my.farmbot.io and FarmBot OS. The updates are centered around two main features: an auto-sync option and improved logging. Below is a summary of some of the new features and fixes. Features marked with FarmBot OS 6.0.1 will only be available once FarmBot OS is updated.

App:

  • FarmBot OS 6.0.1: Aded an option to enable auto-syncing between the Web App and FarmBot OS, instead of choosing when to manually sync data. This community-requested feature is useful for getting small stable changes to FarmBot quickly, but it is recommended to use manual sync when making large changes that are not yet ready to be executed by FarmBot. The toggle is available in the Device widget of the Device page. (Thanks to creimers for the feature request.)
  • Add Logs page to navigation bar.

Farm Designer:

  • Cache OpenFarm plant icons in the browser for faster repeated icon load times.
  • Improved Farm Event calendar item presence with respect to current time.

Controls:

  • Added a button to add all default Farmduino peripherals.
  • FarmBot OS 6.0.1: Scaled encoder feedback now displays in millimeters instead of steps.
  • FarmBot OS 6.0.1: Fixed peripheral pin status display bug after emergency stop. (Thanks to Klimbim for the bug report.)

Device:

  • FarmBot OS 6.0.1: Added widget to set and remove Raspberry Pi GPIO pin bindings to allow start of a sequence by pressing a physical button (or by motion sensor output).
  • FarmBot OS 6.0.1: Device widget settings to adjust or disable factory reset on WiFi network connection/configuration error. This is useful to prevent FarmBot from needing to be reconfigured if its Internet connection goes out temporarily.
  • FarmBot OS 6.0.1: Added a homing speed parameter in the motors section of the Hardware widget.
  • Added Pin Guard to hardware settings. Use pin guard to automatically turn pins off that are accidentally left on.

Sequences:

  • Only allow importing locations from active tools (tools in tool slots) in Move Absolute steps.
  • Fixed a bug where the ghost image displayed during drag and drop of Sequence commands was not showing.
  • Added the ability to specify a reduced speed for relative and absolute movements.

Tools:

  • Added a button to add all standard FarmBot tools.

Farmware:

  • Color range selection interface bug fixes and improvements.
  • Camera calibration and weed detection widgets now use the Device is offline overlay when FarmBot OS is disconnected.
  • FarmBot OS 6.0.1: Farmware input forms and API changes. Automatically add an input form on the Farmware page for any Farmware that requires input values (specified via config in a Farmware’s manifest file). (Additional Farmware development details)

Logs:

  • FarmBot OS 6.0.1: Log messages are now saved to the backend individually as they are sent, rather than being batch uploaded.
  • FarmBot OS 6.0.1: Show bot position for each log message.
  • FarmBot OS 6.0.1: Verbosity levels for log messages. (Thanks to mdingena for the suggestion.) Logs can be filtered by verbosity level in the ticker and Logs page via the Logs page filter menu. Two presets are included in addition to the more granular level adjustments: normal and max verbosity. The higher the verbosity number, the more logs you will see.
  • FarmBot OS 6.0.1: Ability to disable Sequence Complete log messages (Thanks to Klimbim for the feature request.)
  • FarmBot OS 6.0.1: Ability to toggle sequence step execution and sequence end log message creation.
  • FarmBot OS 6.0.1: Axis homing complete log messages (Thanks to Klimbim for the feature request.)
  • FarmBot OS 6.0.1: Ability to toggle Arduino communication log messages: commands sent, responses, and debug messages.
  • Improve formatting for long log messages in the log ticker and on the Logs page.

FarmBot OS and Firmware:

  • FarmBot OS 6.0.1: FarmBot OS has been extensively reworked to improve performance and stability and to allow for new auto-sync, logging, and other new features.
  • FarmBot OS 6.0.1: Raspberry Pi to Farmduino/Arduino communication has been improved to reduce movement and communication errors.
  • FarmBot OS 6.0.1: Axis calibration now moves back to the home position after determining axis length.
  • FarmBot OS 6.0.1: Encoders now keep track of FarmBot’s position even when the motors are not running.
  • FarmBot OS 6.0.1: FarmBot OS Configurator has been redesigned to increase browser compatibility and stability. Configuration is now a multi-step process with an improved interface.
  • FarmBot OS 6.0.1: Increased the maximum allowed value for the firmware axis length parameters.

Take a closer look at FarmBot Genesis XL

We’ve gone to great lengths to design, manufacture, and source only the highest quality components for all of our FarmBot kits. Take a look at the images below to learn more about our premium hardware.

Our plates and brackets are stamped and machined out of high grade aluminum alloys. Then they are tumble polished to remove burrs, sandblasted to remove surface defects, and anodized to achieve a premium quality aesthetic and feel.

Our custom Farmduino board and four NEMA 17 stepper motors with rotary encoders power FarmBot’s movements, while the Raspberry Pi 3 serves as the web-connected brain.

All fasteners are made of stainless steel, allowing them to stand up to the outdoor environment without rusting or corroding.

FarmBot’s plastic components have been injection molded or machined from a blend of ABS that is both tough and able to withstand UV rays.

Now is your time to get involved

Pre-order FarmBot Genesis XL during December to save $800 on the 1st manufacturing run of our most productive FarmBot yet!

November 22, 2017 Software Update

We updated my.farmbot.io today with the following new features and fixes:

App:

  • Improved multi-session support: stability and performance improvements for having the app open across multiple web browsers.
  • Changed many parts of the app to support the upcoming auto-sync feature.
  • Added a dedicated Logs page to view and filter log messages by type. Access it via the link in the expanded ticker.

Farm Designer:

  • Added a virtual FarmBot E-STOP visual indicator.

Farm Events:

  • Don’t display Delete button when creating a new Farm Event.

Sequences:

  • Adjusted styling of disabled sequence test button.
  • Dragging an item from the sequence list into a sequence will add an execute step for that sequence.

Sequences and Regimens:

  • Fixed sequence and regimen copy navigation/selection bug.
  • Fixed navigation bar bug caused by some sequence and regimen names.

Farmware:

  • Photo widget now auto-updates with new photos.

Today’s software release does not include an update to FarmBotOS.

November 1, 2017 Software Update

In addition to switching message brokers yesterday, we updated my.farmbot.io today with the following new features and fixes:

App:

  • Improved account creation workflow.
  • Autmatically refresh when toggling internationalization.
  • Misc. visual and bug fixes.

Farm Designer:

  • Increase range of map zoom out (two additional levels).
  • Display visual indicators for peripheral state in the garden map. Currently supported peripherals include LIGHTSVACUUM and WATER.

Farm Events:

  • Set initial values for start and end time in the future.

Sequences:

Sequences and Regimens:

  • Only show the sequence commands and scheduler panels when a sequence or regimen is selected.

Farmware:

  • Added a toggle to view first party farmware.
  • Add gear menu with button to (re)install first-party farmwares.
  • Add links to software documentation in Weed Detector and Camera Calibration widget help text.

Today’s software release does not include an update to FarmBotOS.

Switch to RabbitMQ Message Broker

Today we made a big transition today to using RabbitMQ – the world’s most popular open-source message broker. It has a ton of features we’re excited to start using, and this is laying the foundation needed for the auto-sync feature that won the community vote a while back. For all FarmBots that are using my.farmbot.io and have FarmBotOS v5.0.5 or later installed, your device has most likely already switched over to the new message broker automatically, and there is no need to make any changes on your end. For devices that have FarmBotOS v5.0.4 or older, you will need to power cycle your FarmBot to have it connect to the new broker (unplug power, wait 10 seconds, plug it back in). Check the connectivity panel on the Device page to see if your FarmBot has successfully connected to the new message broker.

Please note: we will be shutting down the old message broker in about a week.

In other news, the latest two minor releases of FarmBotOS (5.0.5 and 5.0.6) have included other small improvements, including a fix for the double image upload bug. Thanks @Ascend for reporting that issue on GitHub.

October 20, 2017 Software Update

We updated my.farmbot.io today with the following new features and fixes:

App:

  • Show features that are not available when FarmBot is offline behind an overlay instead of hiding them.

  • Added an App Settings Menu (on the Account Settings page).
    Options include:

    • Enable Web App internationalization option (moved from account menu)
    • Confirm Sequence step deletion option (Thanks to creimers for the feature request.)
    • Hide Webcam widget option
    • Dynamic map size option (based on device axis length)
    • Double default map dimensions option
    • Display plant animations option

  • Added scrollbars.
  • Login stability improvements.
  • Misc. bug fixes.
  • Require email address verification when the account email is changed.

Device:

  • Added the Connectivity widget to help debug connection issues.
    Includes:

    • Status messages
    • Diagram
    • Diagnosis

  • Added selection of firmware board type to re-flash firmware from web app.
  • Added buttons to expand and collapse all hardware settings.

Sequences and Regimens:

  • Added an empty state graphic.
  • Swapped the left and right panels to improve workflow.
  • Scroll content of panels only, not the headers.
  • Improved experience for small screens.

Farm Designer:

  • Visual improvements and bug fixes.
  • Keep search field visible when scrolling through plants and crops.

Controls:

  • Added a Take Photo button to the Move widget. (Inspired by a custom UI from the Taiwanese FarmBot User Group)

Farmware:

  • Improved color picker visual indicator for hue.
  • Removed overlays on Camera Calibration and Weed Detector widgets. (Documentation)
  • Fixed Photo widget metadata display bugs.

Today’s software release does not include an update to FarmBotOS.

Brainstorming Innovative Open-Source Approaches to Food Production with NASA

In July of 2017, the FarmBot core team and other open-source food groups were invited to the NASA Kennedy Space Center in Florida to participate in a 2-day event to brainstorm innovative open-source approaches to food production. Watch the video below to see how FarmBot technology and our community of open-source contributors from around the world are helping humanity to one day grow food in deep space, on the Moon, and Mars.

Get Involved

Interested in becoming a part of our community? We have a limited number of v1.3 FarmBot kits remaining, get one before they’re gone! Order here.

Film produced by metaframe.io

v1.3 Documentation Now Available

Today we published v1.3 of the FarmBot Genesis documentation. This release includes our most comprehensive step-by-step assembly instructions yet, a full bill of materials including tech specs of every part, the complete native CAD model, and more. With our high quality documentation, assembling a FarmBot kit is straightforward and easy.

Additionally, these docs empower makers, students, and world-renowned scientists and engineers all over the globe with the ideas and information needed to help further improve and adapt FarmBot technology for everyone. This is our commitment to open-source in action. We hope you enjoy browsing and using the documentation as much as we do.

Want to get a v1.3 FarmBot?

Over the last week we shipped out almost all of the pre-ordered v1.3 kits. Now we have a limited number of these kits remaining, get one before they’re gone!

September 22, 2017 Software Update

We updated my.farmbot.io and FarmBot OS today with the following new features and fixes:

General:

  • Add X and Y axis jog button controls pop-up to relevant pages of the app.
  • Change toast message location from upper right to lower center of the page.
  • Increase length of message text displayed in ticker.
  • Change app loading animation.
  • Misc style updates.
  • Misc bug fixes.

Farm Designer:

  • Add a garden bed background around the garden map grid.
  • Add annotations to the grid lines.
  • Add a click-to-add planting mode. Find a crop and click ADD TO MAP to activate the mode.
  • Add ability to select multiple plants in order to delete multiple plants more efficiently. Available by clicking DELETE MULTIPLE while editing a plant. (Thanks to Klimbim for the feature request.)
  • Add plant spread overlap indicators while dragging (editing) plants in the map. The color of the adjacent plant spread circles indicate the degree that the dragged plant’s spread is overlapping them.
  • Improve plant dragging at grid edges.
  • Add special styling to seed bins and trays.
  • Show the selected plant icon and indicators on top of other plants.
  • Add a link to the tools page for tools in the map.
  • Fix OpenFarm search bug.
  • Add animations to plants on plant and hover.
  • Add ability to deselect a plant by clicking the map background.

Controls:

  • Add ability to add and view multiple webcam feeds. (Thanks to odranreb for the feature request.)
  • Add ability to name webcam feeds.

Device:

  • Add firmware hardware information display.

Sequences:

  • Change pin write step value to an ON/OFF dropdown for pin value when in digital mode.

FarmBot OS:

  • Add selector for firmware hardware to Configurator.
  • Fix an OS update bug.
  • Fix an image upload bug.
  • Fix a farmware download bug.

August 24, 2017 Software Update

Hi all,

We deployed some new code to my.farmbot.io this morning with the following new features and fixes:

  • Refactored the SAVE buttons throughout the app so that they are more robust
  • Improved the automatic redirection logic for logged-in vs logged-out users
  • Improved toast notification messages for when the web app loses connectivity
  • Bug fix related to scheduling regimens
  • Style improvements to the webcam URL input
  • Bug fixes to the controlled inputs on the login page
  • Added a Chinese translation file submitted by @hx244808 (this was actually deployed on Monday)
  • Bug fix related to the date field when creating a farm event
  • Bug fix related to device naming
  • Updated dependencies
  • Added unit tests all around

Behind the scenes Connor and Rick have been working on our switch to the RabbitMQ message broker. Please note that not all work is done on the master branches of the upstream repositories.

Today’s software release does not include an update to FarmBotOS.

August 10, 2017 Software Update

Hi all,

Since the big v5.0.0 announcement a few days ago we’ve gotten a few fixes and features out the door:

  • There was a bug with sub-sequence execution, when the parent sequence simply stopped when it got to an Execute command. This has been resolved in OS 5.0.1
  • If you had already upgraded to OS 5.0.0 and are now upgrading to OS 5.0.1, you’ll see the progress indicator on the update button in the web app. Sometimes it will display as amount of data downloaded and sometimes as a percentage (depending on the GitHub server that it is being downloaded from)
  • Because the frontend and backend repositories were separated until v5.0.0, we had caching issues and problems with the app loading on iOS devices. Those issues have now been resolved
  • The jog buttons now become disabled and greyed out when FarmBot is busy doing a movement
  • The homepage styling has been updated to match the farmbot.io homepage :sunglasses:
  • Clear labels have been added to the dropdown menus for Pin Mode on the Write and Read Pin Commands

v5.0.0 Software Update

Hi FarmBot Community,

Today we released a version 5.0.0 of the FarmBot software stack! We focused the last six weeks of development on stability, under-the-hood changes, and a grab bag of new features that make using the web app quicker. Here we go:

Web App

The largest changes to the web app are ones most people will not see. Before, we had two code repositories – one for the frontend, and one for the backend API. We originally chose this architecture because we felt it would make casual open-source contributions easier and less intimidating. However, having two repositories for the single app has only confused people, made development/self-hosting setups more difficult to get running, and hindered our abilities to develop a real-time messaging API and continuous integration toolchain. The two codebases have now been merged into a single repository named FarmBot-Web-App.

Merging the repositories has allowed us to better use code testing tools. You will now see in the repository README a few badges for the code coverage. While the coverage is still low, Gabriel, Rick, and Chris have been writing tons of tests that will allow us to ensure we don’t introduce bugs or regressions into the software. If you are “watching” the repository, you will see automated emails after every pull request showing how the coverage is improving with the new code.

Because of the above two changes, we have also been able to set up a continuous integration toolchain. This means that every time a pull request with new code is submitted, our continuous integration server “tries it out” and runs all of the tests. If it passes all the tests, we know that the code can be safely merged. The continuous integration server makes testing faster and more consistent, allowing us to begin deploying to production with smaller updates more often.

Ok, now for some things that you can actually see:

The form for creating Farm Events has been streamlined. Now by default, events will not be repeating events. If you want to make a repeating event, you can click the checkbox and then add the repeat details. Note that we don’t currently support repeating regimen events – only repeating sequence events.

Search-filterable dropdown menu for selecting a Sequence or Regimen for a Farm Event:

Regimen items are now displayed in the calendar along with the parent regimen event.

The controls widget now shows the current motor positions in addition to providing the absolute movement input fields. There are also some extra toggle switches located in the advanced menu for viewing raw and scaled encoder positions which might help some people (especially DIY builders) debug their encoders and settings. (Thanks @klimbim for the suggestion)

Search-filterable Sequences and Regimens Lists allow you to quickly find and select one for editing.

We added search-filterable dropdown menus for selecting a Sequence in an Execute command.

And for importing coordinates into the Move Absolute command.

There are new buttons for selecting/deselecting all of the available days when adding a Sequence to a Regimen.

The Farm Designer now uses Spread values from OpenFarm (how big a plant is expected to grow) when rendering the filled-in green circle on the map, allowing you to better plan out your garden layout.

Hotkeys for syncing, navigating pages, and adding plants and events. See the hotkeys menu by pressing ctrl + shift + /

We implemented a “Last Seen” feature in the Device Widget so you can see when FarmBot last connected to the cloud server.

  • The URL of the web browser now changes when navigating between sequences and regimens. This allows you to use the browser back and forward buttons for faster navigation, and refreshing brings you back to where you were.
  • The Sequence or Regimen being currently edited is now highlighted in the list.
  • Better empty-state formatting and messages on the Sequences and Regimens pages.
  • The date has been added to all status ticker messages.
  • The main navigation is sticky, so it always stays visible on the screen. Thanks @creimers for the suggestion)

Arduino Firmware

The latest Arduino Firmware that is bundled with FarmBot OS v5.0.0 has many improvements:

  • Rotary encoders are now read more quickly. Technically speaking, Tim has moved the stepper movement code out of the interrupt and into the main loop function. This allows interrupts to run faster because the interrupt is now only responsible for reading the encoders. Please note that this has come at a very slight cost to the smoothness of movements. We will continue to improve the firmware and push the Arduino to its limits to try and get both movements and encoder readings as fast and reliable as possible.
  • The new firmware echoes all commands sent from the Rasberry Pi which makes communication between the two much more reliable. This addresses issues related to skipped Sequence steps.
  • When the bot is e-stopped then it will enter into a “safe state” where it turns off all peripherals and stops the motors. An additional toggle switch in the Motors category in the Hardware widget allows for “E-stop on movement errors”, which will also send the bot into a safe state when a movement fails to complete after its max number of retry attempts. The user will need to unlock the device from the web app to have it resume work in either situation. This feature will prevent flooding the garden when an e-stop happens while watering.
  • The movement retry feature has been moved from the OS into the firmware.
  • Unlocking the device from an e-stop no longer requires a reboot, so unlocks happen much more quickly.

FarmBot OS

Most of the changes to FarmBot OS were to support the new features and changes in the other codebases. We did however:

  • Lay more groundwork for the farmware plugin system, which is what the weed detection system uses.
  • Add download progress messages so you can see that FarmBot is downloading an update or farmware plugin. Note that you won’t actually see these messages until the next release is downloaded.

Up Next

  • Switching to a RabbitMQ message broker – this will solve issues where FarmBots or web browsers behind a school or company firewall are blocked from using the current MQTT ports (which prevents communications). This will also allow us to add real-time messaging abilities to the web app (think: better reliablility, faster log syncing to backend, etc)
  • We plan to have all regimen events start at midnight, because it doesn’t make much sense to start a regimen part-way through a day.
  • We plan to allow you to back-schedule regimens, so you could for example transplant a three-week-old-plant into your FarmBot, back-schedule a regimen for taking care of the plant from seed, and then the first three weeks worth of items in the regimen would be skipped.
  • Calendar filters that allow you to more easily find events
  • A jump-to-today button on the calendar in case you scroll really far and want to get back to today
  • Some network status indicators in the Device widget and toast notifications for the app. These will help you debug connectivity issues, especially in cases where FarmBot or your web browser are behind a school or company firewall that is blocking access to the MQTT message broker.
  • Deploying weed detection farmware.
  • An ability to click-to-add plants in the farm designer so that the experience is more compatible with touchscreens and eye-tracking software (for people with disabilities), and so adding many plants at once is much faster.

While many of the features in this release make working with the app and bot faster and easier, we’re still working on addressing the tediousness discussed in the last software update. Now that we have the technical infrastructure in place for smaller updates that are more frequent, we hope to move towards weekly production pushes and more regular update posts. Stay tuned!

Using FarmBot as an Accessibility Technology

Thrive Upstate is a non-profit in Greenville, South Carolina that provides people with disabilities and special needs with meaningful services, opportunities, and support, so they may thrive in life, work and play. See how they are using FarmBot as an accessibility technology for horticultural therapy and to empower individuals who might not otherwise be able to grow their own food.

FarmBot Genesis v1.3 Update

Hey FarmBot community! Over the past few months we’ve had our heads down working on the next batch of 250 FarmBot Genesis v1.3 kits. There’s a long list of improvements we’ve made since v1.2, and here are the two biggest:

Farmduino

Our new open-source custom electronics board designed specifically for FarmBot. This board combines the functionality of RAMPS and the Arduino Mega into one board with great connectors, easy to read silkscreened labels, and a few other bells and whistles. With Farmduino, wiring up FarmBot will be much faster and less error prone.

Injection Molded Parts

In v1.3, more parts are being injection molded out of a UV stabilized ABS material. Many of these new components are lighter, stronger, and/or less expensive than the ones made in the v1.2 kits, which is what allowed us to lower the cost of the v1.3 kits.

In other news: help save the bees!

Our friends over at Open Source Beehives have created an advanced beehive sensor that could help us discover what is killing the bees, open-source style!

They just hit their $20k Kickstarter goal and are pushing to get a BuzzBox in every State in the USA. You can support their efforts by adopting a BuzzBox in your State, purchasing one for your beehive, or checking out their other awesome perks: See the campaign.

v4.0.0 Software Update

Hi FarmBot community,

I’m happy to share that we just released v4.0.0 of FarmBot OS and deployed the last 2 month’s worth of web app progress to my.farmbot.io! Here is an overview of what’s new:

Import Plant Coordinates into Move Absolute Commands

Move Absolute commands in the sequence builder can now import coordinates from any Plant in the Farm Designer. This allows you to graphically design your garden layout and then use Sequences to perform operations according to the plant locations. For example: You can make a sequence that moves to a plant location and then waters the plant.

Note that all plants currently have a z-coordinate of 0 so you will most likely need to use the z-offset functionality in combination with the imported plant coordinates. On our roadmap is the ability to define the z-height of your soil plane. Then, all imported plant coordinates will have a default z-coordinate according to the soil height and planting depth.

Find Home in Sequences

As requested, we added a FIND HOME command to the Sequence Builder. This allows your FarmBot to programatically find the home (minimum) position and set that position as (0, 0, 0) whenever you want. We recommend as a best practice to not only MOVE ABSOLUTE to (0, 0, 0) at the end of your sequences, but then also FIND HOME to ensure locational accuracy. You might also want to FIND HOME at the beginning of tool mounting sequences. You can choose to find home for a single or all three axes.

Send Email Messages

SEND MESSAGE commands can now be configured to send you an email in addition to the status ticker and toast notification options.

The Farm Designer

You can now choose the origin of the Farm Designer map to match up its display with how you have configured your FarmBot. There are four options – one for each corner. In the image below, the bottom left corner is chosen as the origin. Coming soon will be the ability to rotate the map 90 degrees so that all possible configurations are covered.

Spread is the expected maximum size that a plant will grow. It is displayed in the farm designer as a filled-in semi transparent green circle behind each plant icon. It is shown when you click an icon, or shown for all plants when the layer is turned on from the right-side menu. Spread is useful for efficiently using the space in your garden without overcrowding any plants. Spread data will soon come from OpenFarm, though right now we are just using a default value for all crops.

The new FarmBot layer shows the locations of the tool slots as semi transparent gray circles. The name of the tool in that slot is shown upon mouseover. This layer also displays the real-time location of the FarmBot gantry and cross-slide/z-axis as a darker gray bar and circle (shown at the home position (0, 0, 0) in the image below).

Other bug fixes and improvements

  • Status ticker times are now displayed correctly
  • Dragging and dropping now works at all map zoom levels and scroll locations
  • All Arduino Pins are now available for evaluation as the variable in an IF statement
  • You can now also choose “is unknown” from the operator dropdown in an IF statement
  • Camera widget displays properly when no webcam stream is present
  • Crop image aspect ratios are now correct
  • New Invert Jog Button Toggles located in the gear menu on the Controls widget allow you to match the jog buttons to your real-life perspective when manually controlling FarmBot. Coming soon: an additional toggle to swap the X and Y jog buttons to cover all possible perspectives.
  • To reliably execute Farm Events, your FarmBot needs to know its timezone. We will guess your FarmBot’s timezone and set it for you based on your web browser’s location, though if you manage your FarmBot remotely (from a different timezone) then you should double check our guesswork by going to the Device page and finding the TIMEZONE dropdown.
  • New organization of the device parameters

New Arduino Firmware

We have further improved the rotary encoder support. We recommend these new parameter values for the rotary encoders and motors:

  • Max Speed (Steps/s): 400
  • Enable Encoders: Yes
  • Encoder Scaling: 56
  • Max Missed Steps: 5
  • Encoder Missed Step Decay: 3

While the encoders are currently best used for stall detection, we are working on the ability to use them for positioning as well. You can try the experimental support for this with the new toggle switches for “Use Encoders for Positioning”. Note this will not work reliably above 400 steps/s.

The new firmware also supports software limits (STOP AT HOME and STOP AT MAX) that will restrict movements from going beyond the maximum or minimum locations. We recommend enabling these from the Device page of the web app.

AXIS LENGTH values are now automatically set during calibration. You can also manually set the values from the device page, though they will be overwritten with every calibration.

FarmBot OS v4.0.0

The ability to import plant coordinates required a significant refactor to how plant, weed, and tool locations are defined across the entire software stack. FarmBot OS v4.0.0 is a required upgrade to be able to use the new web app features. In addition to the new importable coordinates functionality, the new OS also includes:

  • Better WiFi stability that resolves the :nxdomain issues
  • Improvements to rebooting and factory resetting
  • The new Arduino firmware

To upgrade to the new OS, simply go to the Device page and press the green UPDATE button. Note that the download and upgrade might take a while and your FarmBot may reboot a few times.

Addressing Tediousness

We understand that programming your FarmBot to take care of an entire garden is still a tedious process that requires many duplicate sequences and regimens rather than generic reusable ones. For example: each tool requires its own “pickup” sequence. And each plant requires its own “water” sequence or move absolute steps. We have a lot of ideas and features on our roadmap for how to make these things less tedious:

  • Move Absolute commands that can inherit coordinates from a parent sequence, regimen, or farm event – Currently you can manually define move absolute coordinates or import them from a tool, plant, etc. In either case, the coordinates are resolved in the sequence step. Inheriting coordinates will allow the coordinates to be resolved in the sequence itself, in a parent regimen, or in a parent farm event. This will allow sequence steps to be more generic, and only become fully defined as part of the entire sequence or when that sequence is scheduled in a farm event or used in a regimen.
  • Plant groups – Allows you to define groups of plants. There will also be some auto-generated groups for all-plants, and plants of a certain crop. This allows:
  • Looping a sequence over a group of plants or weeds – This will allow you to make one watering sequence, for example, that can be run for all of your plants.
  • Applying Regimens to a Plant or Plant Group – Currently you can schedule regimens to run on their own, and they might interact with your plants. However, the grand vision is to be able to apply a regimen to a plant, or group of plants. This will allow you to re-use all the sequences and steps needed to take care of a crop, season after season.

What Else is Next

Our next big pushes include the notes mentioned above, as well as:

  • Improving the communication between the Arduino and the Raspberry Pi by implementing a stricter messaging specification. This will help resolve some of the issues we’ve seen with “combined movements”, unexpected e-stop unlocking results, and other anomalies.
  • Displaying all Regimen Items in the Farm Events calendar
  • Implementing a “Safe State” feature so FarmBot knows what to do (and what not to do) during an E-Stop or when the encoders detect a motor stall.
  • Implementing a “Retry Movement” feature so that FarmBot can attempt to move again after a stall. If the max number of retries limit is reached, the device will likely be e-stopped and you will be notified via email. Note that this concept is still in the works and subject to change.
  • Deploying alpha weed detection farmware.
  • And of course: stability improvements and bug fixes throughout the stack.

We appreciate everyone’s support in providing us with software feedback, reporting bugs, and troubleshooting. We also appreciate everyone’s patience as we develop these new features. We understand that this release took a while since the last big one, and we’re working to speed up the time in between releases so that you can get new features and fixes faster. We look forward to hearing what you think!

FarmBot Stories: The Sudweeks Family

Garrett and Lexie Sudweeks are first generation FarmBot builders in Cedar City, Utah in the United States. Watch them put together their v1.2 FarmBot Genesis kit and hear what it means to them to grow their own food and be a part of the larger open-source FarmBot community.

FarmBot Genesis v1.2 Videos

We just uploaded nearly 30 new videos to our Youtube channel that discuss our v1.2 FarmBot kits. In this series you can see a complete unboxing as well as closeups and detailed descriptions of every part in the kit. Check it out:

April 25, 2017 Software Update

Tuesday afternoon we deployed updates to the FarmBot web API, frontend, FarmBot OS, and the Arduino firmware. Here is an overview of the specific changes, bug fixes, and improvements throughout the software stack.

Improved Rotary Encoder Support

The latest firmware included with FarmBot OS 3.1.4 has much improved rotary encoder support. Enabling rotary encoders allows FarmBot to detect when its motors stall. For example: when it reaches its minimum and maximum locations during calibration, or when a plant grows onto your tracks and causes FarmBot to get stuck. For the encoders to work correctly, you will need to have your settings within acceptable ranges. As a starting point we recommend the following:

  • Max Speed (Steps/s): 400
  • Enable Encoders: Yes
  • Encoder Scaling: 100
  • Max Missed Steps: 10

As we continue to make code improvements and optimizations, we will refine these recommended numbers and build them into the firmware as defaults.

Once you have entered in settings for the encoders, the “Calibrate” buttons on the hardware widget will instruct FarmBot to move (slowly) to find its minimum and maximum points, and also measure the distance between them. Not implemented yet but on our list for the next deployment is using these measurements to make sure FarmBot never tries to move beyond its maximum locations, as well as showing the values in the input boxes for “Length” on the hardware widget.

The “Home ” buttons on the hardware widget will also utilize the encoders to re-find the minimum position along an axis. Note: this is different than the home button on the controls widget which just tells FarmBot to move to (0, 0, 0).

Firmware

  • Set the current position as zero for each axis. This makes manual calibration easier – just move your bot to your desired home position and press the “Zero ” button(s) from the hardware widget on the web app to set that position as zero.
  • Always-on motors. You might want or need your FarmBot’s motors to always be powered so that they are ‘locked’ in position even when FarmBot is not moving. For example, an always-on z-axis motor would prevent the z-axis from wiggling down due to gravity. Enable or disable this setting for each axis from the toggle switches on the hardware widget.
  • Invert encoder toggles. These toggle switches will allow you to invert the encoder readings in case you plugged the encoders into the RAMPS board backwards.

Web App

  • Improvements to the hardware widget which make updating hardware settings faster and more reliable.
  • Smarter Save buttons throughout the app indicate if data is Saved, Saving, or needs to be Saved. This feature replaces most of the green “Success” toast notifications.
  • Bug fixes to the Farm Events creator and editor.
  • Photos in the weed detector widget now show up newest first.
  • Log filtering to prevent the display or recording of any sensitive information such as home wifi credentials.
  • When editing a plant’s location, its “spread” is shown as a green circle, indicating the amount of area the plant will need. Note: This data comes from OpenFarm and is not available for many crops yet.
  • Mouseover effects for the farm designer allow you to quickly see what icon a plant in the all-plants-list corresponds to.
  • Tooltips have been added to every hardware setting to help clarify what that setting is used for.
  • Added a link to the software documentation hub under the right-side dropdown.
  • Descriptive browser tab titles.

FarmBot OS

  • Log filtering has been fixed to prevent sensitive information such as home wifi credentials from leaving the device.
  • OS errors are now sent to us (from all FarmBots) using a system called Rollbar which allows us to better detect, diagnose, and fix bugs as they happen.
  • Support for all the new firmware settings.
  • The latest firmware is included.
  • Stability improvements, better logging, and bug fixes to wifi and other core areas of the OS.

Other

  • OpenFarm (the database that provides icons and crop info) has added Companion Plants to their infrastrucutre. While we are not pulling this data into the FarmBot web app just yet, we do plan to show this information in the future so that you can better plan your garden.
  • We now have over 100 crop icons created and uploaded to OpenFarm.
  • Updated/added the Contributor License Agreement links on all active repositories.
  • Added MIT Licenses to any active repositories that were missing them.

What’s Next

Our next big pushes include:
* Performance improvements for encoders.
* Improve how E-Stop works at the firmware and OS level.
* Implement a “Safe State” feature so FarmBot knows what to do (and what not to do) during an E-Stop or when the encoders detect a motor stall.
* Deploy alpha weed detection farmware to all users.
* Ability to use plant and weed coordinates in your sequences (as defined in the farm designer or generated from the weed detection farmware)
* Ability to loop a sequence. Initially, looping will just be repeating the same sequence multiple times, but the feature will expand into looping a sequence over a group of plants or weeds. So for example: you could make one weeding sequence that loops over all the weeds in your database, and then schedule it for every day at 6am.
* Ability to apply a regimen to a plant for taking care of it throughout its entire life.
* Dedicated web app pages for weed detection and farmwares.
* And of course: stability improvements and bug fixes throughout the stack.

Our Premium Hardware

We’ve gone through great lengths to design, manufacture, and source only the highest quality components for our kits. During the last few weeks we took photos of all our hardware so that our Bill of Materials and other webpages accurately reflect our product. Check out the photos!

 

All (300+) FarmBots have been shipped!

As of yesterday afternoon, all of the 1st production run orders have left our warehouse. This includes all orders placed before January 7th that we have verified addresses for. If you ordered before January 7th and haven’t verified your address yet, please respond to this email with where you want us to send your FarmBot.
While the process of final packaging and shipping took longer than we anticipated, we learned a lot about how to set up an efficient assembly line, the paperwork requirements for international orders, and the ins and outs of working with logistics providers. Check out our (now) nearly empty warehouse!

Pre-Order FarmBot Genesis v1.3

We’re accepting pre-orders for FarmBot Genesis v1.3. This version will incorporate feedback from the community and our testing, and will ship in July. Pre-order your FarmBot!

Welcome to the FarmBot Warehouse

FarmBot supporters and customers, check out this short video to get an inside look at our warehouse and see what it takes to do the final packaging of the v1.2 FarmBot Genesis kits!

Shipping update

All domestic orders have been shipped to those who have verified their address with us. International orders have started shipping, though the exporting and customs paperwork required for each shipment and country has been slowing down the process. We appreciate your continued patience as our small team works through these logistics to deliver everyone’s FarmBot. Once your FarmBot packages are scanned in by the mail carrier, you will receive an automated email with the tracking information.

We’re all sold out! (sort of)

On January 7th we pre-sold the last FarmBot Genesis Kit as part of our first production run. That means that any pre-orders placed now and into the future will be part of our second production run and ship in July. Pre-order your FarmBot.

Mountains of FarmBots are heading out the door

Over the last three weeks we’ve been working hard in the FarmBot warehouse to do the final QA checks and packaging for all 350 FarmBot kits. While the process has taken longer than we hoped for, we’re certain it will be worth the wait for everyone. By Monday, we will have shipped out all of the US orders for those who have verified their address with us. If you haven’t yet verified your address, please respond to this email.

International orders have started to ship out too, though the exporting and customs paperwork required for each country has been slowing down the process. We appreciate your continued patience as we work through these logistics. Once your FarmBot hits the mailstream, you will receive an automated email with the tracking information.

Check out our assembly line

Here are just some of the parts that we counted out and put into little bags. You can see how 350 FarmBots worth of packing could take quite a while!

This assembly line was used to make one of the top-level kit bags.

About 150 completed bags from the above assembly line.

The top-level assembly line includes: the hardware kit, plate kit, motor kit, cable bags, cable carriers, electronics boxes, power supply, miscellaneous bag, getting started guide, thank-you card, and stickers. Phew!

Completed FarmBot kits with shipping labels applied.

Dozens of FarmBots on their way to you!

We’re all sold out! (sort of)

On January 7th we pre-sold the last FarmBot Genesis Kit as part of our first production run. That means that any pre-orders placed now and into the future will be part of our second production run and ship later. We’re still working out the timeline for the second run, but a conservative ship date is in July. Pre-order your FarmBot.

March Software Update

Check out what’s new with the FarmBot software stack since last month:

We now have over 70 awesome crop icons made for common garden vegetables. Simply drag and drop plants into the farm designer to see for yourself! Have a favorite crop that you want an icon for? Just respond to this email with the crop name and we’ll add it to our list.

We’ve introduced the concept of Farmware: software plugins that you can install on your FarmBot to extend its functionality. So far we have a few 1st-party farmwares in the works for taking photos, calibrating the camera, and identifying weeds. Once the farmware infrastructure stabilizes, we’ll document how you can create 3rd-party farmwares of your own!

We’ve added new Sequence builder commands for running farmwares and taking photos. Coming soon is the ability to run any farmware you have installed from your sequences.

Camera calibration and weed detection farmwares are now in beta and have their own widget on the web app. With camera calibration, you can calibrate your camera so that pixels in the photos are converted to coordinates in the FarmBot system. And with weed detection, you can use the camera to identify weeds. Over the next few weeks these features will come out of beta and come built-in to the app and OS.

Other important software updates

Starting with v3.0.8 of FarmBot OS, the Arduino firmware will be bundled into the OS so there are never compatibility problems between the two codebases.

Shipping update

We’re continuing to do QA checks and ship out devices as fast as we can. Once your FarmBot hits the mail stream, you will receive an automated email with tracking information. Please be patient as we have many orders to process.

We’re all sold out! (sort of)

On January 7th we pre-sold the last FarmBot Genesis Kit as part of our first production run. That means that any pre-orders placed now and into the future will be part of our second production run and ship later. We’re still working out the timeline for the second run, but a conservative ship date is in July. Pre-order your FarmBot.