Introduction: Make Yourself a TV Remote Controlled Arduino Robot!
Hello guys.
Abhay and Akshay here!
Today we are going to make a TV remote controlled Robot that not only works like a charm but you can also upgrade it by editing the code and utilising a few more buttons present on the TV Remote. You can also create other projects with this code like door lock or home automation or home lighting by just using relay shield in place of motor shield and editing the code a little bit.
So now let's make this build.
Step 1: Watch the Video
If you don't want to read the full tutorial and scroll down 15+ steps just check out the video. It also features some tips and tricks to make your work easier and faster.
Step 2: Download
This step comprises everything that you need to download from internet by converging them into a self-extracting compressed file that comprises everything ranging from schematics to codes to libraries. So go ahead and save your money.
P.S.- Time is Money.
To download just click this link or type this in address box- http://bit.ly/DriveDownloadTVRobotMrAbAk .
Step 3: Let's Take a Look at the TV Remote
This is a 38KHz IR TV Remote that transmits data throught IR or Infrared light.Normally, most TV's use this type of remote but if your TV Remote works on another frequency or is not an IR Remote then you might change it with another or find appropriate receiver for it. Here, we are using TSOP4838 receiver. As you may have noticed, the last two numbers represent its frequency, so TSOP4838 means of 38KHz frequency.
Step 4: Let's Take a Look at the Microcontroller
We are using Freeduino v1.16 that is a cheap version of Arduino.
This is basically a cheap version of the Arduino Decimilanove. It has all same pins as that of Decimilanove and is compatible with all shields compatible with it.
So you can also use Decilmilanove in place of it or even Arduino Uno with compatible motor shield as we require only two - three pins and it can be changed by editing the code. There are about 14 Digital pins and 5 Analog pins on the board. It also has a inbuilt LED on pin 13.
Step 5: Let's Take a Look at the Motor Shield
This is Freeduino Motor Shield v1. this shield is compatible with Arduino Decimilanove too. This shield can control two servos, two stepper motors and four DC motors bi-directionallly. Motor 3, 4 are low frequency motor output and have a default setting of 1KHz while motors 1,2 can have this value up to 64KHZ. This motor shield can also be powered with external voltage ranging from 5-25v. It is important to not power it with more than 25v as it can short circuit as we have already did this mistake before. Even your Arduino can be destroyed. Visit this motor shield's page for more information here.
Step 6: Now Let's Upload the Test Code to Freeduino
To upload code, first of all star Arduino IDE from Start menu in your computer. Now connect your Freeduino to your computer through USB cable and make sure your Power Jumper is set to USB in your board. Now open the test code which you can download from this step below. Make sure your correct board and serial port is selected from Tools menu. This code requires a Library. Download it from Download step and then install it. We will use the inbuilt LED of Freeduino for testing by selecting pin 13. You can change it to any other too. Now first upload the code as it is and then open up the serial monitor from tools menu. Now press any key on the remote by pointing it towards the IR Receiver. You need to connect the vcc pin of the receiver to +5v and gnd to gnd and the output pin to pin 11. You can change it too. Now copy the code shown in serial monitor (EX-85ACFF23) and paste in the test code replacing the original code. Now upload your code again to the board and then press the key from the remote again pointing towards the IR Receiver to see if the LED lights up. If it does you can proceed further but if it doesn't you may need to check your connections, remote for dead cells and even replace your components.
Step 7: Testing With Test Code
To test just connect +5v, Gnd and Output pins of the sensor and press the key whose value we have already put in the test code.
Step 8: Now Let's Upload the Main Code to the Freeduino
To upload the main code just follow the same steps as previously done but this time you need to copy five key's value in the code. Now you also need one more library which you can download from the download step. With the help of integer vel in the code you can change the speed of your Robot by changing it to any value between 1 to 255 for desired speed. You can also modify this code so you may have more motors controlling different functions on your Robot. You can also use this code with other shield to automate things like to press specific keys of your TV Remote in a specific pattern to open up your Motor controlled Door Lock or to even automate your home with a relay shield so you can things on/off with your TV Remote without even getting up from your place.
Step 9: Now We Have Soldered the Motor Shield to the Freeduino
As you can see we have soldered all the pins correctly and this took us 1 hour for cutting and snipping the wires and 1/2 hour for soldering them. And we have also covered most of Freeduino and Motor Shield with transparent, non-conductive tape.
Note- You need not to solder them if they can be connected by headers.
Step 10: Let's Take a Look at Motors and Wheels
These are two geared 3-12v DC bi-directional motors. These are brought for $1 each. Also these are matching wheels for $1/2 each. You can use any type of wheels and motors.
Step 11: Let's Take a Look at the Chassis and Caster Wheels
This chassis can be easily brought online from a robotics store and costs about $5. This would be the main body of our robot. A caster wheel is basically a omni-wheel which comprises of a metal ball similar to that rubber balls in ball mouse. It will add support to the robot.
Step 12: Building Up the Robot
Our robot would be a basic one with just two motors, a caster wheel, two wheels and the micro controller. So first of all we will screw the motor shield and the Freeduino to the chassis. We added a foam piece for insulation.
You can check the main schematic for more info. As you can see Akshay and our friend Rajat are making this robot. Rajat also has a instructables page. Check it out here. After adding the shield we will add the motors. We will also add the wheels. Now we will connect the motors to the controller. Now we will stick the sensor to the chassis. And here it is, the completed IdiotBox.
Step 13: Testing the Robot With the Test Code
Actually nothing to say here, it just works awesome.
Step 14: This Completes the Robot
So here your own TV Remote controlled bot is ready. Now just make him move with you while watching TV or take him anywhere and see people react to it.
Step 15: Thanks for Reading
Our work in this project ends here, but your work has just started. Now after completing this project, please like, share so we can get more audience and more inspiration to make projects and feel free to subscribe on our channel on youtube and follow us on instructables for more awesome stuff. You can also show your support for our project by just clicking the orange vote button in the above corner.
Thanks for reading, Stay tuned, Happy DIYing and Please Subscribe!


Participated in the
Make it Move Contest 2016

Participated in the
Robotics Contest 2016

Participated in the
Sensors Contest 2016
8 Comments
6 years ago
Thanks Mr Abak
hopefully long and uneventful future sustenance
6 years ago
if tkd2 was not declared in the scope error
error it already exists in C: \ Program Files \ arduino \ library \ RobotIrremote
My advice, do not enter ir remote library in C: \ Users \ udin \ Documents \ library \ ir remote ir remote because the library already exists in the library ir remote. please try the test, whether they error
7 years ago
tkd2 was not declared in the scope error....plzz help i am using tsop1738 ir sensor
7 years ago
Brother please help how to add ir library on arduino....
Reply 7 years ago
Dependant on the version, either add the library to your arduino sketchbook/libraries folder, or (versions 1.6.x) click on Sketch> Include Library> Add .ZIP file, and point it to the file downloaded.. One note to AbAk, Heavily suggest re-compressing the code library, but leaving it a generic .zip file.. .EXE (Executable) files usually raise suspicion (Virus).. Your file is clean, but some virus scanners are trained to reject executables..(also, not everyone has a Win/DOS machine, I run Linux, and there are still Mac-OS users out there too)
Reply 7 years ago
Thanks Gelfling 6 for solving other members problem. Keep it up bro!
7 years ago
code not work.
problem your link please edit
Reply 7 years ago
The link works, it goes to a biy.ly account, and shows a small square in the center, that says No Preview Available, and a Download tab.. Just click the tab, and it dowloads 'IdiotBox.EXE' (See my note above, the file is clean, extractable with 7Zip, PK-ZIP, Archive Manager (Linux) and Honest truth, I don't know what OS-X uses for archive handling? 3 folders, 2 zip archives (Adafruit motor shield, and Master IR decoder), and a jPeg of the wiring shown on one of the steps here.)