github ClemensElflein/OpenMower v1.4.0
OpenMower v1.4.0

5 hours ago

OpenMower — September 2026 Release

OpenMower spans firmware, PCB hardware, and the robot software stack across several repositories, all pulled together here. This release brings a unified firmware binary, new hardware support (Universal-8S, Sabo, updated YardForce boards), a proper charger/BMS implementation, a split of the universal mainboard into standalone modules, and a big batch of software improvements including a Buildroot-based embedded OS, MQTT event streaming, and a Docker-based simulator.

Highlights

  • One firmware, every robot. fw-openmower-v2 now ships a single unified binary with runtime robot detection — no more picking the right build for your hardware.
  • Real charger/BMS support. Proper charging logic with per-robot current limits, safe defaults, and hardened fuse limits, replacing the previous ad-hoc charging code.
  • The universal board is now four modules. hw-openmower-universal is deprecated. Its logic, charger, xESC carrier, and GPS carrier are now separate, independently orderable boards — see below.
  • New hardware: Universal-8S, Husqvarna 310 MKII, and Sabo v0.6 (production-ready) are now supported. YardForce boards get connector, filtering, and silkscreen fixes.
  • Embedded OS. open_mower_ros gains a Buildroot-based embedded OS build, with a migration path from the stock OS image.
  • Simulate without hardware. A new Docker Compose simulation stack lets you develop and test without a physical mower.
  • Live telemetry. Position and event data can now be published over MQTT.

Firmware — fw-openmower-v2 (v1.0.5 → v1.4.0)

  • Unified firmware binary with runtime robot detection (#67)
  • Proper Charger/BMS implementation (#47), with max-charge-current handling and safe default fuse limits for the universal board
  • New hardware support: Universal-8S, hw-module-logic, Husqvarna 310 MKII, YardForce v1.2.0 (#63, #64, #69, #75)
  • Report actual RPM instead of ERPM, add mower safety RPM cutoff (#77)
  • Signed mow-motor speed and RPM reporting (v2)
  • Recover I2C peripheral from bus-storm hangs (#66)
  • Fix NMEA driver stall on garbage input (#74)
  • Service health checks for the emergency system
  • yf_cover_ui support for v2 hardware (#59)

Firmware — xesc_firmware (→ v6.06-otp)

  • xESC-lite feature work merged; minor housekeeping since last release

Hardware — hw-openmower-sabo (→ v0.6)

  • Production-ready revision
  • New BMS I2C driver
  • Motor backflow protection (TVS)
  • Hardened HV trace clearances and copper zones
  • Connector, plug, and series-variant updates
  • Molex Milli-Grid PEG mounting holes added

Hardware — hw-openmower-yardforce (→ v1.2.1)

  • Fixed MMCX connector hole size (#13)
  • Added filtering to VBATT/VCHARGE rails (#14)
  • Consolidated USB-A header, DNP'd unused EEPROM header (#15, #16)
  • Improved charger silkscreen (#17)
  • DRC exclusion for resistor placed below GPS module

Hardware — universal board split into modules

hw-openmower-universal is now deprecated upstream. Reasons: the board was easy to break, hard to source single replacements for, awkward to iterate on, and too large for most mowers anyway. It's replaced by four smaller boards, now tracked under hardware/universal-hardware/:

  • hw-module-xesc (v1.0.3) — carrier to use xESC standalone
  • hw-module-charger (v1.0.1) — charger module
  • hw-module-logic (v1.0.1) — logic board for universal application
  • hw-module-gps (v1.0.1) — carrier for Arduino Shield-style GPS units on the xBot modular platform

OS — OpenMowerOS (→ v2.1.1)

  • Support for new robot models
  • Fixed default docking_extra_time parameter

Software — open_mower_ros (v1.2.0 → v1.4.0)

  • Added a Buildroot-based embedded OS build under os/ (#335), with a migration path from the stock OS image
  • New MetaService interface exposing firmware version and robot stage-2 FW info (#341)
  • Publish robot position and events over MQTT (#274)
  • Switched to ros_ntrip_client for NTRIP corrections (#307)
  • New Docker Compose simulation stack for hardware-free development and testing (#321)
  • Nonlinear angular control (#310)
  • Emergency handling and skip-path/area support for Series-I robots (#306)
  • Fixes: IPv6-disabled-for-remote (#344), YardForceSA_OEM GPIO configuration (#343), missing v1 board parameter default (#346)

Don't miss a new OpenMower release

NewReleases is sending notifications on new releases.