I wanted to give you all an update on the progress of the new v1.4 FarmBot kits because many of our new customers are eager to get started with it, and some of you older customers enjoy seeing our progress as well
We’re in the final stretches of our largest manufacturing run yet where we’re making 300 Genesis v1.4 kits and 200 Genesis XL kits! I visited our manufacturing partners a week and a half ago for quality assurance checks and everything is coming together quite nicely. Below is a photo of a FarmBot we built with almost all of the final production parts:
Please disregard the non-standard method and additional hardware we used to secure the tracks to each other and mount the toolbays. We did this because we were not working with a raised bed.
While 95% of the parts are finished up and ready to go, there were some minor issues with the new electronics box injection mold tooling that is requiring some re-work time. In a nutshell, some of the mold tooling needs to be further machined in order to add material to the final box component as we designed it. Without this re-work, there would be a high likelihood of the box latch points failing, and the sealing between the lid gasket and the box wouldn’t be as good.
In the photo below you can see the missing material from the box latch point, leaving a small slit that shouldn’t be there. The following CAD model screenshot shows what additional material is meant to be there. In the photo, you can also see the break points in the gasket sealing ridge where the ejector pins push the part out of the mold. These ejector pins need to have a slot machined in them to allow additional plastic to enter the mold resulting in a continuous gasket ridge as seen in the CAD model.
We’re estimating that the box mold tooling fixes, injection molding production, and electronics box assembly will take 10 to 12 more days, at which point all parts will be ready to go.
While we won’t publish the v1.4 documentation, CAD models, and entire list of improvements until the kits leave our warehouse, here is a sneak peak at some of the new hardware:
The entire electronics box including the PCBs and internal wiring will come pre-assembled and tested. This is a huge step forward in making FarmBot a more consumer friendly machine to work with. It reduces the intimidation factor that many of our prospective customers have who are inexperienced in working with electronics, and it brings us closer to our longer term vision of “FarmBot as an appliance”. Furthermore, pre-assembly and testing will reduce the number of customer assembly errors and the need to send replacement parts.
As you can see in the images above and below, the box now features five push-buttons and four LED indicator lights which are connected to the Raspberry Pi’s GPIO via an adapter board. Two buttons and two LEDs will be reserved for E-Stop, Unlock, Sync Status, and Connection Status, while the remaining buttons and lights will be user customizable. Some examples of how you can use these: make a demo sequence that executes upon button press, flash an LED 5 seconds before a sequence is going to begin, turn a peripheral on/off with a button, tell the FarmBot to Find Home with a button press, etc.
The v1.4 electronics will include a new version of the Farmduino with an STM32 co-processor to monitor the rotary encoders at a much higher frequency than was possible with the Atmega 2560 chip. More details on the improvements, as well as the complete schematics will come with the documentation.
The new kits include a new UTM with a PCB and pogo pins. Gone are the days of electronic screws with zip-ties! Furthermore, the new UTM will come fully pre-assembled so users can just mount it and plug in the UTM cable. The design is backwards compatible with the v1.2 and v1.3 tools. How cool do those matte black PCBs look?
New FarmBot Warehouse + Office
In preparation for our largest manufacturing run yet, our growing inventory of individual and replacement parts, and our need for additional R&D space, last week we moved into a new 4,000 square foot facility in San Luis Obispo. With the help of several friends and a bunch of truck and van trips across town, we’re now settled into our new space. More pictures and a video to come!
The winners, celebrated at a special awards ceremony at the Marina Del Rey Hotel, have been chosen from thousands of entrants, whittled down to hundreds making the trip to California. The ceremony, led by Red Herring chairman Alex Vieux, was preceded by two days of keynote speeches, discussions and finalist presentations.
Companies were judged by industry experts, insiders and journalists on a wide variety of criteria including financial performance, innovation, business strategy and market penetration. Winners ran the gamut of verticals, from fintech and marketing to security, IoT and many more.
Red Herring’s editors have been evaluating the world’s startups and tech companies for over two decades. It gives them the ability to see through the industry’s hype, to pick firms that will continue on a trajectory to success. Brands such as Alibaba, Google, Kakao, Skype, Spotify, Twitter and YouTube have all been singled out in Red Herring’s storied history.
“2018’s crop of Top 100 winners has been among our most intriguing yet,” said Vieux. “North America has led the way in tech for so many years, and to see such unique, pioneering entrepreneurs and companies here in California, which is in many ways the heartland of the industry, has been a thrilling experience.
“What has excited me most is to see so many people forging niches in high-tech and cutting edge sectors,” added Vieux. “Some of the technical wizardry and first-rate business models on show here at the conference has been fantastic to learn about. We believe FarmBot embodies the drive, skill and passion on which tech thrives. FarmBot should be proud of its achievement: the competition was incredibly strong.”
Following FarmBot’s Top 100 win it is invited to showcase itself at the Top 100 Global event in October. Red Herring is dedicated to support FarmBot’s continued path to success and innovation.
We updated my.farm.bot and FarmBot OS today with the following new features and fixes:
Added a button to the crop info panel to create a plant in the garden map at FarmBot’s current position.
Added an input form to Run Farmware steps if the selected Farmware accepts inputs. These inputs allow a Farmware with inputs to be scheduled or run multiple times with specific inputs each time.
Increased browser performance when generating many logs.
A warning log will display and a “cooldown” period begins if a looping issue creates too many logs at once. The rate limits are 1k logs/minute, 10k logs/hour, and 100k logs per day, at which point logs will no longer be delivered or stored until the next time period.
Removed outdated filter of logs containing the word filtered.
Fixed bug where emergency stop emails were sent twice for the same event.
FarmBot OS (v6.4.2):
Pre-installed a new farmware_tools package to provide Farmware with a simple interface to common commands. To use the new functions, just import farmware_tools as shown in the Farmware development documentation. (You can also pip install farmware_tools for local development.)
If FarmBot OS reboots for any reason and a fat32-formatted flash drive is plugged in, FarmBot OS will store a copy of its logs on the flash drive.
We updated my.farm.bot today with the following new features and fixes:
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?)
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.
Empty Regimen Farm Events are now rendered in the calendar to allow editing or deletion.
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.
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.)
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.
We updated my.farm.bot today with the following new features and fixes:
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.
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.
Improved dropdown menu for Sequence or Regimen selection.
FarmBot OS 6.3.0 Added a new Sensors widget. Add sensors to take and view sensor readings.
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.).
Added a Farmware selection drop-down to the Run Farmware step in addition to manual input. (Thanks to Klimbim for the feature request.)
Improved If, Read Pin, and Write Pin pin selection drop-downs.
FarmBot OS 6.3.0 Peripherals and sensors can now be selected in If, Read 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!
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
We updated my.farmbot.io and FarmBot OS today with the following new features and fixes:
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.
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.
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.
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.
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.
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.
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.
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!
During the month of December we’re accepting pre-orders at a significant discount for the first manufacturing run of FarmBot Genesis XL as well as the latest version of the standard sized FarmBot. Make sure to check out our online shop before the end of the year!
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.
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.
Cache OpenFarm plant icons in the browser for faster repeated icon load times.
Improved Farm Event calendar item presence with respect to current time.
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.)
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.
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.
Added a button to add all standard FarmBot tools.
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)
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.
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.
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.
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.
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.
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!
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
Clear labels have been added to the dropdown menus for Pin Mode on the Write and Read Pin Commands
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:
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 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.
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.
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!
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.
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:
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.
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.
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!
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.
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:
Today we were announced the winners of the Cool Idea! award from Protolabs! This will allow us to produce a custom electronics box for FarmBot Genesis v1.3 as shown below. Thank you so much to Protolabs for this tremendous opportunity and support in growing our business. We look forward to working with you to produce these parts!