Ideas for improvements for FarmBot


I just finished the setup, mostly, for my FarmBot Genesis XL, and I have a few ideas that would improve the experience so far. If I have time, I could possibly implement some of these. So I wonder if anyone has any opinion on these ideas or if any of them would be super helpful to you?

Smart Safe Z
Version 1: If there are no plants “planted”, then the safe-Z will be 100mm above the highest tool/bin location, if those are set, and if they are not set then default to 0.
Version 2: Safe Z would be 100mm above the height of the tallest plant.
Version 3: Use an A-star algorithm to navigate around taller plants if it’s faster than moving the Z-axis up.

Change Movement Inputs Live
When moving on one axis all other movements shouldn’t be locked, you should be able to input new coordinates even while the farmbot is moving, which would be especially useful during initial setup as you’re trying to home-in on things like your seed bins and tool locations.

Faster Images
If you’re on the same wifi network as the FarmBot I would expect you should be able to get a near-live feed from the camera. Perhaps with better compression and some modifications in the way images are delivered this could be done.

Accidentally moving plants.
Plants that are “planted” should be locked in the web interface so you can’t accidentally drag them to the wrong location without unlocking them first.

Automatic Plant Suggestions

  1. Using OpenFarm the interface should automatically be able to suggest plants that go well together and help you “autoplan/autofill” the garden.
  2. Suggest best plants to plant based on the time of year and current location. Store the Farmbot’s location and associate it with a climate zone, which may change as climate patterns change.
  3. A simpler version can have you just input an expected frost-date and use that to calculate best plants. Or have the user input their plant hardiness zone number. We would have to determine which zones to use, it appears different countries may use different numbering systems.
    Similar to: Companion/Antagonist Crop Indicators · Issue #1319 · FarmBot/Farmbot-Web-App · GitHub

Sunlight detector
Add a sunlight detector to the camera that tells you what to plant based on average sunlight received in the garden, similar to the soil tests/measurements/etc.

Do any of these interest anyone? Are any of these duplicates in the Project Board that I haven’t seen yet?



A sunlight detector would be a good idea. It would enable the automatic detection of geographic location and time of the year, as well as aiding any planting recommendations. (just my 2 bobs worth).

1 Like

Thanks for the suggestions and feedback! Hearing directly from customers what would make their experience with the FarmBot better really helps us in roadmap planning and effort allocation.

For Smart Safe Z idea, you could implement version 1 pretty easily with Lua. You could pass in a location coordinate variable, use the api() helper to check for any planted plants, and then branch to execute the movements in one way or the other. For version 2, we don’t currently have height as part of the plant model, though that is in the roadmap for later this year (estimated height based on age). In the meantime, you could use the meta attribute of points to store a key value pair for height. Version 3 you could also probably implement now in Lua using a good dose of kinematics!

You can currently change the typed-in coordinates on the controls page in preparation for a future movement, though because the way the firmware works, you cannot begin a movement while one is already occurring. The firmware processes commands one at a time and it would be a very big undertaking to change that.

Regarding accidentally moving plants, it may become tedious to have to unlock plants all the time to make slight adjustments. How about a single quick-access toggle for locking and unlocking all drag and drop-able map objects (plants, points, and weeds)?

Companion plant suggestions are now implemented based on OpenFarm’s data :wink: However, the OpenFarm model and existing data set unfortunately don’t support the data needed for bullets 2 and 3. We’re approaching a fork in the road where we will need to decide if we want to invest into upgrading OpenFarm or begin adding data fields for such features to the FarmBot backend. We will probably figure out that longer term strategy next year.

Sunlight detection with just the camera would probably be too finicky across FarmBot installations/gardens to be reliable, though we do have ambitions for 1st party weather sensors (ambient light, temperature, etc) into future versions of the kit, and such additions will most likely be backwards compatible with older bots. Lots to look forward to!


Currently the easiest way to update coordinates mid-command is to use the E-Stop > Unlock > New Coordinates. I wonder if there are many side effects to just silently doing this in the background in order to accept new coordinates mid-operation.

An obvious side effect of using E-stop would be that all peripherals would shut off too. And any sort of rapid fire events like that would be a bit rough looking on the frontend.

We do have an Abort feature in the works that stops just the motors but keeps everything else going. That would be more suitable to use than E-stop, though it would take more investigation to see if such a control scheme didn’t cause other side effects. One side effect I can think of that may not be very desirable is that E-stop and Abort both halt the motors instantly, rather than decelerating them, which would make for jerky movements.

We will investigate more once the Abort command is fully implemented.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.