Open firmware for the Xiaomi vacuum

Why?

  • Bricked mine, lost all calibration data/secrets
  • Relatively cheap (~ 300 EUR) robotics platform
    • LIDAR
    • Ultrasonic and optical distance sensors
    • IMU
    • Bumpers
    • Drop sensors
    • Cortex-M + Cortex-A
    • WiFi
    • Also, a vacuum cleaner

Goals

  • Create custom firmware for STM32
  • Run ROS on Allwinner
  • Maybe have a working vacuum cleaner again one day

What works?

  • All I/Os and most of the logic of the STM32 is mapped out
    • Sensors
    • Motion/odometry
    • Vacuum, etc.
  • Mainline U-Boot/Linux running on Allwinner

What doesn't?

  • Battery management not fully understood yet
  • IMU/sensor fusion
  • LIDAR control
  • Some hardware details unclear

References

Made with Slides.com