Skip to main content
Version: ACS CC

SpongeBot SteelPants

Magnetic robot that erases whiteboard marker strokes using camera detection

info

Author: Daniel ION
GitHub Project Link: SpongeBot Repository

Description

SpongeBot SteelPants is a two-wheel robot designed to automate the process of cleaning whiteboards. Clinging magnetically to surfaces via a PWM-controlled electromagnet, the robot uses a low-res OV7670 camera to detect marker strokes. Once a trace is identified, the robot navigates over it and wipes it clean using an attached sponge.
The system is built around a Raspberry Pi Pico 2W which handles image processing, sensor input and motor control. The components have been chosen to keep the bot as lightweight as possible.

Motivation

The main premise I went with when deciding to build this project was fairly simple: Why not automate something boring?
Cleaning whiteboards is a repetitive chore that eats up a bit of time every day, so I decided to build a small robot that could take over that chore - and the good news is, this robot won't take anyone's job!

Architecture

Architecture

Log

Week 5 - 11 May

To be updated

Week 12 - 18 May

To be updated

Week 19 - 25 May

To be updated

Hardware

The main components which I've chosen for the robot are the following:

  1. Raspberry Pi Pico 2W
  • Core component that handles image processing, Wi-Fi commands and GPIO for all peripherals
  1. TB6612FNG Dual Motor Driver
  • Dual H-bridge Motor Driver powered directly from battery rail, receives direction and PWM speed from the Pico
  • Drives the two GA12-N20 Gearmotors
  1. D4184 MOSFET Module
  • Logic-level gate which receives commands from Pico
  • Adjusts the grip of the electromagnet depending on the tilt angle
  1. GY-521 (MPU-6050 IMU)
  • 3-axis accelerometer + 3-axis gyroscope, supplies tilt angle
  • The tilt angle commands the adhesion force through the Pico and towards the MOSFET module
  1. GA12-N20 Gearmotors
  • Small and light, these motors provide the torque needed to pull a sponge and a magnet across a whiteboard
  1. OV7670 Camera Module
  • Provides low-res frames, good enough to determine by applying a grayscale where the marker strokes are
  1. IR Obstacle Sensors (x4)
  • IR LEDs mounted at the corners to prevent the robot from falling off the edge of the whiteboard.
  1. Electromagnet 5 V/25 N
  • Strong enough to cling the small robot to the whiteboard
  • PWM-driven grip allows for adjustable adhesion
  1. 0.96 OLED Display
  • Indicates the mode which the robot is currently using (cleaning by using the camera module or just simply going around)
  • Displays remaining battery charge

Other components:

  • WAGO Connectors split the battery rail into separate current branches
  • 4xAA Battery Holder powers the robot
  • Sponge
  • Wires, Breadboards, Jumpers, Diodes, Wheels, Chassis etc.

Schematics

Schematics will be added soon

Bill of Materials

DeviceUsagePrice
Raspberry Pi Pico 2WMain microcontroller with Wi-Fi; controls all peripherals39.66 RON
GA12-N20 100:1 GearmotorDrives wheels with high torque for sponge movement24.99 RON × 2
TB6612FNG Motor DriverDual H-bridge to control 2 DC motors via PWM24.99 RON
D4184 MOSFET ModuleSwitches the electromagnet on/off using PWM5.00 RON
GY-521 (MPU-6050)Measures tilt to adjust magnet force dynamically24.16 RON
OV7670 Camera ModuleCaptures low-res frames to detect marker strokes12.66 RON
IR Obstacle SensorDetects whiteboard edges to prevent falling3.07 RON × 4
0.96″ OLED Display (SSD1306)Shows battery level and operating mode16.35 RON
Electromagnet 5V / 25NHolds robot against whiteboard via magnetic force~27.00 RON
WAGO 5-pin Connector (221-415)Splits battery power and ground safely2.98 RON × 2
4×AA Battery HolderPowers the robot with 4 AA batteries6.24 RON
Miscellaneous (breadboards, wires, diodes, etc.)Circuit prototyping, motor connection, edge detection, and mechanical assembly~70 RON
Total-294.28 RON

Software

LibraryDescriptionUsage
embassyAsync embedded framework with executors and timers.Runs tasks concurrently (e.g. motor control, sensors).
embassy-netAsync network stack (TCP/UDP, DNS, etc.).Handles communication over Wi-Fi.
embassy-rpEmbassy HAL for RP2040/RP2350 chips (Pico & Pico W).Gives async access to GPIO, I²C, SPI, PWM, PIO, etc.
tb6612fngDriver for the TB6612FNG dual motor driver.Used to control direction and speed of both gearmotors.
mpu6050I²C driver for MPU-6050 accelerometer + gyro.Reads tilt to adjust magnet grip and detect movement.
ssd1306OLED driver for SSD1306 controller over I²C/SPI.Displays robot mode or battery on 0.96″ screen.
embedded-graphics2D graphics primitives and text rendering.Renders UI elements on the OLED screen.
cyw43Async Wi-Fi driver for the Pico W’s CYW43439 chip.Enables Wi-Fi for control or telemetry via Embassy.
  1. Project Inspiration – YouTube Prototype
  2. Competition - Wipy the Overly Motivated Whiteboard Cleaner
  3. Rust Embedded Labs – PM Course Resources