Arduino Powered Remote Control Robot

I have been working on a Arduino Powered Robot that could be remote controlled. (I will continue to update this with more detail). The video below shows the prototype robot working via the remote control. This article will describe how I built the Robot, the materials used, and the program that controls it.

Materials List

This project was completed with materials ordered entirely from If your not familiar with them, check out their excellent tutorials and supplies for makers.


The Remote Control

The remote is a BoArduino from Adafruit attached to a clear breadboard with an Analog Control Knob and a Xbee Series 1 transmitter. The wiring is pretty Simple for the remote. The control knob is wired to the analog pins on the BoArduino along with a +5V and a Ground wire. The Xbee is wired from the RX and TX pins to the Digital 3 and Digital 2 pins respectively along with a +5 and a ground wire. Some of the extra black wires in the picture hold my breadboard wires in place so they don’t pull loose and are not needed.

Xbee Remote 2    Xbee Remote

The Sketch below is the code for the remote. Feel free to download and modify it. Suggestions for improvement are also welcome.

Remote Control Sketch


The Wireless Robot

The robot is Arduino powered and Xbee controlled. A program waits for Xbee transmitted commands and then determines which of four continuous motion servos to actuate. The frame is composed of components from an Open Beam kit. The nice thing about Open Beam is that the plastic Arduino mounting plate slides into the sides of each beam. This creates a secure and easy electronics mount. Just place a beam of the appropriate length on each side and secure in place with the Open Beam corner brackets.

Robot_Front Robot_Rear

The picture below shows how everything is connected. The program expects the left side servos to be connected to Pin 4 and the right side servos to be connected to Pin 8. In the picture below, you can see that both servos on the left share the same +5v, ground, and control wire as do the servos of the right. Digital Pins 2 and 3 are connected to the Xbee pins to the TX and RX pins respectively.


The sketch below contains the program to control the robot via wireless commands received from the remote.

Remote Robot Sketch

This is a work in progress. It was a fun little project and it is quite rewarding to create a remote controlled robot. I plan to add a remote control arm for simple tasks. What would you add to the robot? Thanks for reading. Good Luck building!

– Justin

6 thoughts on “Arduino Powered Remote Control Robot

  1. Pingback: Arduino Powered Remote Control Robot « adafruit industries blog

  2. Richard

    Neat little robot. Where you get the wheels from? Been trying to do a robot of my own and get stuck on wheels, shafts, mounting assembly stuff to the robot. Bought the older motor shield kit from adafruit with the 12v stepper motors.

    Oh about what to add… My long term goal is to make a Dalek robot. So I would add a plunger and mixer arms and a wave shield so i can talk. The arms won’t be able to move a lot but was planning on using servos or solenoids to make them wiggle some.

    Good day.

  3. jpmk12 Post author

    Thanks for the comment. The wheels are just round servo discs. I added a link to the materials list.

    I actually have scrapped a few robot projects over the wheel/drive assembly. I tried erector sets and a few different things. I finally decided on Open Beam for the frame and servo mounts. They also have stepper and motor mounts. It’s a very easy to use system and works without issue. If you do anything similar, shoot me a picture for the blog.



  4. Pingback: Community Corner: An All Adafruit Component Arduino Powered Remote Control Robot and Other Treats from this Week in Adafruit’s Community « adafruit industries blog

    1. Justin Post author

      Thank you. The Xbees used are Series 1. They are a basic configuration with the PANID being set the same on each unit. It helps to debug them if you have multiple cables, one for each Xbee. I plan on making a tutorial for this later but below is a basic example.

      ATID xxxx
      ATMY x

Leave a Reply