Reverse Engineer Your Robot Lawnmower

Your home is your castle, and you are king or queen of all you survey. You’ve built your own home-automation system from scratch. Why would you possibly settle for the stock firmware in your robotic lawnmower? [Daniel Wiegert] wouldn’t either, so in Project Landlord he has started to reverse-engineer it.

You can hardly blame him. The Worx Landroid‘s controller board uses an NXP LPC1768 ARM Cortex-M3, and the debug pins are labelled on the backside. The manufacturer didn’t protect the flash memory. It’s just begging to have its firmware dumped. So far, [Daniel] has managed to both brick and unbrick the device, and has completely mapped the controller’s pinout, so he’s on his way to complete control.

Right now, he’s got a working proof-of-concept firmware on his GitHub that’s able to drive the machine around a little bit and set the brakes. It’s running FreeRTOS, and [Daniel] is looking for other people to get in on the project. He’s done the hard initial work, so get in there and reap the rewards! Just don’t neglect to remove the blade before custom firmware.

Will custom firmware in a robotic lawnmower change the world? Probably not. But it is awesome, and will certainly make a difference in the lives of people whose robot mowers continually get stuck behind the hydrangeas.

The HackadayPrize2016 is Sponsored by:

21 thoughts on “Reverse Engineer Your Robot Lawnmower

  1. I think the coolest hack for a robot lawnmower would be to add wifi to it so it can be completely remote controlled, then set up a webcam pointed at your entire lawn and track its position with openCV. Then you could mow all sorts of crazy patterns into your lawn instead of the random strategy most mowers have with the stock firmware. In theory you wouldn’t even need the perimeter wire if you had camera tracking.

    1. gotta start somewhere; OP can use the perimeter wire as a safety/kill switch and add interesting stuff onto that to test and iterate until they find something as reliable as the wire :)

  2. Hello, i have just recently bought a WG798E with Wifi. The problem is that my pincode no longer works. The problems occured after the update to Hypericum 3.2 v2.61. Can i downgrade to previous firmware or do something? Worx want me to send it back so they can have a look but i want to fix this issue now.
    With Kind regards

  3. Robomow have removed manual mowing from the their app 2.0 and bricked the previous version. You can only drive the beast w/o blades which is 100% useless. Now I have to use a gasoline mower for those lousy 2 sqare meters total that robomow won’t reach. Can you guys somehow add driving with blades on??

    1. Grab a previous version of the android app from apkpure or a similar apk archiving site. I keep the current version of the Robomow app and an old version of the CubCadet branded Robomow app (from before they removed the manual mowing feature). Both can coexist on the same phone. is the version where the change notes doesn’t mention “safety behavior updates”:

      The search is bad on that site, but I also was able to find and archive the old robomow app too:

      1. Great! I tried with old Robomow app before (1.0 or something…) and it does need internet connection to start. After it has started, usage is blocked instructing to use app 2.0. But mentioned CubCadet works great and probably correct version of Robomow app 2.0 would too.

        I would definitely like to hack the mower though, there are just too many problems I would like to try and solve. :)

  4. Anybody know the specs for the boundary wire signal? Should be something simple. Tried asking Worx but they wouldn’t tell. A scope says a 15V 60Hz carrier but can’t figure out the rest.

      1. Thanks for the reply. 14 us would be about 70 Hz. Does the amplitude (voltage) matter? Is this the only part of the signal the Landroid needs? Sometimes you might see a higher frequency signal with the 70 Hz just used as the carrier. Sorry if my understanding is half baked. I’m more of a digital guy …

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.