Remote Controlled Robotic Arm




About: I am always making electronic stuff. I like to do Arduino projects best. more projects coming soon!

This is a guide to make a Remote controlled robotic arm (6DOF) or just to control some servos on something.

You can use a normal IR TV remote to control the servos on a mechanical robotic arm. there is 17 buttons on the remote I used but I only used the 12 buttons on the bottom.

2 buttons for one servo, one is for clockwise and the other is for counterclockwise.

Step 1: Parts

Here is a list of the parts and tools I used to make this project.


  • Arduino UNO.
  • IR remote (any IR remote can be used).
  • IR receiver.
  • Wires.
  • Male to female breadboard wires.
  • PCB.
  • LED.
  • 200 ohm resistor.
  • 27x long male headers.
  • 4x AA batteries and holder for servo power (6V) + Arduino power.
  • Screw terminal.
  • 6 DOF mechanical arm.
  • 6x metal gear servos.


  • Soldering Iron.
  • soldering tin.
  • screwdriver.

Step 2: Schematic

Here is an easy to follow schematic that I have drawn. Red is 5v to the IR and 6v to the servos, black is GND and yellow is signal.

The reason that I don't use the 5V coming out of the Arduino for the servos is because its not enough to work on more than one servo, sometimes one servo doesn't work when its powered from the Arduino.

There is a LED on the schematic, thats for indication that the receiver has gotten the code when you press a button on a remote.

Step 3: Soldering

I would have recommended to do this on a breadboard and test it before you solder it on a PCB, because some IR receivers can be hard to find the pinout on and you end up wiring the IR totally wrong and have to desolder it.

If you want to have your servo connections like I have them than you need 3x6 long male headers and bend one of the ends on all of them 90 degrees. 3 of the 3x6 headers needs to be a little bit longer before you bend them so they don't touch the servo connectors under them.

Solder the servo connectors and the the rest of the parts where you want to have them.

Step 4: Wiring

Solder vires to the components and to the places where the connections will be.

Step 5: Setup

At this step you will need to connect jumper wires (M-F) from the board to the Arduino UNO.

At the next step there will be a code that you need to download and upload to your Arduino board.

Step 6: Decoding Your Remote

The Arduino schematic you see above is the same as the way the PCB is, you only have to connect pin 11 and to power (5V). I used the code above made by Ken Shirriff to decode my remote.

You will need to download and import IRremote.h for the Arduino code.

When you upload the code to your board than you can open terminal on the Arduino software, if you press some buttons on a IR remote than you will see a lot of numbers and letters. every button on a IR remote sends out a different number.

On my remote I have 17 buttons, so I have made a map for the remote where the buttons were and under them I wrote the code that belongs to every different button.

So if you do this than you will know what the Arduino reads when you press volume + or any other button,

take notes from terminal and in the next step you will need to put them in the next code.

Step 7: Final Code

Download the code "ir_6servo_controller" and open it in a new sketch on the Arduino software, than you will need two libraries for the code:

  1. IRLib.h
  2. Servo.h

On the top you will see these things;


#define RIGHT_ARROW 0xffc23d//

#define LEFT_ARROW 0xff22dd //

#define OK_BUTTON 0xff02fd //

#define UP_ARROW 0xff629d //

#define DOWN_ARROW 0xffa857 //

#define BUTTON_0 0xff4ab5 // S5

#define BUTTON_1 0xff6897 // S3

#define BUTTON_2 0xff9867 // S2

#define BUTTON_3 0xffb04f // S1

#define BUTTON_4 0xff30cf // S3

#define BUTTON_5 0xff18e7 // S2

#define BUTTON_6 0xff7a85 // S1

#define BUTTON_7 0xff10ef // S6

#define BUTTON_8 0xff38c7 // S5

#define BUTTON_9 0xff5aa5 // S4

#define BUTTON_s 0xff42bd // S6 *

#define BUTTON_h 0xff52ad // S4 #

You need to change the under marked codes to the once your remote sends out, you don't need as many buttons as I have. You only need 12 if you are going to control 6 servos like I did.

Step 8: Finish

When you get the code done with your IR remote codes and upload it to your Arduino, than you can connect all the servos to the pins on the receiver board. Now you are all finished and ready to pick up stuff and move it around without doing it with your hand!

Thanks for viewing this intractable and if you have any questions or tips to this project than leave them in the comments, and also share a photo if you made it :)

If you liked this project and want to help me than vote for me in the robotics contest.



    • Tape Contest

      Tape Contest
    • Arduino Contest 2019

      Arduino Contest 2019
    • Trash to Treasure

      Trash to Treasure

    15 Discussions


    Question 11 months ago

    Could I just use normal jumper wires (Instead of long male headers) to connect the servos to the PCB?


    Question 11 months ago on Step 3

    Could you please give me a link to where you bought your 3 x 6 long male headers? I am doing this as a school project, so I need it ASAP. Thank you so much!


    Reply 1 year ago

    where can I find the video?

    kumar vishal

    2 years ago

    Can u please help me there was s an error while compiling the IR 6 servo sketch... Pls help

    1 reply
    ibenkoskumar vishal

    Reply 2 years ago

    Have you downloaded the library for the code, and imported it to the sketch?


    3 years ago

    maybe I Will Do It Soon :)


    3 years ago

    Any idea how to make a more comfortable controller, such as a "glove", instead of the remote?

    1 reply

    Reply 3 years ago

    There is some projects in here about making a glove with flex sensors with xbees to communicate.

    ibenkosBruce Giddens

    Reply 3 years ago

    It is a robotic arm that can move in 6 places, I can use the remote to make it pick up something and stuf like that.