IR Controlled 3D Printed Rover (Arduino)





Introduction: IR Controlled 3D Printed Rover (Arduino)

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

This instructable will cover the necessary steps in how to recreate my Rover project. We will be covering all aspects of the build process including the STL part files, assembly, control system and programming. This project was an AWESOME learning experience and many of the processes were my first time doing such. Please keep in mind that this project requires a lot of soldering and shrink wrapping of wires and connectors. Also, the modification process for the continuous rotation servos is very delicate and you can very easily ruin a servo if you are not absolutely careful.

Step 1: ​Tools and Components

Electrical Components:

  • 1 x Arduino Uno
  • 1 x DROC Voltage Rgulator
  • 1 x Hobbymate 11.1 3s 1300 mAh Lipo Battery
  • 1 x Circuit Board
  • 5 x T-Plug Connectors
  • 1 x 5/16" Wooden Dowel
  • 1 x Inferred Reciever
  • 1 x Inferred Remote
  • 1 x Switch
  • 8 x Servo Lead Extenders
  • 9 x MG90S Servos
  • 1 x HC SR04 Ultra Sonic Sensor
  • 1 x Red LED
  • 1 x Green LED
  • 8 x 22k ohm Resisters
  • 2 x 220 ohm Resisters
  • 2 x Bolts
  • 2 x Nylon Lock Nuts
  • 6 x #2 Screws
  • 4 x Zip Ties
  • 1 x Ream of Wire Loom


  • Soldering Iron
  • Flux Core Solder
  • Wire Cutters
  • Small Phillips Screw Driver

Miscellaneous Items:

  • Glue
  • Model Paint
  • Decals
  • Aluminum Foil
  • Rubberized Black Spray Paint

You will also need to modify four servos to operate in continuous rotation. The tutorial that I used to accomplish this can be found at the following link:

Step 2: 3D Printed Parts and Assembly

The Majority of the parts for this build were printed on a 3D printer. I've include all the STL files necessary to replicate this build. The four modified continuous rotation servos will need to be attached to the drive wheels and drive housings. The center set of wheels spins freely. The black wire loom is used to hide the wires coming from the drive housings and is zip tied to the rear drive housings. The 5/16" wooden dowels are cut to size and connect the main arms to the center differential system. Rubberized paint is applied to the outer surface of the wheels for added traction. Please understand that, due tolerance variances, some additional tooling maybe necessary for all parts to fit exactly right. The assembly procedure is very straight forward and should be easily derived from the 3D exploded view assembly photos that I have included in this indestructible. A few things that I have added to the overall aesthetics of the build were some "NASA" stickers that I purchased off of eBay, some model paint and a little aluminum foil to hide the wires coming from the ultra sonic sensor housing.

Step 3: Control System

The control system begins with a 1300mAh lithium polymer battery. This battery is a bit over-kill for this project, but I purchased it with the intentions of alternative uses. Power is then fed into an adjustable voltage regulator which steps the power down to about 5.08v. Originally the voltage was set to around 6.71v in order to achieve 5v out from the arduino. However, because the continuous servos received the main power supply from the 6.71v source and not the 5v source, it caused them to not function properly. Stepping the voltage down, coming out of the voltage regulator, to 5.08v solved this problem. So, after the voltage regulator, the power is sent to a PCB board and distributed to the arduino and all other components. The IR receiver, both LEDs and ultrasonic sensor are mounted in the housing that sits on top of the rover. You will need to solder a couple rows of post on to the PCB board in order to distribute all the power and ground connectors for the various components of the rover.

Step 4: Electrical Schematics

Here is a basic break down of the wiring and electrical components involved in this build. Everything receives the appropriate voltage from the power distribution board and command signals are sent from the Arduino board to all other components. I decided to implement the use of t-connectors as it allows me to easily disconnect components from the system for replacement or for use in other projects. Please be aware that the pin configuration in this diagram does not correspond with the Arduino sketch. It is merely to illustrate how all the components connect to each other. Please refer to the Arduino sketch for proper pin configuration.

Step 5: Arduino Sketch

The Arduino sketch for this project uses a library for the servos and one for the IR receiver. The servo library is included in the Arduino IDE and I have included a zip file for the IR receiver library. The Arduino sketch is included in a second zip file. Something to note, is the the values for the stop positions of the continuous rotation servos will most definitely need to be changed. Because of the low precision of the typical resisters used to make the voltage dividers in the servos, not every one has the same stop values. For example, my servos ended up having the stop positions of 89,88,66,69. Theoretically, the stop positions should be at 90 degrees but, as previously mentioned, the typical resisters used for this project are not very precise. Also note that ANY IR remote can be used for this project. However, it is important to note that the values for the command buttons for your remote will not be the same as the ones included in this Arduino sketch. This YouTube tutorial demonstrates how to find the values for the buttons on your IR remote control.

Step 6: Final Product and Assembly

Here you can see the rover functioning. The rover is initialized and begins sweeping the ultrasonic sensor. When the forward button is pressed, the rover will continued forward until it is told to stop (pressing the stop button). If a turning button is pressed, the turning servos will engage and the wheels will begin to turn the rover in the desired direction. If the rover approaches too closely to an object, the red LED will light and the piezo buzzer will sound. To deactivate the rover, simply press the deactivation button and the head unit will no longer sweep and sense for objects within its determined proximity.



    • Oil Contest

      Oil Contest
    • Clocks Contest

      Clocks Contest
    • Creative Misuse Contest

      Creative Misuse Contest

    20 Discussions

    what program do you use to make the sketch where all the parts are seen in the picture

    Hello drgrermain1,

    I've looked into your program a bit and I'm planning to use your program as the foundation of my program but, I don't understand one thing in your program...

    How did you make the robot to stop or reverse automatically when it senses something?

    Could you perhaps send me an e-mail of the program with the parts that makes the robot automatically stop or reverse changed to a different color?

    Maybe using word or a similar application.

    My e-mail is


    Can you tell the size of the 3d printer which will suffice ?

    BTW, nice project!

    Regards, Prabal

    should the servo extensions be male to male/ male to female?

    could anyone help me make this internet controlled with a wireless camera attached? Please help

    In case anyone wanted to know what 3D modeling software I used to create my design, it was Solidworks. I don't think I mentioned that in my instructable.


    2 years ago


    Great Robot
    And i wondering how it move ,i know you use differential but i'm a newbie in this area.
    how you connect motor with differential system.Thank you.

    Great design and build. I like that the LEDs are mounted in the U/S scanner module. I will use some of these ideas in my project. Thanks for sharing.

    Great design! Really love the way this looks.

    this is a really cool rover. next stop mars.


    2 years ago

    Cool project

    You should enter this into one of the Instructables Contest like the Tech Contest and the Robotics Contest. You could push for the Patterns Contest as well.

    You should enter this into one of the Instructables Contest like the Tech Contest and the Robotics Contest. You could push for the Patterns Contest as well.

    Awesome robot
    It could also be incorporated with an fpv system so you can operate it from further afield