Whiteboard Erasing Robot




My entry for the Microcontroller contest is a whiteboard cleaning robot. The goal of this project was to create a robot which could erase written text on a whiteboard completely autonomously, i.e. no human interface. The processes involved in this project included devising a method for the robot to search a whiteboard for text, designing a way to physically move a robot to the text, and enabling a robot to erase the text.

Step 1: Parts/System Break Down

Parts Included:
Arduino Mega
Arduino Mega Protoshield, with 2 mini breadboards and jumpers
3 VEX motors
BlueSmirf Bluetooth Adapter (located in the yellow VEX case with antenna)
RoboRealm Vision Software
VEX linear sliders
VEX Rack and Pinion gears
VEX 9.6V Battery
4 VEX small wheels
Vex metal, screws, etc.

This project is made up of two main sections. The first section is the actual robot. The robot in theory is somewhat simple. It consists of a base with two wheels which rides on a whiteboard track. The base design allows the robot to cover the entire x-axis of the whiteboard. To move on the y-axis, the robot uses linear sliders to move an arm up and down. Attached to the end of the arm is a dry-eraser that does the actual erasing. 

Building the robot is not hard.  It just consists of 2 motors which each respectively drive 2 small VEX wheels.

Step 2: Computer Vision

The second section, and more complicated part of the project, is the webcam and computer base control station located opposite the whiteboard. Utilizing an standard webcam and vision software at the computer base station, the robot locates any text anywhere on the whiteboard. It does this by using a series of filters and processing functions within the vision software, RoboRealm. In RoboRealm I used many different filters to find the center-of-gravity of the text on the whiteboard. The center of gravity cannot be found based on just the webcam image. I first used a RGB filter to eliminate everything but the green writing. Then the color is inverted by a Negative filter. The image is then converted from the Negative image ( the pink “hello”) to black and white using a gray-scale filter. This is necessary because the center of gravity can only be found on a black and white image. Then a center-of-gravity module is used to find the center of gravity. RoboRealm is a great software that has many uses and features. To find out more about the software go to www.RoboRealm.com  

*The code that is attached is a basic proof of concept code.  It shows how the eraser would move to the text, no matter where it is on the whiteboard.  Move your mouse to simulate where the text is written.  In order to use the code, you need a copy of RoboRealm.  The standard cost is $89, or you can download a 30-day free trial at http://www.roborealm.com/registration/index.php

Step 3: Microcontroller Control

Once the program finds the center of gravity of the writing on the whiteboard, it is converted to a point on a coordinate plane. Then using basic math, the program tells the robot to move to this point using motor commands derived from the point on the coordinate plane. All of the math and calculations are performed on the computer and only the motor commands are sent to the robot via Bluetooth. Performing the math on the computer and not on the actual robot makes the system perform significantly faster and smoother.  In this case the microcontroller is only acting as a physical interface.  The only code that gets loaded onto the Arduino Mega is an interface code that allows RoboRealm to communicate with the Mega.

The code attached is the interface code that allows the Mega to communicate over Bluetooth to RoboRealm software.

Step 4: Versatility

One of the original goals of this project was versatility. This robot is designed to work on any whiteboard at my high school. Every whiteboard in the school has a track at the bottom for holding markers and erasers. By designing the robot to ride on this track, it can work anywhere in the school. 

However riding on this track proved a bigger challenge than I originally anticipated. The track at the bottom of the whiteboard is very narrow. In order to get the robot to stay on this track, I had to build the center of gravity directly over the track; otherwise it would fall off (which happened very frequently in the early design stages). This gave me a very small area to work in and I had to fit all the heavy parts into a tight area, hence the very messy and awkward placement of the battery and microcontroller.

Step 5: Conclusion

This project is a prototype that was a success and could be expanded greatly. There are many features that could be added to customize the robot in the future, such as
  • Automatic schedule, for example: erase every 10 minutes
  • Work with voice command instead of a webcam
  • A light sensor which would trigger the robot to erase the entire whiteboard when the lights go off i.e. when the teacher leaves the class room for the night
  • Only erasing certain color writing. Since the program uses a RGB filter, the robot could theoretically erase only red, green, blue, yellow, or cyan colored writing

Microcontroller Contest

Runner Up in the
Microcontroller Contest



    • DIY Summer Camp Contest

      DIY Summer Camp Contest
    • Classroom Science Contest

      Classroom Science Contest
    • Stone Concrete and Cement Contest

      Stone Concrete and Cement Contest

    26 Discussions


    5 months ago

    Sir could you please send me the circuit diagram.


    10 months ago


    Could you send me a diagram of your eraser whiteboard robot?
    I would like to build it


    3 years ago

    Good day. This is a very interesting project and I am hoping to expand it. Please could I get the circuit diagram and probably other relevant information on it. Thanks. God bless.

    email: etoroabasiakpan@yahoo.com


    4 years ago on Introduction

    This is incredible! It's an amazing project...you should do a full tutorial on it!

    Just a thought: If you wanted to make it more efficient, it would be neat if you could attach something like this to the robot instead. It might take less time as opposed to using the smaller eraser :)


    4 years ago

    hi sir your project was amazing can you please send me the circuit diagram? Thank you sir..


    4 years ago on Introduction

    Nice Project, you should do an Instructable on it. You know, where you actually instruct someone on how to recreate it.


    4 years ago on Introduction

    could you send me the circuit diagram too...



    5 years ago on Introduction

    Could you send me a diagram of your eraser whiteboard robot?
    I would like to build it


    7 years ago on Introduction

    How did you use the vex receiver module with the Arduino?


    8 years ago on Step 5

    That's pretty awesome. Is there by any change a video of this thing in action ?

    1 reply

    8 years ago on Step 4

    Try implementing a center of gravity below the track, similar to what you see on steady cam rigs (or tightrope walkers). You do it by placing weight on an arm that hangs under the robot. That will make it much more stable.