July 26, 2018 Software Update
While we’ve been working largely on ongoing projects such as developing the infrastructure to support Sequence variables in FarmBot OS and preparing for shipment of FarmBot Genesis v1.4 kits, we also released a handful of features and fixes to the Web App (at my.farm.bot) and FarmBot OS (v6.4.5) today. Note: Many of these features require upgrading to FarmBot OS v6.4.5.
More FarmBot OS diagnostic information
A few of you have expressed interest in additional status information from your FarmBots to be displayed in the Web App. We’ve added a Raspberry Pi information display to the Connectivity widget that shows:
- WiFi strength: View the signal strength of the WiFi access point at your FarmBot. Weak signal strengths may cause connectivity issues, and may be resolved by bringing a WiFi access point closer or connecting FarmBot to ethernet.
- CPU temperature: View the temperature in Celsius of your FarmBot’s CPU, and a color marker indicating where the temperature falls relative to normal operating temperatures. The indicator will show green when the temperature is within a normal range, blue when cold, and red when hot. (The CPU is rated to operate up to 85 degrees Celsius.)
We’ve also added a
Record Diagnostic button to the Device widget that saves a diagnostic report with information from FarmBot OS to the Web App. If you are experiencing trouble with your FarmBot, you can press the button to save relevant status information to the Web App database and provide the report identifier to us in a support request. We will be able to pull up the diagnostic data to help us identify issues and implement fixes more quickly. Reports do not contain personal information, although they can be used to identify your account. We recommend sharing only the ticket identifier, not the report, online.
New Farmware page layout
As we see more of you experimenting with and sharing Farmware to provide more functionality to your FarmBots, we’ve been working to improve the process of developing and using these plugins. In the last update we released Farmware Tools and sequence step parameter inputs. For this update, we’ve reworked the Farmware page layout, which now features panels similar to the Sequences and Regimens pages. The new layout allows easier access to Farmware input forms and provides a panel for more detailed Farmware information to be displayed.
Buttons and LEDs
For a while now, we’ve wanted to improve and expand upon the button and status LED features of FarmBot. As described in an earlier post, the latest version of the electronics box included with v1.4 kits will have five buttons and four LEDs across the top. These buttons will allow quick actions while near the FarmBot, and the LEDs will provide an at-a-glance status report. (Plus, we find physical buttons to be quite fun! Our button that executes a demonstration sequence complete with text-to-speech narration sees a lot of use in our office.)
In this release, we’ve increased button functionality and added the following LED behaviors to FarmBot OS. While these tables are organized by LED placements in the latest kit hardware, the pin numbers designate the Raspberry Pi BCM pin numbers to which the LEDs are connected, allowing status LEDs to be added to any FarmBot.
|Button||LED Pin||Color||Function||LED Behavior|
|2||23||Yellow||Unlock||blinking when e-stopped|
|3||27||White||Customizable||responds to button press|
|4||6||White||Customizable||responds to button press|
|5||21||White||Customizable||responds to button press|
|1||24||Green||Sync status||Solid when synced. Blinks slowly when a sync is needed and quickly while syncing.|
|2||25||Blue||Connection status||Solid when connected to the Web App. Blinks when configuration is needed and turns off when disconnected.|
For more details, see the documentation for the full LED status guide.
The customizable LEDs can be controlled via the
Write Pin Sequence step, which allows you to turn them on and off at specific points while your sequences are executing. This flexibility allows them to be used for many purposes, such as indicating that your sequence has run recently or, along with “speak” logs, providing a visual and audio indication that your sequence is about to execute.
Buttons functions can be added via the Pin Bindings widget. The button functions shown can be added by pressing the
+ v1.4 Stock Bindings button in the Pin Bindings widget, while other actions can be selected by using the dropdown menus. In addition to being able to execute any sequence, new available actions include emergency stop, unlock, sync, reboot, take a photo, and more. We’ve also modified the existing widget inputs to make them easier to use.
Note: Pin bindings are now stored in the Web App instead of only in FarmBot OS. This allows editing of pin bindings when FarmBot is offline and binding persistance across factory resets. However, any pin bindings created previously will need to be re-bound using the updated widget to continue working.
As we get closer to the release of the updated Farmduinos included with the v1.4 kits, we’ve added a new option to the firmware and board version dropdown menu. If you get one of the new boards, select
Farmduino (Genesis v1.4) to make use of the new encoder features. Existing hardware is still supported by selecting
Arduino/RAMPS (Genesis v1.2) or
Farmduino (Genesis v1.3).
The Move widget coordinate input boxes have been changed to allow decimal input, along with the coordinate inputs in the
Move Absolute and
Move Relative Sequence steps in response to a feature request by @Diman4os. This allows finer control over movement commands when desired.
@Diman4os also brought up an issue where unicode characters were not encoded correctly in logs and email notifications. This has been fixed, thanks for letting us know!
We’ve fixed a bug reported by @FairchildGardens which prevented non-repeating Sequence Farm Events from executing.
That’s all for now! As always, please let us know about any bugs you find, and keep the feature requests coming. We appreciate your constructive feedback, as it allows us to make FarmBot better for everyone. Hopefully you find as we do that the new features make FarmBot easier to work with and even more fun!