Introduction: Roombot

The Roombot is a vacuum robot that is fully 3D printed, autonomous, and coded on an Arduino.


Step 1: Materials

All Materials

  • 1 x Arduino Uno Board

  • 1 x IRF520 MOS FET Driver Module

  • 1 x H-bridge L298 Dual Motor Driver

  • 2 x Micro Metal Gearmotor HP 6V 298:1

  • 1 x Micro Metal Gearmotor Bracket Pair

  • 1 x Wheel 42×19mm Pair

  • 1 x Fan Blower AVC BA10033B12G 12V

  • 2 x Sharp Distance Sensor GP2Y0A41SK0F (4 - 30cm)

  • 1 x ZIPPY Compact 1300mAh 3S 25C Lipo Pack

  • 1 x LiPo Battery Charger 3s

  • 1 x 1k Ohm resistor

  • 1 x 2k Ohm small potentiometer

  • 3D printer with a minimum printing size of 21 L x 21 W cm

  • PLA Fillament or similar.

  • 20 x M3 bolts with (3mm diameter), 20 x M3 nuts

  • 2 x #8-32 x 2 IN bolts with nuts and washer

  • 1 x Vaccum bag filter (cloth type)

  • 1 x Ball Caster with 3/4″ Plastic or Metal Ball

  • 2 pushbuttons

  • 1 x On/Off Switch

  • Screw driver

  • Soldering Iron

  • Pliers, Scissors

  • Cable (3m)

Step 2: 3D Printing

Print out the parts (shown in the image) from a 3D printer.

Parts Include:

  • Fan Enclosure
  • Bottom Base
  • Button (1mm base width)
  • Button (2mm base width)
  • Filter Cover
  • Top Cover
  • Bumper
  • Fan Cover
  • Sharp Support
  • Filter Tap
  • Button Support
  • Filter Tap

Recommended print settings:

  • 0.2mm layer height
  • 1.2mm shell thickness
  • 30% fill density
  • 215 Celsius printing temperature
  • 70 Celsius bed temperature
  • Support type everywhere
  • Retraction: 50mm/s 0.7mm
  • Printing Speed 60mm/s

Step 3: Setting Up Sensors

Begin by first soldering the wires onto the Sharp sensors first. Then attach the sensor onto the Sharp support #D printed pieces, make sure the direction of the sensor is different from each other. After that, attach the sensor support piece onto the bottom base where there are holes to use screws to connect and the sensor should be facing the front.

Step 4: Setting Up Wheels and Motors

First attach the wheel onto the motor and screw in the motor onto the bottom base with the motor support(given with the motor when bought). Make sure that the wheels are movable and not stuck against the base. The connect the wires through the metal ring holes on the motor.

Step 5: Mounting the Ball Caster

The ball caster is the third wheel of the robot. attaching the ball caster onto the bottom base. The ball has to be movable in order for the entire robot to move and the screws has to be screwed tight. Recommended to screw the ball caster in from the bottom so the screws will not be stuck with the metal ball.

Step 6: Connecting the Bumper

First begin by making sure that the buttons (3D printed 1mm base width) connect to the bumper holes. If it does not connect, it can be glued with a super glue or be 3D printed again and make sure to have the correct sizes. The buttons also have to fit the two holes in front of the bottom base and the button should be able to move smoothly. Then the input pushbuttons should be on the printer button support and attached onto the bottom base on the back of the 3D printed buttons. The bumper needs to have a clicking sound so that the bumper will actually function.

Step 7: Voltage Dividing

Using the 2k Potentiometer and solder the wires that connect to the Arduino and driver module. All wires should be color coded and that the black wire should be having a resistor on it or else the driver module may over heat and cause a spark to occur.

Step 8: Connect the Fan

The fan is the main part of what makes the machine a vacuum. The fan blower is given with nails to screw in and attach to the bottom base. The fan is then connected to the driver module and connect to the battery to power.

Step 9: Connecting Everything to the Brain

Follow the Schematics given and connect all the wires into the Arduino in the right spot. Make sure that the Arduino is placed in the right spot in the robot and stabilized so that the wires will not move around when plugging in. The Arduino plug hole must be matching the hole in the back of the robot so that the code of the Arduino can be uploaded at anytime.

Step 10: Giving the Machine Power

Connecting the Potentiometer and the Li Po battery to the driver module can be tricky. The Potentiometer should be be connected first so that the power of the Li Po Battery will not overheat and end up short circuit or possibly even exploding.

Step 11: Assembling the Filter

The box like structure is meant to to carry the filter to make sure that the right things are being vacuumed in. The filter tap and cover can easily be attached together and for the cover of the filter box, we used tape so that the cap will not easily fall off and can be opened at any time.

Step 12: Attaching the LED

An LED light is needed to indicated if the machine is turned on or not. The LED light is attached to the Arduino through a hole on the cover of the machine.

Step 13: Giving the Machine an Input

A switch is connected to the battery and the driver module in order to turn on the machine. If the switch is small enough, it can be fit through the rectangular hole, if not then just make sure to have the wires connected and that the two wires are not to be touching each other or else the the switch will not work.

Step 14: Uploading the Data

The codes for the Arduino should be uploaded so that the entire machine will be able to work. Codes are given below in the link.

Step 15: Finish!

The machine should now be able to move around and the fan blower should be vacuuming things into the machine, make sure to have the filter in the filter tap so that nothing too big will be vacuumed in and ruined the machine. Now just charge the machine with the charger and wait until the lights on the charger turn green light and it will start cleaning up the area!