Introduction: Roomba Project

This instructable was created in fulfillment of the project requirement of the Makecourse at the University of South Florida (

This instructable will cover all necessary steps and components to required to assemble my Roomba project. The instructable will include the STL files, the assembly, control system and the programming for the project.

Step 1: Required Parts


1 x Arduino Uno

1 x Inferred Reciever

1 x Inferred Remote

1 x MG90S Servos

1 x HC SR04 Ultra Sonic Sensor

1 x 220 ohm Resisters

2 x DAOKI Dual H-Bridge

4 x #2 Screws

1 x Gorilla Epoxy

2 x 12 V Battery Pack

1 x 12 V 120mm PC Case Fan

1 x Filter

4 x 6V Gear Motor For DIY Robot Smart Car Robot


3D Printer

Soldering Iron

Flux Core Solder

Wire Cutters

Small Phillips Screw Driver

Hot Glue Gun

Step 2: 3D Printed Parts and Assembly

All the parts for this project was 3D printed. I have included all the STL files necessary to build your own roomba vacuum robot. All the parts were modified to be under 6" x 6"x 6".Using the Gorilla Epoxy, the pieces in the top folder where glued together according to the assembly and all the pieces in the Base folder were glued together as well.

*** Please note that due to tolerance variances, modification to the STL files or the final prints may be required.


Step 3: Electrical Schematic

Here is the basic schematic of the electrical system. The require voltages for the battery packs are 12 volts. If the you wire your electric system similar to this schematic, the Arduino sketch bellow will work.

Step 4: Arduino Sketch

The Arduino sketch for this project uses a two libraries and one function. The servo library is included in the Arduino software and I have included a zip file for the IRremote library. The function HCSR04 was located in the same zip folder as the Roomba sketch. To function properly, the HCSR04 files need to be in the same folder as the Roomba sketch.

*** To add the library, download the zip folder to the computer and launch the Arduino software. Under the Sketch tab on the top of the program, select Include Library, and then select Add .ZIP Library... Select the zip folder of the library you wish to add to the Arduino library and select open.

*** The IR values for the remote may be different for your remote. To change the values simply locate the values and change them to match the Values for your remote. This YouTube tutorial demonstrates how to find the values for your remote.

Step 5: Final Product and Assembly

Here we can see the roomba robot operating. The roomba is initialized and begins to move forward was the ultrasonic sensor begins to sweeping for obstacles. When the robot detects an obstacle the robot backs-up, turns, and then continuous moving forward until the next obstacle. The robot can be controlled using the remote. The remote was capable of activating/deactivating the robot, turning on/off the dc motors.

***(Please note that i had the robot connect to the wall outlet, instead of a battery pack. The battery packs that I had provided insufficient power to the wheels causing the motors to torque out due to the weight of the robot.)***