3D Printed Lawn Mower - Operation

Basic operating Instructions:

So you've built the lawn mower, tested the components and are ready to mow.

This guide will try to help you set up the mower for your garden and get you familiar with the mower operation.

Mower Setup Options in Arduino

In the Arduino code you will find this setup menu in the MEGA Tab.  By changing these settings the mower can be customised to your garden.  Each setting option is commented / labeled so you can understand what the option will do:

Main settings to Review and Modify:

The following settings are the main things to review and modify for your garden.  Follow the instructions on how to change the settings.  Mostly 1 = ON and 0 = OFF.  Just change the number in the code and upload the code to the mower again.

1. WIFI_Enabled : If you are using the Mower APP this options needs to be enabled.  (App coming soon!)

2. Perimeter_Wire_Enabled : option should be set to 1 if your using a perimeter wire.  0 if not (not recommended)

3. Use_Charging_Station : If this is set to 0 then the dock option in the LCD menu will be removed.  After the battery is exhausted the mower will just park and not try to return to the docking station.  If set to 1, all docking options are available and the mower will automatically try and return to the docking station after mowing.

4. CW / CCW Tracking : these options tell the mower which way to travel around the wire when moving into the garden and returning to the docking station. Please set 1 and 0 according to your setup and position of the docking station.

5. Track cycles: After exiting the docking station this is the distance the mower should travel around the wire before entering the garden.  If you have a large garden you may want the mower to start at the far end of the garden (Zone 2).  Increase or decrease the Cycles number until the mower starts mowing at a good position in the garden.  There are 2 zones which can be setup.  Zone 1 and Zone 2.

Zone 1 is typically close to the docking station and Zone 2 at a far point in the Garden.

6. Home_Wire_Heading : This is the compass heading in degrees that the mower will turn to when the mower tries to dock.  The mower will stop mowing, turn to this compass heading and then search for the perimeter wire in that direction which it will then follow to the docking station.  Setting a "clever" heading can help the mower set off in a optimised direction so it doesn't need to follow 100m+ of wire to get back to the docking station.  

I hope the diagram below explains this feature.



7. Sonar : the sonar sensors can be activated or de-activated.  Make sure you only enable the sonars that are being used otherwise the code will run slowly as it waits for the a sonar response of a sonar which is not physically there.


PID Tuning

When the mower tracks along the perimeter wire it uses a PID function to stay on the line.  The PID works by measuring the error (distance) between where the mower should be (over the wire) and where it is now.

Depending on the motors you use these values PID will need tuning.  the biggest effect is done by modify the P value.  (Power Value)

  • If your mower is "snapping" from right to left along the wire - reduce the P value
  • If your mower is not following the line sharply enough - increase the P value

A P value between 0.08 and 1.2 is a normal range.  Depending on the motors used this value can change.



Menu Screen:

The operation of the mower is completed by using the keypad and LCD screen.  The main mower features can be selected by using the keypad.  

After powering on the mower you will see this screen. (if not check your i2C address).

To access the mower options "long press" the Start button. (keep your finger on the button for 1 or 2 seconds).

This will bring up the options menu:

Pressing the Up and Down button will scroll through the menu options (All the menu options can be customised in the Arduino code).

To cancel the option, press the Stop button


The menu options as standard are:

Exit Dock Z-1          - Mower exits the docking garage and sends the mower along the perimeter wire to Zone 1 (cutting blades off)

Exit Dock Z-2         - Mower exits the docking garage and sends the mower along the perimeter wire to Zone 2 (cutting blades off)

Quick Start             - Mower will start immediately

Trampoline Cut      - Special feature.  Put the mower under a garden trampoline and it will cut a star shaped pattern

Mow The Line       - Mower exits the docking garage and will follow the perimeter wire with the cutting blades spinning

Tests                      - Enter the test menu and run various tests on the mower.




To set the mower clock change the Set_Time variable to 1.

then modify the time in the Time_Alarms tab here:

With the Set_Time variable still set to 1 upload the Arduino code.

Once the code is uploaded, set the Set_Time variable back to 0 and upload the code again.  This should set the Mower clock.


Mow Alarms

In the Alarms section you can set times when you would like the mower to start.  To activate the Alarm set the variable to 1.  then input the time in hours and minutes.  This alarm will activate daily at this time and start the mower.  This assumes you have a docking station in the garden as the alarm will activate the exit docking procedure.