Does this project spark your interest?

Become a member to follow this project and don't miss any updates


robot lawn mower on steroids

Similar projects worth following
This project is submitted for

This project was created on 07/06/2014 and last updated 4 months ago.

autoCut is an automatic lawn mower. The goals are:
- Fully automatic operation
- Battery changing station instead of charging
- Long term: Do not drive through the garden in a random manner but with a plan

- Four weel drive with kink steering
- Electric mowing height leveling
- Two 85 watt mowing motors, each equipped with two very sharp blades, able to snap back on hard obstacles
- On the fly interchangeable LiPo-battery with voltage monitoring, about 1 hour of battery live on active mowing
- Wifi network connection for web interface which includes gamepad/joystick remote control
- Modular electronics: a cuple of modules, connected with a power- and I²C-bus with a Raspberry Pi as master

System design of the robot itself:

Overview of the whole system:

  • 1 × Raspberry Pi B (first version) Running Arch Linux; soon to be replaced due to I2C issues (hardware related)
  • 1 × TP-Link USB Wifi dongle with wide range antenna
  • 1 × Power supply module provides UBat, 5V; Battery voltage monitoring, 5V fallback system, fuses
  • 1 × Driving module 4 H-Bridges, Back-EMF speed measurement; hinge angle measurement, automatic drive regulation
  • 1 × Mowing module 2 H-Bridges + ADC for electronic mowing heigt setting, 4 FET driven PWM channels with Back-EMF for mowing motors
  • 2 × 14.8V 5Ah rechargeable LiPo batteries Main power supply
  • 2 × 5V USB power bank Fallback for the system to run even if main batteries disconnected (change batteries)
  • 4 × 6-24VDC geared motors for driving (CHM-2435-1)
  • 2 × 12VDC mowing motors (CHM-2435-1)
  • 1 × 12VDC geared motor for setting mowing height

See all components

Project logs
  • smoking robot out of control

    08/08/2015 at 18:31 0 comments

    "Angstwiderstand" (literally "fear resistor") is a German expression for resistors you put in your design that do nothing in normal operation. Here's why you should put them in there anyways:

    Today I had a few problems with the h-bridge controlling the height adjustment. Later I foolishly left the robot unsupervised in the garage with the high power circuitry on to let the usb power banks charge. After some time the l298 h-bridge went nuts:

    Now that's toast. On the high power side the l298 is connected to the 14.8V power rail (+BATT), the input pins are connected to the microcontroller:

    It seems like while bursting in smoke the l298 shorted +BATT to the micro, which destroyed it. Have a look at that bulge:

    As you can see in the schematic the micro also controlls 4 FETs, two of which power the mowing motors.

    As a result I had a smoking robot running it's mowing blades at full speed despite all controllers powered down

    When I discovered that scene gaining control again luckily was as simple as flipping the switch for the high power circuit. Things learned from this:

    • Put current limiting resistors in datalines (Angstwiderstand) to protect components from each other in case one blows up. In this case 1k resistors in all connections between l298 and microcontroller could have prevented this scenario
    • Don't leave weird contraptions unattended with only a mosfet preventing them from becoming hazardous

  • Snow Shield & Refurbishing Drive System

    12/30/2014 at 22:43 0 comments

    Well, it has been some time since the last update.. - but with vacation now there's stuff happening:

    As you can see the casing on the back made some progress and there's a snow shield now!

    I assure you it does work reasonably well, but I missed to shot a video and took it apart shortly after. The reason is that now the drive system has to do some heavy work and it revealed some issues:

    • The mounting of the wheels to the motors is not sufficient for snow plowing
    • The drive system supports two modes: a) regulate torque: measure a torque-ish value from the front wheels, do some calculus and apply it to the back whells b) regulate speed: the speed for all wheels is regulated individually, this isn't ideal for flat surfaces (more motors than there are degrees of freedom -> slightly tearing tires due to inaccuracies) but very nice for snow. Problem: b) doesn't seem to work as nice as it once did, not sure why though. I suspect the BackEMF-speed-measurement to have some trouble


    this is the new mounting system for the wheels. Yes, I drilled wrong :-D No problem though.. Thanks to the screws there is no slipping no more and the axis is quite straight as well.

    Another problem with the motors was that the connections between gearbox and motor itself were loose in all cases and therefore the whole assembly was rather noisy. To solve that I opened the boxes. Sadly they're not meant to be opened so you have to drill-open them (6-7mm drill, go down ~2mm in each corner). This is what you're greeted with:

    Cleaned of the nasty grease (<- honestly the most work) and disassembled:

    The motors are mounted with (slightly oversized) retainer rings, originally only loctite was used.

    And here's the clue regarding the speed measurement:

    BackEMF is going to be supported by photoelectric sensors, hence the two holes in the gear. Why not replace BackEMF completely? Well, these are the numbers of teeth of all the gears:

    • Motor: 9
    • Small gear: 9, 41
    • Middle gear: 13, 58
    • Big gear: 67

    Therefore the number degrees per either rising or falling edge from the photoelectric sensor are:

    0.5 * 9/58 * 13/67 * 360° = 5.4°

    With the 14cm wheels that's a distance of :

    0.5 * 9/58 * 13/67 * 2 * Pi * 70mm = 6.6mm

    And I'm pretty certain that that's not enough for proper regulation on very low velocity. Now I could drill more holes into the gear, but those are so damn rock solid I ruined all my 3mm HSS-G drill bits with the 4*2 holes already - so no, won't do that..

    For the sensors itself I ordered 3mm (like LEDs) phototransistors which get inserted in a 3mm hole on one side of the gear and a 3mm LED on the other.

    In case you're interested the the motors: CHM-2435-1 is their model number and they're quite cheap. Got mine for 9€ each on

    And here's another minor thing I added to height adjustment mechanism:

    Before in case the connector of the height measurement would have become loose in theory the motor could have teared the assembly apart or made the circuit burst in smoke. Now it gets shut off by a limit switch and a diode allows it to drive down only

  • Testing the new mowing system

    10/10/2014 at 21:09 0 comments

    The last few days I was busy with rebuilding the mowing system. Now there's a lot less noise and vibration. It also got the laser cut hood mounted with springs to make it flexible.

    The gain in power is just astonishing:

View all 13 project logs

Enjoy this project?

Stefan-Xp wrote 12/18/2014 at 21:29 point
Are you going to add a snow shield for winter? ;)
Looks rather useful, if snow is coming ;-)

Are you sure? yes | no

schuhumi wrote 12/26/2014 at 12:09 point

First snow today! Thanks to christmas vacation autoCut should make some significant steps forward. Ultrasonic positioning and indeed a snow shield are the goals. With the tremendous torque available this should also work beautifully

Are you sure? yes | no

Stefan-Xp wrote 12/26/2014 at 20:21 point

Still looking forward for your next updates ;)

Are you sure? yes | no

Marcus Vinter wrote 10/30/2014 at 12:09 point
I know you are committed now but it might have been nice for you to make it drive-able while you mow the lawn once using a controller then it can record the journey and replay it back whenever you need to cut it again.

Are you sure? yes | no

schuhumi wrote 11/01/2014 at 21:10 point
Yeah, that's possible once the ultrasonic positioning system is working. Just replicating the input from the controller won't work because the lawn is a little different every time so after a few meters the robot would completely loose his track.
Once positioning is working I want to implement that autoCut can mow a shape into the lawn which is drawn in beforehand on the computer.
This feature will come, but sadly I'm running a little short on spare time for this project (school stuff) so it might take a bit.

Are you sure? yes | no

Peter McCloud wrote 10/10/2014 at 14:51 point
Great project, I'm impressed. Have you considered using the Piksi GPS?
It could help with navigation since It's supposed to have centimeter level accuracy. The big downside is that's pricey.

Are you sure? yes | no

schuhumi wrote 10/10/2014 at 17:20 point
Thank you! I didn't look into Piksi in particular, but I'm familiar with the principles of differential GPS. I know how these are very pricy if done properly. And to be honest, 1k$ is far beyond what I am willing to pay for individual parts (Remember that I just did an apprenticeship and I'm now attending school again (to get permission to study at university)).
Also if I get the ultrasonic positioning to work properly it would be a cheap alternative perfect for all kinds of hobbyist projects.

Are you sure? yes | no

Peter McCloud wrote 10/11/2014 at 01:07 point
Hah, I knew it was pricey but I didn't think about in a price per component aspect. That'd be more expensive than anything I've got on my project, including the gas motor.
I agree, your ultrasonic positioning is a good alternative and great for other projects. I also like your new video. It looks pretty slick.

Are you sure? yes | no

Electronic Man wrote 10/10/2014 at 05:50 point
For your reference you can have a look on my mower :)
I do not have a picture here of the electronics but until now i have made it like the ardumower project, all with finished boards. The cut width is approx. 60cm.
I have changed the drive motor because they where to fast, and lost power at low RPM.
I am using this motor know:
I am following your project to get some more ideas... :)

Are you sure? yes | no

schuhumi wrote 10/11/2014 at 14:29 point
Hi :)
Very nice mower you have there!
I see you use 3 mowing motors. Do you experience any resonance effects when they run at the same speed as well? Although with the new mowing system it got better for autoCut, I'm still not completely satisfied with it...

Are you sure? yes | no

Electronic Man wrote 10/30/2014 at 06:51 point
No, i have not seen that, i am still on a wood plate, and it can maybe damp some of it.... i have a problem with one of the motor is not correctly balanced and it actually takes more power and the driver goes in temp. cut off. But i think i will have some smaller motor, i think they are to heavy...

Are you sure? yes | no

Joshua Crawley wrote 09/30/2014 at 16:38 point
Greetings, very cool project you have here!

I'm curious: have you thought of using RobotOS for your project?
It has many computer vision libraries built in, along with easy(ish) control of motors given the focus on a robot API.

I'd be glad to give some assistance with the computer vision department.

Are you sure? yes | no

schuhumi wrote 10/02/2014 at 15:40 point
Thank you!

I have to admit that I didn't look into ROS very much so far.

My setup at the moment ist:
[Arch Linux + Python3] --- i²C --- 3x [AVR µC + Bare metal C]

I guess this is what you find on most (complex) robots, so ROS should be possible (?). I need to read more about ROS to see what advantages would actually come up for autoCut..

As for computer vision: At the moment I'm upgrading to cubieboard 2 with A20 dualcore processor, so there should be enough power to have some fun. Didn't put any brainstorming into this so far, but I think it could improve object detection and safety a lot. Time to purchase some wide angle webcam I guess..

Are you sure? yes | no

Electronic Man wrote 10/03/2014 at 07:40 point
Then still keep the AVR for time critical stuff?

Are you sure? yes | no

VPugliese323 wrote 10/03/2014 at 12:18 point
If you are interested in utilizing computer vision, then the following is for you.

In addition to using a single wide angle webcam, I recommend you use stereovision and make it so that the "eyes" can turn as it turns. While this will may require more processing power on your part, I feel that the benefits outweigh the costs.

On a side note, I see you are using Python. I do not know much about ROS, however OpenCV (which I use often) supports both C/C++ and Python for creating vision code. If you are comfortable in Python I suggest looking into it.

As it is a jump to add vision, I suggest you create a "version 2" of this project, tie up the loose ends in "version 1" and then start at the beginning of your design and see what improvements can be made and what needs to be upgraded to incorporate this new system. If you are clever enough in designing your vision code, you might be able to get away with running everything on a minicomputer (like the RasPi).

If you need help with vision, I know there are at least two of us that can help you (myself and the gentleman above).

All in all this is a very unique project and I look forward to seeing it evolve.

Are you sure? yes | no

Electronic Man wrote 09/30/2014 at 05:49 point
Do you have any part numbers or link to the motors you use?

Are you sure? yes | no

schuhumi wrote 09/30/2014 at 16:20 point
Setting height:
Driving: CHM-2435-1

Note on the driving motors: I'm not sure whether I got a bad charge or if the motors are assembled careless in general. The motors aren't properly mounted on the gear box but a bit loose (also the box can't be opened). Therefore they make some noise - You might find better motors here.

Are you sure? yes | no

David Cook wrote 09/29/2014 at 00:32 point
Your semifinal video is accidentally set to private.

Are you sure? yes | no

schuhumi wrote 09/29/2014 at 00:44 point
Yeah, it was still uploading. Sorry for inconvenience caused :)

Are you sure? yes | no

xaveriusarian wrote 09/16/2014 at 14:12 point
can i get full spesification aand sorce code ?

Are you sure? yes | no

schuhumi wrote 09/16/2014 at 22:08 point
Source -> Sure! Theres this GitHub link on the left:
See "Software" folder for sourcecode for all the controllers/webserver/etc

Specification -> I'm not sure what you mean by that.. In case you want schematics etc. -> same GitHub link. But most of the mechanics are crafted by staring at aluminium rods, having an idea and smashing it together. So there are barely any mechanic plans jet

Are you sure? yes | no wrote 08/07/2014 at 03:25 point
Have you considered using a string trimmer instead of blades?

Are you sure? yes | no

schuhumi wrote 08/13/2014 at 00:09 point
No, but the idea is so good, that I actually tried it out. You can expect an video on that ;) (spoiler: It's to energy expensive)

Are you sure? yes | no

cBake wrote 08/31/2014 at 20:11 point
This. You should consider using the commercially available weed-whacker string, as they have already done all the leg-work figuring out what works well, and it is cheap and easily to find. The energy-expense aspect should be determined by the rotating mass, and the friction of the rotating assembly (given a constant grass inflow), not RPM. The key is gearing your motors down for the proper cutter RPM - figure out what a good cutting RPM is and then gear your motors to operate in their peak efficiency. See motor torque-RPM curves for more info on that.

Are you sure? yes | no

Adam Fabio wrote 07/28/2014 at 03:33 point
Great work schuhumi! Thanks for entering autoCut in The Hackaday Prize! A robot to mow the lawn has been the holy grail of every kid that spent an afternoon with a push mower! You're doing great so far - those mowing videos are impressive! Keep the updates coming, and make sure autCut is prepped for mowing in space!

Are you sure? yes | no

schuhumi wrote 08/13/2014 at 00:11 point
Thank you very much! Sorry for the gap in updates, you can expect more content soon

Are you sure? yes | no

J Groff wrote 07/10/2014 at 18:43 point
They have a system on some table saws that is some sort of capacitive meat detector and clutch that immediately stops the blade. I recall a dramatic demo where the guy jams a hotdog in fully spun up saw and it left nary a mark.

Are you sure? yes | no

Byron (odiekokee) wrote 07/14/2014 at 18:51 point
it's not exactly a's a spongy aluminum block that gets hard jammed into the blade and stops it in 3 blade teeth passing, destroying the aluminum block, blade, and sometimes motor shaft....but still better than a finger. Seen it demonstrated in person with a finger analogue (hotdog). Rather impressive. unless you were really carried away, 3 teeth will barely draw blood.

Are you sure? yes | no

PointyOintment wrote 07/14/2014 at 19:22 point
It's called SawStop.

Are you sure? yes | no

schuhumi wrote 07/15/2014 at 00:15 point
That is a brilliant idea! I used this technique in a POV-Clock before to start and stop it. It's rather easy to implement as long as the circuit ist connected to earth, just measure the time a microcntroller neds to charge a 0V-leveled detector-pin with the internal pull-up to high-level. long time -> someone touches the pin

I will definitely do some testing on this.

(BTW: I'm rather bussy at the moment, but I'll continue on this after thursday)

Are you sure? yes | no

PointyOintment wrote 07/08/2014 at 01:58 point
The blades fold when they hit hard obstacles, but what happens when they hit soft obstacles (like feet)?

Are you sure? yes | no

schuhumi wrote 07/09/2014 at 23:50 point
As you can see in the update I'm working on a cover/bumper. But I'm still concerned about this problem, since it's quite hard to tell the difference between bare feet and thick tufts of grass. I thought about IR LEDs and how grass and skin/stones/garden hose (<- all flat surfaces) reflect the light differently. Or something capacitive (did a few experiments some time ago, worked remarkably well) since feet/garden hoses contin lots of water, but I reckon this won't work on wet grass..

Are you sure? yes | no

jlbrian7 wrote 07/07/2014 at 12:48 point
Looks like it should be finding landmines instead of mowing the lawn.

Are you sure? yes | no

schuhumi wrote 07/07/2014 at 18:17 point
luckily landmines are a rare occurrence in my garden :) In fact I didn't plan on a mowing robot from the beginning, thus the kinda strange construction. But I like how it turned out and that it is not as boring as the usual designs.

Are you sure? yes | no

cBake wrote 07/07/2014 at 11:27 point
how terrifying. awesome.

Are you sure? yes | no

schuhumi wrote 07/07/2014 at 17:46 point
glad you like it ;-)

Are you sure? yes | no

Similar projects