FarmBot Software Update October 2016

We’ve been hard at work the last few months working on a ton of new features, refactoring old code, and hardening the codebases up and down the stack. Here is a breakdown of what we have accomplished recently:

The Web App

  • Now features continuous integration so that we can deploy faster and more often. This allows us to spend more time developing features rather than doing dev ops. It also allows us to test new features and fixes faster and more often.
  • Sequences and regimens now have a user adjustable color so you can make all of your watering regimens blue, all of the planting sequences green, all of the tool sequences orange, or whatever makes sense to you.
  • The webcam widget now stores a custom URL so you can add any webcam stream you want to your dashboard.
  • You can now create Regimens on the web app (support on¬†the Raspberry Pi is coming soon). Regimens allow you to schedule sequences based on the age of a plant. That means you can make a regimen to take care of a plant throughout its entire life, and then re-use that regimen for all instances of that crop.
  • We’ve readied the app for internationalization, which means that it will soon be available in many more languages other than English. Stay tuned for a call for¬†translation help ūüôā
  • The farm designer¬†plants are now represented by the appropriate crop icon (about 30 icons exist so far).
  • The farm designer is now integrated with OpenFarm.cc¬†so that any crop in the OpenFarm database can be searched for and selected for placement on the map.
  • Dropdown widget help text, improved navigation UI, users now stay logged in for up to 30 days, and countless other stability improvements.

app

FarmBot OS

  • We’ve completely rebuilt the Raspberry Pi Controller using Elixir with the Nerves framework. Using Elixir allows¬†the controller to be more reliable, hot reload updates, and all around have better performance compared to our old controller. You can now push over-the-air updates to the Pi Controller and the Arduino Firmware by clicking one button from the web app, and soon enough we’ll have an auto-update toggle so you never even have to press the button to stay up to date with the latest features.
  • There is now a functioning wifi-configurator app that makes connecting your FarmBot to your home wifi network and web app profile a breeze. No SSH or external screen and keyboard required – simply use your smartphone or laptop to configure FarmBot.
  • The new controller and wifi configurator are actually bundled into an entire OS build process which means with one command you can create a ready-to-rock¬†FarmBot OS .img file for flashing onto an SD card. This build process includes all of the FarmBot software¬†so you no longer have to use an external keyboard and monitor and hours of your time to prepare the Raspberry Pi. Soon we’ll be regularly publishing OS builds so you can just download the latest image file, flash it, and fire up your FarmBot right away for configuration.

wifi-configurator

FarmBot Arduino Firmware

  • Now in beta: closed loop feedback control with rotary encoders. This is important so that FarmBot knows when something has gone wrong (such as a vine getting in its way) and it can alert you to investigate the problem. Without this feature, FarmBot’s motors could stall and then it could go and accidentally destroy the whole garden.
  • There is now a pin watchdog feature which prevents the arduino from keeping any peripheral on for too long of a time, which could be dangerous.

Computer Vision (in beta)

  • FarmBot’s built-in camera can now experimentally auto-calibrate itself and map image pixels to coordinates within the FarmBot¬†system.
  • Experimentally locate the tool bay and tools by using red markers and some image processing.
  • Experimentally detect all plants in the bed so that they can be marked for removal when they are determined to be weeds.

 

What’s Next

There are many things still left to do and we have some wildly cool ideas for the future of the FarmBot software ecosystem. Here are a few of the immediate goals that we hope to have released in the next few months:

  • Regimens at the Pi level
  • Third party script execution on the Pi (for image processing and other capabilities) and¬†the ability to call a script from a Sequence
  • Bring back Events (formerly known as Schedules) for scheduling Sequences like calendar events (one-time or on a repeating basis)
  • Custom Sequence Step names so you can make your Sequences easier to read, your Logs more usable, and the status ticker more descriptive so you know exactly what your FarmBot is doing at all times.
  • Device settings stored in the API and synced with the device
  • Customizable tools and peripherals widget for creating new and editing existing labels and pin numbers
  • Drag and drop Sequence Steps for a faster and more fun sequence creation and editing experience
  • Plant objects at the Pi level
  • Ability to reference Plant coordinates in a sequence
  • Sequence parameters, and the ability for child Sequence Steps to reference them
  • Regimen parameters, and the ability for child Sequences to reference them
  • Plant Groups

 

Want to get involved? Drop in to GitHub to check out our repositories and help out where you can!

FarmBot, Meet Onshape

When I started the FarmBot project over three years ago, I began designing the FarmBot hardware using the 3D CAD software that I was trained to use: SolidWorks. While SolidWorks is an industry standard tool and a very powerful piece of software, it unfortunately requires a multi-thousand dollar license to use, and it only works on Windows. This means that most people cannot afford to¬†use SolidWorks, which means they can never access the¬†source files of FarmBot’s hardware design. So while I did publish the source files online for the first ten versions of FarmBot Genesis (v0.1 thru v1.0), these files were effectively inaccessible and useless to the vast majority of people. I got around that for a long time by also exporting the files to other formats (.STL, .IGES, .STEP, etc) for use with other free and low-cost CAD systems, but that was only ever a half-good solution at best because the conversion process is like compiling in software – it renders the files mostly useless to inspection and modification.

The main reason I continued to use SolidWorks for so long was because there were no free parametric 3D CAD systems available that¬†were also robust and powerful. Additionally, I was the only one materially contributing to the hardware design, and so it didn’t make sense for me to compromise my workflow for contributors that didn’t exist. But then along came¬†Onshape. Onshape is actually created by some of the founders of SolidWorks, but it is fundamentally different from the software to the business model behind it. Onshape is the first fully cloud-based parametric 3D CAD system that is not only powerful, but also free to use for non-professionals, and cross-platform because it works in the web browser and has top-notch mobile apps. They have a business model similar to GitHub’s – free for public documents, paid-for if you want a lot of private documents. Because Onshape is cloud-based, it also provides some interesting collaborative features such as multi-person document editing in real-time (like Google docs), and the ability to fork and merge designs. I really believe that Onshape is the future of CAD, and that it is the tool of choice for any open-source hardware project because it is free, powerful, and cross-platform.

So when we¬†added a second¬†hardware engineer to our team a few months ago, the¬†time was right for us to bite the bullet and switch from SolidWorks to Onshape. This required a time-intensive process of rebuilding all of the FarmBot components and assemblies in Onshape while also making changes to the design to go from v1.0 to v1.1. ¬†Additionally, we’re now offering 2D drawings of every component, as well as alternate versions of some components for different manufacturing techniques (3D printing vs injection molding, and flat metal plates vs bent metal plates). All of this is available today in our FarmBot Genesis workspace¬†– check it out! Note: that link will open up a read-only version of the CAD models. If you would like to copy and modify the designs you will need to create a free account with Onshape.

Cheers to the next chapter of open-source hardware!

farmbot-v1-1-onshape

FarmBot Genesis v1.0 Documentation is Now Complete!

Its been a while since we last published an update to the FarmBot Genesis hardware design and the corresponding documentation for it. That’s because we’ve been swamped with our launch campaign, growing our team, and doing other business-ey stuff. But now that all of that work has subsided we’re back on track and making improvements to the hardware design and our step-by-step assembly instructions. Today we’re excited to announce that the v1.0 documentation is now complete! Check it out here:¬†https://farmbot-genesis.readme.io/v1.0/docs.

v1-0-docs

Like all previous versions of documentation, this is our most comprehensive version yet and the one we are the most proud of. Using this resource, we hope that anyone (such as you!) is empowered to build their own FarmBot. Whether that means pre-ordering a kit or making and sourcing all of the individual components yourself, this is the one stop shop for all things FarmBot Genesis. In this version of documentation you will find a whole host of goodies:

  • Step-by-step assembly instructions for every subassembly in FarmBot
  • Comprehensive tech specs for every component
  • Complete bill of materials with prices and recommended suppliers¬†of all components
  • 3D CAD models for every component in various formats
  • 2D CAD drawings of almost every part
  • The ability to see and interact with many of the¬†subassemblies and parts in a 3D browser-based environment
  • Manufacturing files (.DXF and .STL) for the parts you can machine and 3D print yourself
  • New ideas for mods and add-ons to your FarmBot
  • New organizational structure that makes reading the docs faster and easier than ever
  • Improved documentation search
  • Tables of contents on every page!

 

We hope you will find this documentation as high quality and valuable as we do and consider building your own FarmBot from scratch or pre-ordering a kit. Need additional help beyond what is provided in the docs? Strike up a conversation in the forum!

Thank you!

FarmBot supporters, our July launch campaign wrapped up just about two weeks ago. In the end, we received a total of $813,235 worth of pre-orders, over eight times our original goal of $100,000! Thank you!!

Come February, these first generation FarmBot kits will be heading out all over the world, and we can’t wait to see what you all grow with them, how you hack your FarmBot, and where else we go from here.

We’ve already seen a surge in community activity over on the forum and on GitHub from our backers and other people who are embarking on building their own FarmBot from scratch. If you haven’t already, come join the fun!

48eaee17-5b71-43c2-b590-728eabf0984b

Next Steps

Now begins the next leg of our journey. Over the last few weeks we’ve been catching up on email and have also¬†expanded our team. Congratulations to Gabriel and Connor for¬†joining us as full-time hardware engineers and software developers – we’re excited to work with you!

On the hardware front,¬†we’re now looking at wrapping up the final design changes and honing in on a release candidate. What you all have seen in the video was FarmBot Genesis v0.9. We’ve already built v1.0 prototypes, and will be updating the documentation soon with this progress. Now we’re working on v1.1 which we hope will be what we ship in February. Here’s a sneak peek:

2d5190b4-a52b-4a3e-9840-5504266f1458

For software, we are continuing to work on features and harden¬†the code bases so that they are robust, reliable, and secure. We’ll keep you all updated on the progress with regular emails.

Thanks for being a part of the open food future!

– Rory, Rick, Tim, Gabriel, and Connor

You can still pre-order a FarmBot

While our launch campaign has ended, you can still pre-order your FarmBotat a discounted rate. Kits ordered now will still ship in February, but once we begin ordering parts we may push back the ship date for future orders. So get your order in asap if you want to be a part of the first batch!

Campaign Update 11

$750,000

Wow. FarmBot supporters, our small team of three¬†is just blown away by how this campaign has progressed. Today we hit another milestone: $750,000. Three quarters of a million dollars of¬†FarmBots. Wow. Thank you. We can’t wait to see where this community goes!
39edac22-dd59-41c3-a6bb-e4bc88412a45

Less than 3 hours left!

There are¬†less than three hours left for you to join in the fun and¬†pre-order your¬†FarmBot at the discounted rate.¬†After today the price will go up and any later orders will be shipped in a second batch a few months later than the first batch, so don’t miss out on our introductory offer!

Campaign Update 10

Last Call for Pre-Orders

FarmBot supporters, today is the final day for you to pre-order your¬†FarmBotat the discounted rate.¬†After today the price will go up, so don’t miss out on our introductory offer!
054223e6-0895-4591-ad9c-e45ee12cdf01-1

Another Milestone Passed

In other news, we surpassed another milestone this morning: 200 FarmBot pre-orders! We can’t wait for everyone to start building their devices together come February. Join us!

Campaign Update 9

Exponential

FarmBot supporters, we continue to be blown away by the enthusiasm and support you all have given us. Today we had a our biggest day yet and surpassed $500,000 in pre-orders!! Thank you! Check out this incredible sales graph from the month so far:
dce25049-e61a-4a78-9dcd-1ad8dc3e30f7

Only 2 days left!

Want to join our community of FarmBot pioneers? Place your pre-order before the month ends to get the 25% off discount. Prices will go up thereafter.

Campaign Update 8

FarmBot supporters, this launch campaign has been more than we ever anticipated. Today we surpassed $400,000 in pre-order sales!! Truly incredible Рthank you!

To those who are still on the fence about FarmBot, consider reading one of our favorite blog posts: How Much Food Can FarmBot Grow. And remember that there are less than three days left to get one of the first FarmBot kits!

2798ca2a-ae72-40c1-bb69-0414061aab1a

Less than 3 days left!

Want to join our community of FarmBot pioneers? Place your pre-order before the month ends to get the 25% off discount. Prices will go up thereafter.

Campaign Update 7

When I started The FarmBot Project three years ago I set out with a mission to grow a community that produces free and open-source hardware plans, software, data, and documentation enabling everyone to build and operate a farming machine.

Early this morning we received¬†our 100th FarmBot pre-order, and just about 24 hours later we’re now at 118! We’re so excited to work with all 118 of you to further this technology together. Cheers, to the open food future!

c8bd466f-00ea-4961-9bba-c530fe8481c1

Just four days left!

Want to join our community of FarmBot pioneers? There’s just four days¬†left to place your pre-order and get the 25% off discount.¬†Prices will go up thereafter.