Skip to main content
Version: FILS English

RoboMop-The Remote Controlled Cleaning Robot

A smart cleaning robot controlled via WiFi with obstacle detection and LCD feedback.

info

Author: Manole Eliza-Maria
GitHub Project Link: https://github.com/UPB-PMRust-Students/fils-project-2026-elizamanole

Description

RoboMop is a multi-sensor autonomous cleaning robot built on a 4WD car platform and is controlled by a Nucleo STM32U545RE-Q microcontroller, but also has remote WiFi capabilities through the ESP32 controller. My system uses multiple ultrasonic sensors for environmental which facilitate obstacle avoidance and navigation. The machine has a dual servo-driven mechanism placed at the rear side that moves up and down and side to side creating a real cleaning motion with the help of a sponge. Also, an LCD display is placed on the machine to monitor the cleaning status and the runtime.

Motivation

The goal of this project is to create a simple, low-cost and very practical cleaning robot that uses embedded systems programming in Rust, Real-Time motor and servo control autonomous movement with the help of the 4 different wheel motors and multiple other components. Personally, I love cleaning and this robot helps me keep my room tidy easily.

Architecture

The system is structured around two main subsystems: the real-time control unit and the communication unit. The STM32 communicates with all components through different interfaces:

  • GPIO: ultrasonic sensors for obstacle detection that are placed on the front and sides of the car
  • PWM: controls DC motors via L298N and the servo motors for the cleaning mechanism
  • I2C: LCD Display that is used for the cleaning status and runtime
  • UART: Communication with ESP32 for WiFi control and data exchange
  • Timers: Used for precise timing and task scheduling Architecture Diagram

Log

Week 2-4

Form my first ideas and search ideas for my project.

Week 5-7

Researched the market for the adequate components for the RoboMop and placing all the orders.

Week 8

I received the components and tested them to ensure proper functionality.

Week 9

Starting to assemble the project.

Hardware

The physical pary of my project consists of the STM32U545RE-Q microcontroller as the main source of processing power. The ESP32 module enables the user to remotely communicate with the STM32 in order to give out commands.The ultrasonic sensors detect any unwanted objects in the way of the car, each wheel is powered by a motor and the most important part of the machine is the dual servo powered cleaning system that can move up and down and side to side in order for it to adapt to different cleaning scenarious.

Schematics

Bill of Materials

DeviceUsagePrice
STM32 Nucleo U545RE-QThe main microcontroller used126 RON
ESP32 Development BoardWi-Fi communication module41.19 RON
L298N Dual H-Bridge Motor DriverControls DC motors11 RON
Smart Car 4WD Chassis KitRobot structure and mobility83 RON
SG90 Servo Motor(180 degrees)Drives cleaning mechanism19 RON
Servo Mount(2-axis PT for SG90)Supports cleaning mechanism8.5 RON
HC-SR04 Ultrasonic SensorObstacle detection system30 RON
HC-SR04 Sensor MountMechanical support for sensors12 RON
LCD 1602 16x2 Display 5VDisplays runtime and cleaning status11 RON
I2C Interface Module for LCD 1602Enables I2C communication5 RON
Battery Holder 6xAA with switchPower supply11.5 RON
AMS1117 Voltage RegulatorVoltage stabilization5 RON
Active BuzzerSound feedback8.5 RON
PCB Prototyping BoardFinal circuit mounting10 RON
Silicone WiresElectrical connection between components10 RON

Software

LibraryDescriptionUsage
embassy-stm32Async HAL for STM32 microcontrollersControls GPIO, PWM(motors, buzzer,servo),I2C(LCD) and UART(ESP32)
embassy-executorAsync task executorRuns concurrent tasks such as sensor reading and motor control
embassy-timeTiming libraryHandles delays and runtime measurement
embedded-halHardware abstraction layerProvides generic interfaces for sensors and motors/servos
cortex-mLow-level microcontroller supportAccess to STM32 core features
panic-probeDebugging toolUsed for error handling and debugging
esp-idf-halESP32 HALControls ESP32 hardware
esp-idf-svcWiFi servicesEnables communication between ESP32 and STM32
  1. Embassy Book
  2. STM32 Documentation
  3. ESP32 Documentation