Robot Lawn Mower All Wheels Drive and Steer - Prototyp3, Neu Prototyp4

Seems so. Was my mistake. Charger disconnected ( but the mower was on, I had forgotten) and quickly to the other mower. Then it rumbled in the garage. Back to the garage - disaster! Meanwhile, the other mower mows in the flower bed ( perimeter transmitter had switched off).

Actually, I wanted to ride a motorcycle today - ?
Parts printed for 48 hours. Now comes the second assembly.
With this compulsory loop I have also adapted the construction. Previously 2 knives with a cutting width of 13.5 cm, now a cutting width of 15 cm is also possible (easier to obtain the knives). I also simplified the circuit board holder (160x100mm).
The mechanics have been rebuilt.
Unfortunately, the electronics are also broken.
Teensy sends nothing to the stepper drivers and gets hot -> broken.
Fan broken.
Both fortunately still in my stock.


  • 82C1A8FE-B5C8-4B83-B4AA-DD7B19A55FBE.jpeg
    898.8 KB · Views: 13
  • B146734D-21B4-400D-B786-B1A25AF4768D.jpeg
    636 KB · Views: 8
  • 718BB5E1-4C5B-4A81-8AD6-775BA14C2916.jpeg
    735.6 KB · Views: 8
  • A18281AD-A222-4022-80F5-085439941891.jpeg
    1,018.7 KB · Views: 8
  • 980E1877-A41C-455B-B6B6-18777C3FD127.jpeg
    1,014.7 KB · Views: 8
  • 476CEB9A-5E4E-4F28-B6A4-FDB63A2BA3A7.jpeg
    952.2 KB · Views: 10
  • 371EF2E0-566D-4164-8C01-9FB734BFF6EA.jpeg
    963.6 KB · Views: 10
  • 5E5E5114-C709-4349-8D8C-26043EA6DA96.jpeg
    627.3 KB · Views: 9
  • 7A954746-1DEE-4115-AEC4-E1DEEE167CF8.jpeg
    898.8 KB · Views: 7
  • F01A7DC3-06E0-473C-9DC2-95CBCC8DEF6D.jpeg
    744.3 KB · Views: 10
Its working again. Teensy had a short circuit. Got hot with no circuit, powered from usb port.

Arrived today: 2x BMS


  • D6A0D6D6-1FC9-4067-8970-B10E66E9B0B8.jpeg
    1.6 MB · Views: 10
I'm missing a good solution for the bumpers.
Bernard could you please show your magnet solution.
How do you make a suitable housing attachment for this?
Bernard could you please show your magnet solution.
How do you make a suitable housing attachment for this?
It's difficult to show it working because it's 2 chassis , but the main is.
A movable chassis (green) is fix on 4 spring and can move 2cm in all direction. (inside each spring a metallic cable is here to limit the moving distance)
A neodin magnet is fix in the movable chassis.
4 KY003 locate at a perfect position inside the main box mower (white) detect the magnet or not .
When no bump the magnet is locate in the middle of the 4 KY003.
Its working again. Teensy had a short circuit. Got hot with no circuit, powered from usb port.

Arrived today: 2x BMS
To power the teensy from USB you need to have the shunt present and not when using a external supply.
Maybe you forget to cut it.
pad to cut.png
Two wheels lost, a rollover (backwards) on the incline. Mower motor vibrates like crazy, can only be run at 15% power - 100% is like a tiller. ByLane doesn't work. Somehow the directional setting is not comprehensible and the odometry does not adjust sufficiently either. Go to station works right from the start. Conclusion: it works


  • IMG_6835.MOV
    105.9 MB
  • IMG_6837.MOV
    100.9 MB
I have a problem with the imu. Odometry can be set 1 turn, 3 meters, O.K.
180° (i.e. 90°) and 360° (i.e. 180°) setting does not work. The rotation is only about 2/3 of the angle.
This is also evident at bylane.
What I also notice is that the control does not regulate the deviation between yaw and cible.
Ah ! Falscher Radabstand !!!
Last edited:
Next point: "motorRpmCoeff = (100 + motorRightPID.y) / 100;" e.g. assumes that PWM is a maximum of 255. But for me it's 1024.
All the control code and motor PWM limit are based on 8 bits 255 PWM value .
If you have change the PWM resolution to 10 bit you need to change this and replace all 255 value by 1024.

For the rotation you need to change my compute formula.
Actualy the rotation center is locate in the middle of the rear wheel axe, but in your 4WD the rotation axe is location in the center of the mower .
see :

Tracking need to work for 4WD or 2WD without big change in the code.
Use the console in tracking mode to see the data incoming and check the tracking result
You need to see 3 possibles state (slow,fast or search) ,if setting are OK you need to have fast 90 % of the time

IMU need to work without change for 4WD or 2WD platform , it only create a small PWM difference between left and right wheel to drive in the YawCible (maybe adjust the PID value for faster response.)
The resolution of 1024 is due to the stepper. The stepper does 128 microsteps. Values from 0 to >100000 must be set for the speed specification. In this case, it is advantageous not to choose a PWM signal of 255, since the jumps in the speed/step specification then become too large.

I have now adapted the code accordingly. For the wheelbase (wheels crosswise - center of the mower) I entered twice the size (for whatever reason) and optimized it by try and error.

Mower works !!!

Of course there is still room for improvement.
Current status: I have adjusted the PWM signal relevant to 1024. The acceleration is still sinus. I increased the maximum acceleration to 5000 (5sec). I doubled the minimum distance. So far the acceleration works without step losses (at high speed). But I still have to make tests on the incline. On the video you can see that the speed still jumps after the turn.
After two days of trial and error, the MPU 6050 and the compass HMC 5883L now work on the GY-87. I wrote a compass for the web server showing YawGyro, YawCompass and Heading. When the mower is running you will see three pointers. The picture here is in station.
Actually, the mower should follow the exact direction in bylane mode when using the compass, but it doesn't.


  • IMG_6867.MOV
    40.6 MB
  • IMG_6866.MOV
    51.4 MB
  • 58A85911-7289-4538-9DA8-E7EEF5D914F6.png
    467.7 KB · Views: 12
Last edited:
Mähzeit heute: ca. 3,5 Stunden bis ca. 24V.
Viele kurze Bahnen gemäht wegen Test des Wendewinkels.
Jedoch wenig Gras gewachsen bei der Hitze.
Da soll noch einer meckern wegen der Steppermotoren !