OpenMower: Open Source Robotic Lawn Mower With RTK GPS

Robotic mowers are becoming a common sight in some places, enabled by the cost of motors and the needed control electronics being much lower, thanks to the pace of modern engineering. But, in many cases, they still appear to be really rather dumb, little more than a jacked up bump-and-go with a spinning blade. [Clemens Elflein] has taken a cheap, dumb mower and given it a brain transplant based around a Raspberry Pi 4 paired up with a Raspberry Pi Pico for the real time control side of things. [Clemens] is calling this OpenMower, with the motivation to create an open source robot mower controller with support for GPS navigation, using RTK for extra precision.

The donor robot was a YardForce Classic 500, and after inspection of the control PCB, it looks like many other robot mower models are likely to use the same controller and thus be compatible with the openmower platform. A custom mainboard houses the Pi 4 and Pico, an ArduSimple RTK GPS module (giving a reported navigational accuracy of 1 cm,) as well as three BLDC motor drivers for the wheels and rotor. Everything is based on modules, plugging into the mainboard, reducing the complexity of the project significantly. For a cheap mower platform, the Yardforce unit has a good build quality, with connectors everywhere, making OpenMower a plug and play solution. Even the user interface on top of the mower was usable, with a custom PCB below presenting some push buttons at the appropriate positions.

OpenMower mainboard

Motor control is courtesy of the xESC project, which provides FOC motor control for low cost, interfacing with the host controller via a serial link. This is worth looking into in its own right! On the software side of things, [Clemens] is using ROS, which implements the low level robot control, path planning (using code taken from Slic3r) as well a kinematics constraints for object avoidance. The video below, shows how simple the machine is to operate — just drive it around the perimeter of lawn with a handheld controller, and show it where obstacles such as trees are, and then set it going. The mower is even capable of mowing multiple lawns, making the journey between them automatically!

Robotic mower projects are not new around here, here’s the mysterious TK with an interesting take, another using RTK GPS for good (or possibly bad) and quite probably the jankiest one we’ve seen in a while, which uses a LoRa base-station to transmit RTK corrections. We’d recommend keeping well away from that last one.

44 thoughts on “OpenMower: Open Source Robotic Lawn Mower With RTK GPS

  1. living in Houston, I’m excited for this. Not sure if it’d eat through my crap as-is but maybe if I did a regular mow before it gets really hot it could keep the HOA off me for the 35C+ times of year.

    1. So long as you have your grass super short to start with and allow the mower to work long enough you will be amazed what they can do. In my country we have a grass that is basically thick vines and our Husqvarna robot handles it with ease. You should definitely do it.
      Our lawn is so much better now than with the ride on for a fraction of the cost and no effort.

  2. GPS RTK – I did not know this was a thing. I did something similar a decade or more ago for surveying archeology sites. But this is better and must be investigated further! 1cm. Wow, how many great uses for this! (Note: I did not say “use cases” :-)

    1. RTK capable GPS receivers have plummeted in cost in recent years but they have been around in professional grade equipment for decades. I’d be a bit wary of their 1cm claims, though – maybe for a static receiver with a high grade antenna, but not in this sort of application.

        1. DGPS is basically the same thing but a different method of distributing the corrections data. If you want to get up to date, navspark.com.tw sells budget RTK-capable GPS modules and provides simple user guides on how to set them up using WiFi or even a transparent serial bridge to connect the modules together. Sparkfun sells a ZED-F9P module that does the same and assuredly has some simple guides on how to get started.

      1. I am using two of these ubkox zed-f9p rtk gps modules for surveying. I have a accuracy of 14mm. Sparkfun has an excellent blog on how to set up a base station and a rover to achieve cm accuracy.

        What also surprised me is that there is cm accuracy even if I’m standing close to a building. The antenna I’m using costs around 50usd

      2. As an owner of multiple ublox rtk modules, the 1cm accuracy is very real. There are plenty of YouTube videos you can find that confirm this. The fix can be lost under trees or near buildings, but when there’s a fix, the accuracy is quite impressive.

    2. Thank you! We did it back in the early 90s for gathering GIS mapping data. I kept telling robomower makers RTK was possible and they didn’t believe me. I knew it was and so did you.

  3. The mod I really want to do to a robot mower is make it solar powered since I don’t have a mains plug outside. Most of them take 20V 1A while charging and probably a lot less when idle so a solar panel and a 24v battery with buck converter should do. Problem is enclosing it all in a waterproof and aesthetically pleasing way.

    1. I’m in Ireland and just got a Husqvarna 430X installed. No permanent mains power near the base, so I’ve a kit on the way from Germany with 3 x 140W panels, charge controller, 1,500W inverter and all cabling included. Just have to make a frame to put the panels on and I’m thinking of enclosing it behind the panels so the inverter and controller can hide there. Have to add batteries of course, I’m thinking 2 x 150Ahr as I have some at work spare. This is way more then the mower needs, but I will now be able to run my electric hedge trimmer and some garden lights easily enough. Fun project for the Summer!

  4. Its a shame that basically the same robot mowers are ~$200-$500+ more expensive in the US than their EU/AU counterparts, even accounting for the exchange rate. I went down a rabbit hole and it was still cheaper by like $300 to buy the one from this project from Germany Amazon and pay the $150 shipping to the US than buy the same size mower here.

  5. This would be great and all if any of these things could actually mow a yard of any substantial size for a reasonable price. The “reasonably priced” ones (even those a still pricey) can only do a 1/4 acre. The ones that can actually do more are way too expensive.

    1. In theory, one of this design would be capable of mowing a far larger area than traditional robo-mowers.

      The issue with most commercially available robo-mowers is that you bury a boundary wire and the mower moves in a straight line until it hits a boundary, then rotates randomly, and starts off in a new direction. You can imagine how inefficient that is. It doesn’t know where it has already mowed, so it could mow some areas a dozen times and never hit others.

      This one should act more like a human would mow, making a zig zag pattern around the yard to cover each area once with a little overlap.

      1. Curious how this will affect the yard. Unless it changes mowing orientation ( north to south vs east to west) every time it mows, I could see where this will wear a mowing path after a while. No consistent paths seems to be a benefit of the randomness in production automowers.

  6. Well, I’m the proud owner of the so-called “janky” mower referenced in the article. I’m not sure why the author decided to use that derogatory term. Perhaps my willingness to share my journey from the very beginning of my project, when it might have been considered a little janky was not wise, but in the spirit of openness and sharing I’m glad I chose to do so.

    He seems to have some issue with using LoRa for the RTCM3 communication. I really don’t understand that. I am getting a mile range over not-so-level terrain. I am simply using 2 Adafruit Feather M0 LoRa modules with very simple transmit and receive sketches.

    My mower has been running for 4 years and has mowed my 50 acre hay fields and other unbelievably rough areas numerous times. I have made several enhancements over time. Sadly, it caught fire and was completely destroyed, likely due to a fuel leak caused by the rough work I have put it through. But, with the help of some great friends who have similar mowers, I have a new one nearly ready to go. Oh, and it will certainly have that “janky” LoRa RTCM3 comm!

    As to this OpenMower project, I think it is really cool and kudos to Clemens for sharing it with the world!

  7. Now for the next step. What would it take to put this on a gas powered mower for those of us who have a lawn larger than a postage stamp? And Down here in South Texas it would be a God send from June to September. I have access to servo drives, the engine and metal working skills…

  8. Hi all!! I am a third year electronic engineering student. I am attempting to do something similar using an Arduino and hopefully an RTK GPS. I would love some input as to how you are creating your virtual border? My project has 2 modes, Cut and Learn. In learn mode the mower is driven (Using an app I have built) around the circumference of the garden. Using some formulas i am able to see if it is inside or outside. Problem so far is the GPS i am using is not that accurate which i find is causing me problems. All inpuit is appriceted.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.