v1.5.0Now mowing right to the edge →

The robot mower, re-engineered.

Open-source autonomy for the mower you already own. Centimetre positioning, LiDAR vision, stripes as straight as a survey line.

ROS 2 LyricalNav2GTSAMFields2Cover v3BehaviorTree.CPPCyclone DDS

v1.5.0 — mows to the edge.

Release notes · October 2026 →
Mows to the edge

The outer pass rides on the line you recorded, not 20 cm inside it.

Row ends stay on the lawn

Blade-on pivot turns where no arc fits, improvised turns around obstacles.

Firmware settings, no custom build

E-stop timings, charge ceiling, speed cap and tilt — clamped by the board.

LiDAR ignore lines

Draw a line along a hedge so soft vegetation no longer stops the mow.

Home Assistant auto-discovery

A native lawn-mower card, a Mow button per area, and sensors.

Install, update, repair

Real installer modes, GNSS in its own container, fleet mowing in beta.

Already running MowgliNext? v1.5.0 changes the mainboard firmware protocol. In Settings → Updates: Update the update service, then Review update → Install, then Flash firmware when the new interface asks for it.

The mower now mows on the recorded boundary by default — if your perimeter is not drivable all the way round, read the release notes first. Installed before v1.4.0? Rerun the installer once: curl -sSL https://mowgli.garden/install.sh | bash

01 · Positioning

Knows where it is. To the centimetre.

RTK-GPS, IMU and wheels fused in one factor graph. When RTK drops, a LiDAR map keeps it anchored.

u-blox · Unicore · NMEANo SLAMBad-fix rejection
02 · Coverage

Straight stripes. Every single time.

Headland rings on your recorded edge, then parallel swaths — one continuous path. Interrupted? It resumes at the exact spot.

Fields2Cover v3Cross-hatchResume per area
03 · Obstacles

Sees the tree. Goes around it.

LiDAR steers around obstacles in real time instead of stopping, then rejoins the stripe. The same sensor keeps the robot localized when RTK drops out.

LD19 · RPLIDAR · STL27LCollision monitorDig detection
04 · Zones

Every lawn, in order.

Record as many areas as you like, with obstacles and drive-only corridors between them. The stripe angle turns 90° each session.

Multi-areaOpenMower map importFleet beta
05 · The app

Your whole garden, live, in one place.

Map editor, schedule, stats and live tuning. Laptop or phone, English or French.

Keeps your board. Adds the brain.

Open the build manual →
MowerYardForce 500 / 500Bstock mainboard
ComputeRaspberry Pi 4 / 5RK3566 / RK3588, arm64 or amd64
RTK GNSSu-blox ZED-F9PUnicore UM98x, generic NMEA
LiDAR · obstacles + RTK backupLD06 / LD14 / LD19RPLIDAR A1–A3, STL27L
Other boardsPixhawk via MAVROS soon

One command to install. One click to update.

Pick your hardware, copy the command, paste it on the mower's board. Datum, NTRIP and the receiver profile are set later in the GUI onboarding wizard.

Step 1Hardware backend

Mowgli is the supported backend. Pixhawk via MAVROS is coming soon.

Step 2Universal GNSS

Universal GNSS is the only supported direct GNSS stack. Pick the receiver family and serial link here; the receiver profile, datum and NTRIP are configured in the GUI onboarding wizard after the first start.

Step 3LiDAR

LiDAR does two jobs: it steers the robot around obstacles, and it keeps the robot localized against its own map when RTK drops out. Without it the robot runs GPS-only.

Step 4Release channel

main is the stable channel. dev pulls :dev container images and checks out the dev branch.

Built in the open. Tested in real gardens.

MowgliNext exists because OpenMower proved robot mowers can know where they are. We take a different path — keeping your existing hardware — toward the same goal.

Thank you to cloudn1ne for the original Mowgli reverse engineering, nekraus, cedbossneo, Pepeuch, tetiti20, the OpenMower team, the Mowgli French community and everyone who tests, reports and contributes — see all contributors.