Hi everyone, I’d like to share a quick story about an issue I faced with my FarmBot and my plants.
The problem started with sunflowers, which can easily grow taller than the gantry. I had them planted in a straight line at X position 0 along the Y-axis. They grew taller than expected, causing the FarmBot to start “punishing” them. It turns out my issue was that I had calibrated the farmbot at the unusual X position - X-max instead of X 0.
My FarmBot is a DIY project self hosted on a local web server. It’s a simple, budget-friendly solution once you understand a few key tricks. The benefits are clear: it’s efficient, safe, and offers a lot of freedom. A big shout-out to Rory for still keeping this in mind!
So, is it possible to recalibrate at the opposite X position - X max? Absolutely!
With self-hosting, database access, and a Limit Switch-based FarmBot, I found this task pretty straightforward. It took me just 2-3 hours to solve, and below I’ve shared my notes to help anyone else dealing with the same issue:
I. — modify farmbot hw
- assume havinf Xmax limit switch enabled
- assume polarity is OK
LIMIT SWITCH
INVERT LIMIT SWITCHES / X AXIS - No
( INVERT LIMIT SWITCHES / Y AXIS - No
INVERT LIMIT SWITCHES / Z AXIS - No)
- assume limit switch is active at X-end
II. — modify farmbot-web settings
Motors:
INVERT MOTORS X - Yes
INVERT 2ND X MOTOR - Yes
Limit Switch:
SWAP LIMIT SWITCHES / X AXIS - Yes
- Verify modification by:
III. — fix plant positions
Note:
settings / map does not influence actual plant positions, when you change X-zero position to opposite corner then all plants needs subtract actual position from Xmax to fix that
- start farmbot web
- in new terminal run (to open rails console):
sudo docker compose run web rails c - rotate all plants (Xmax - X-plant-pos) - copy paste to rails console :
Plant.all.each do |plant|
new_x_position = 7420 - plant.x
plant.update(x: new_x_position) # Assuming you’re using ActiveRecord to update the model