Introduction: Build Your Own Butler Robot!!! - Tutorial,Photos, and Video

EDIT: More info on my projects check out my new website:

I also do consulting for robotics , mechatronics, and special effects projects/products. Check out my website - for more details.

Ever wanted a butler robot that talks to you , follows you around , and even pours you drinks? Read this instructable to learn how to build your own voice controlled butler robot which has many cool features.

This tutorial will show you how to make the butler robot , but any improvements that I add after this tutorial is finished will not be edited into this tutorial, but rather it will appear on my robotics blog : . My blog has a lot of cool robotics and electronics stuff, so check it out!

Please note that this tutorial can be modified to each person's needs and you do not have the follow the exact dimensions that I wrote. To make it easier for users I did write the dimensions that I used if they wanted a reference point.

I built my first version of my butler robot in 2007 and in June 2008 I began to make a newer version. The older version can be seen here:

The Functions of The Butler Robot:

1. Voice Commands for weather, time, and temperature

2. Pour a drink bottle into a cup

3. Manual control with a joystick

4. Cool soda cans in a mini fridge

5. Face recognition and greet people by their names

6. Follow a person wearing a certain color shirt

7. Avoid obstacles

8. Automatically dock to a charger

9. Sweep the floor

10. Wireless control over the internet

11. Wireless Remote Control from iPod Touch or SmartPhone


Someone told me that this looks like dalek from Doctor Who. Holy cow it does and I didn't even hear about Dalek or even Doctor Who until this morning!

MY PROMISE: If I win this contest and win a ticket to RoboGames, I will make a sleeker , cooler version of my butler robot ( equipped with tri-tracks, CNC body, better robot arm) in 2009. I will enter that butler robot in RoboGames 2009 AND I will document that revised version even more than I documented this robot! That's gonna be a very very detailed tutorial!
So please vote for me !!!

Step 1: Bill of Materials

Here is the final bill of materials. I divided it up into sections and included prices. So break open your piggy bank and collect the money , you'll be surprised it costs less than $500 !!! ( not including laptop)

Please note that this is what I paid , I will include some comments on items I feel could be purchased for cheaper. These prices are not final and a lot of them I am not exactly sure of what I paid since a lot were lying around my workshop for months and I don't remember the exact prices , only their relative ones.

I purchased all my parts from eBay ,Jameco, Home Depot , and . I used parts that are very common to find so you shouldn't have trouble finding any of them.


1. Drill

2. Electric Screwdriver

3. Soldering Iron with solder

4. Hot Glue Gun

5. Small flat head screwdriver

6. Scissors

7. Wire Stripper

8. Some sort of saw to cut the wood

9. Black Spray Paint Canister - $5

10. Silver Spray Paint Canister - $5


1. Two Wheelchair Motors - $100 on eBay
2. One 14" x 21" plywood 3/4" thick - $2 ( this depends on how big a piece of wood you buy and how much you cut)
3. Four machine screws ( this depends on what the wheelchair mounting holes accept) - $0.64
4. Four washers for the machine screws - $0.50
5. One caster to support at least 150lbs - $5.40
6. Two screws to mount your caster ( this also depends on what the caster mounting holes accept) - $0.32

Motor Control:

1. Eight 30amps automotive relays (cheapest I found is herehere) - $19.20
2. Four dual relay sockets (cheapest can be found herehere) - $12.00
3. Two 12V 20AH batteries ( you could really just get one and that would suffice) - $60.00
4. Phidgets 0/16/16 (I bought from , though eBay sometimes has them) - $99.00
5. Some 22 ga. or thicker black wire( get a 20ft roll and that will be enough for the whole project) -$3.00
6. Some 22ga. or thicker red wire ( 20ft roll will suffice for the whole project as well)-$3.00
7. Different color of electrical tape ( yellow,black,red,white) - $2.69
8. See through plastic cover - $2.00
9. Six L brackets ( each angle is 3" and 2" thick) - $3.00
10. Eight #8 x 1" drywall screws - $0.16
11. One 120V Light Switch w/ at least 14 ga. wires attached - $5.49

Lower Body:

1. Two 14.5" x 8" plywood 3/4" thick -$4.00

2. Two of 11.5" x 8" plywood 3/4" thick - $4.00

3. One of 14.5" x 13" Plexiglas 1/4" thick - $3.00

4. Seventeen #8 x 1" drywall screws - $0.34

5. Three L brackets ( each angle is 3" and 2" thick) - $1.50

6. Six #8 x 1/2" thick plastic spacers - $0.12

Upper Body:

1. One 5.5" x 9" plywood 3/4" thick- $1.00

2. One 5" x 9" plywood 3/4" thick - $1.00

3. Two 10" x 21" plywood 3/4" thick - $4.00

4. One 9" x 11.5" plywood 3/4" thick - $1.00

5. One 9" x 21" plywood 3/4" thick - $2.00

6. One 12VDC Automotive MiniFridge - $15.00 ( got lucky on eBay)

7. Six L brackets( each angle is 3" and 2" thick)-$3.00

8. Two #8-32 x 1/4" machine screw with two nuts and washers- $0.50

9. Twenty two #8 x 1" drywall screws - $0.44

Robot's Head:

1. 12" diameter cake cover - $1.29

2. One 1.5" dia. PVC slip-joint nut - $0.75

3. One PVC 7" x 1.5" diameter $ 3.00

4. One webcam - $5.00 ( eBay is a wonderful place)

Robot Arms :

1. Robot Arm Grabber Toy - $10

2. Two 1.5" dia. PVC slip-joint nut - $1

3.One 2" length PVC coupling - $0.50

4. Two 1.5" dia. PVC threaded pipe that is at least 4" long ( this can be cut into a straight piece) - $1

5. Two 17" x 1.5" dia. PVC pipe - $ 4.00

6. Five L brackets( each angle is 3" and 2" thick) - $2.75

7. Four #8 x 1.75" drywall screws - $0.08

8. Four small L brackets ( servocity has similar, but theres always eBay :P ) - $0.60
9. One 6V NimH battery(I used that) or 6V battery pack(cheaper) - $11

10. HS-425BB servo( electronics were fried so I got it cheap) - $5

11. Rim of a 4" dia. Lego Wheel- $0.15

12. 1.5" dia. duct connector - $3.00

13. Motorized back wheels of toy R/C car - $1.00 ( eBay has a large selection of broken R/C cars whose motors still work)

14. Two skinny L brackets ( its like 3" long at each angle but only 1/2" wide) - $0.50

15. Eleven #8 - 1" drywall screws - $0.22

Plus the laptop of choice --- this can be anywhere from $100 - $3000 . I used an old one that was lying around

Also I want you all to know that around 50% of all the parts I had from beforehand in my workshop so it only costed me like 50% of the total price listed here. You too probably have a bunch of the above parts lying around your house or perhaps you have friends who would be willing to donate parts, just use your resources and you could make this thing much cheaper than it is now.

Total Bill: $420.14 + laptop of choice

Step 2: Building the Chassis

The first step to building a butler robot is to construct a chassis.

The chassis is probably the most important part of the robot. If this fails than the entire robot is practically pointless. This is the foundation of the robot. The chassis is the mode of transportation of the robot.

For motors I decided to use preowned wheelchair motors since they were pretty cheap ( ~$70 on eBay) and since they can handle a very heavy load .

What to ask when buying a wheelchair motor:

  • Do the motors actually work?
  • Do the motors come with wheels attached?
  • Do they draw more than 15 amps per hour?
  • Do they have too high RPM? ( this is relative to your application )
  • Do the motors have bad gears that make a lot of noise when turning?

RPM stands for revolutions per minute. Now lets examine that further. That means that at 1 RPM a 12" wheel will turn exactly once , which also means that the wheel traveled 12". Now if that number was higher , say 60 RPM , then that would mean the robot would travel 12" per second. Now for me thats too fast , but it all depends how fast you need it to go.

Step 3: Choosing the Right Materials

The material we need for the chassis needs to be strong and able to support massive pounds. I went along with wood , though plexiglass will be okay. Make sure you use 3/4" thick wood . Any thinner will not really support the weight. 1" is okay also, but its just extra weight.

I used: 14" x 21" and 3/4" thick

Step 4: Mounting the Motors

You then mount each wheelchair motor to a piece of wood or plexiglas using the mounting holes as shown in the picture. Use washers and the appropriate sized thread when securing the motors to the material. Try to align the sides of the motors with the wood so that the wheels are aligned straight.

Step 5: Mounting the Caster Wheel

Get a caster that can support 250 pounds . I purchased one from Home Depot, but any caster that can support 250 lbs. is good.

Attach the caster to the base as shown in the picture.

Now you should have a base looking something like the last picture attached.

Step 6: Building the Motor Control System

After the chassis is complete we have to make an interface to the motors so that we can control it from a laptop.

The two best methods to control a motor are using a MOSFET motor driver or using a relay. Since I am all about making a robot from common parts and taking advantage of everything available , I used relays. The only downside of a relay is that they cannot be PWMed , which in plain english means you can't have speed control with relays.

For those who have 125 dollars to spend on motor interface , they can get a serial motor controllera serial motor controller which does have speed control and can handle around 20 amps.

For the majority who dont have that cash to spend, you guys will use automotive relays. The relays I used can be found herehere. Make sure that you getthis socket this socket also. The socket is awesome because it has color coded wires AND it allows you to replace relays easily. You need a total of 8 relays and a total of 4 dual relay sockets.

Step 7: Powering the Motor Control System

The motors will be powered by either one or two 12V lead acid battery(ies) OR buy two 6V batteries. The battery(ies) that you buy must be able to provide at least 20AH each. If you decide to go with two 12V batteries you wire the batteries in parallel, if they are two 6V batteries then you wire them in series. If its only one 12V battery then obviously you just directly connect wires to the battey without any hitch.

The relays need their own separate supply of 12V to actuate them . The relays will be actuated by the the main 12 volt power supply of the motors. The reason we can't connect them directly to the computer switching circuit ( we will deal with that in the next step) is because that circuit can only handle 4 amps , and our motors draw 11 amps each . The relays draw less than 4 amps and can therefore control the motors easily.

Step 8: Preparing to Make the Controller Circuit

Step 1: Know what everything does - the relays ,Phidgets interface, and the batteries

Before we actually start making the relay motor controller circuit let's examine what a relay is and how it works.

Read the HowStuffWorks Article on Relays.

You should now understand that a relay is an electromagnet and a switch, and when the electromagnet has electricity running through it the switch closes, but otherwise the switch is open. The switch in our relay will turn on or turn off a motor. You need 4 relays to make a motor be able to go forwards and reverse. If you want to understand how that works have a look at this page.

The electromagnet will be turned on by a neat piece of hardware called a Phidgets Interface Kit. That is the hardware that will interface the computer to the relays. The interface board consists of 16 inputs and 16 outputs. Right now we are interested in the digital outputs. The outputs are just digital switches that switch to ground.

In the diagram attached you can see that between points 85 and 86 there is the electromagnet which pulls the switch between 87 and 30 using its magnetic pull.

Step 9: Wiring the Relays for Motor A

Step 2: Wiring the relays for Motor A

You should have 8 relays and 4 dual sockets. Put each relay in its designated socket.

The following steps are only for two dual sockets ( four relays). The other two remaining dual sockets will get a different wiring which will be detailed in step number three.

By the way whenever I say to connect the wires , I mean to solder them together. Also, the wheelchair motors should have four wires coming out. There are two thick ones and two skinny ones. Leave the skinny ones alone for now. The thick ones should also be different colors, usually blue and red. If its different colors then just know that I refer to one of the wires as the blue wire and the other one as the red wire.

You can either follow the steps below or just read this schematic and follow it. Make sure you follow the shematic by color code.

A. First Dual Socket:

1. One of the relays in the dual socket

Here is the color code key for the wires for the one of the relays on the socket , do this for only ONE of the relays:

BLUE- Connect to power( the positive ) of the motor's batteries. This is the motor's battery's , not the batteries for the relays.

BLACK- Connect to the ground(negative) of the relay's battery

YELLOW- Connect to the blue wire of the motor

WHITE- Leave alone for now

RED - Not used in this project so you could just rip it out or whatever

2. The other relay in the dual socket

Now for the OTHER relay thats in the same dual socket as the other one we just did:

BLUE- Connect to ground( the negative) of the motor's batteries. This is the motor's battery's , not the batteries for the relays.

BLACK- Connect to the ground(negative) of the relay's battery

YELLOW- Connect to the red wire of the same motor used above

WHITE- Connect to the white wire of the other relay in the same dual socket

RED - Not used in this project so you could just rip it out or whatever

Now that we are done with that dual socket , so set it aside. Pickup the second dual socket.

B. Second Dual Socket:

1. One of the relays in the dual socket

Here is the color code key for the wires for the one of the relays on the socket , do this for only ONE of the relays:

BLUE- Connect to power( the positive ) of the motor's batteries. This is the motor's battery's , not the batteries for the relays.

BLACK- Connect to the ground(negative) of the relay's battery

YELLOW- Connect to the red wire of the motor

WHITE- Leave alone for now

RED - Not used in this project so you could just rip it out or whatever

2. The other relay in the dual socket

Now for the OTHER relay thats in the same dual socket as the other one we just did:

BLUE- Connect to ground( the negative) of the motor's batteries. This is the motor's battery's , not the batteries for the relays.

BLACK- Connect to the ground(negative) of the relay's battery

YELLOW- Connect to the blue wire of the same motor used above

WHITE- Connect to the white wire of the other relay in the same dual socket

RED - Not used in this project so you could just rip it out or whatever

Step 10: Wiring the Relays for Motor B

STEP 3: Wiring the Relays for Motor B

Now we have finished the motor control for one of the motors. One motor down, one more to go. The other motor will have the EXACT same wiring as the first motor except that YELLOW wires will go to the second motor and not to the first motor ( which we just finished wiring above) . So follow the exact steps for wiring it again , making sure to wire it to the second motor and not the first.

Step 11: Connecting the Relay's White Wires

After you are done wiring both motors , locate the white wires. From each wire joint ( point where the white wires were soldered together) you need to connect some wire ( NOT ONE OF THE RELAY SOCKET WIRES) to the joint and then leave the end of that wire alone. If you followed the schematic and not the written steps , then you already did this step.

OK so if you followed all the steps correctly you should have four wires(one per dual socket) which are connected on one side to the relays, but are not connected to anything on the other side. You should also have a ton of wires everywhere.

Step 12: Enclosing the Phidgets and Labeling

I put both my relay circuits in a nice plastic box and closed it up. This protects the relays and also looks nice as well. Notice how neat it looks! I labeled each individual relay. I labeled them by color coded tape and by typed up label.

Step 13: Mounting the Batteries

If you haven't done so already , mount the batteries. Use L brackets to hold the batteries in place. L brackets are 90 degree brackets of metal that can be found in all hardware stores ( like Home Depot, Lowes, etc.) Just use the L brackets like I used it below to fasten the batteries to the chassis. Make sure the batteries are fastened tightly and don't move, because while the robot is moving you don't want heavy objects like batteries falling out. Also, notice that I put duct tape to cover the battery's terminals. You should do the same because you want to have the battery's terminal covered at all times to prevent short circuits.

Step 14: Connecting and Mounting the Phidgets

Remember the four wires you have from the wire joint from the relay? Now its time to connect them to the Phidgets. Connect the wires to the Phidgets output ports 0 - 3. Each wire getting its own terminal, order doesn't really matter. Also , connect a wire to the relay battery's ground connection ( negative side) and connect the other end to the two Phidgets terminals closest to output terminals 0 - 3 , they are marked "G". This assigns each output of the Phidget to its own dual relay.

To mount the Phidgets just stick screws or nails through its mounting hole and into the top of the plastic box which encloses your entire relay circuit. If you don't like that , then just mount it anywhere as long as the wires aren't getting to tightly pulled.

Step 15: Connect the Kill Switch

Wheelchair robots are very powerful machines, if something goes wrong and it doesn't stop or something it WILL DO DAMAGE. This is why we need to install a mechanical kill switch. All the switch is , is a standard light switch. The switch should have either two wires or two terminals on the side of it. Just cut the negative wire that is going from the motor's battery to the relays. Now that it's cut , connect a switch in between the two wires. Very simple.

Step 16: Building an Enclosure for the Motor Control System

When we ended off in the motor control section , the robot had no enclosure and was entirely open and prone to damage.

To make a box for the phidgets and relays you'll first need to measure it out.

If you followed my template then you will need:

  • Two pieces of 14 1/2" by 8 " plywood and 3/4" inch thick
  • Two pieces of 11 1/2" by 8" plywood , 3/4" thick
  • One piece 14 1/2" by 13" plexiglas piece

Assemble the wood pieces only for now as shown in the picture, it should be a rectangle. Just take some regular 3/4" drywall screws or some nails and attach the wood like as pictured below:

Now to see if its the correct measurements put the box you just made over the batteries, relays and phidgets. It should fit around them perfectly , as demonstrated below.

Step 17: Painting the Motor Control Enclosure Silver

Take the the wood enclosure off the chassis and lay it on the floor in a well ventilated area. Now get a canister of silver spray paint or just a bucket of silver paint and a paintbrush. It would also be a good idea to wear gloves right about now. Spray paint the entire outside of the wood in an even coat of paint. Then let it dry for about an hour or two .

Step 18: Fasten the Wooden Enclosure to the Chassis

Fasten the (now silver and hopefully dry paint) wood enclosure to the chassis using L brackets.

Now it should look like this after you fasten it down with L brackets.

The CAD for this step can be found here:

Step 19: Attaching the Plexiglas Cover

Now take a handful. 1/4" plastic spacers
Nail two or three spacers to each side of the top of the enclosure as show in the picture below:

Take that piece of plexiglass that we cut before and put them on top of the spacers. Then drill holes in the plexiglas so that the holes are over the spacer holes and screw the plexiglass through the spacer into the wood.

Step 20: Building the Upper Body

After the bottom is completely assembled and the robot is actually starting to like like a robot, we have to build the upper body , which is the part that will really define the butler robot.This stage will also require the most amount of materials.

I used:

  • one 5.5" x 9" plywood and 3/4" thick
  • one 5" x 9" plywood piece and 3/4" thick
  • two 10" x 21" plywood piece and 3/4" thick
  • one 9" x 11.5" plywood piece and 3/4" thick
  • one 9" x 21" plywood piece and 3/4" thick

Cut those materials and lay them outside on the floor. Take out a canister of black spray paint and prepare to paint!

Step 21: Painting the Wood and the Mini Fridge

Spray paint the wood pieces black and also spray paint the mini-fridge if its not black.

Wear latex gloves so your hands don't get dirty and also be sure to do the painting outdoors , its dangerous to inhale those vapors.

Step 22: Building the Lower Portion of the Body

Attach the 5.5" x 9" piece to one of the 10" x 21" pieces as shown in the picture below.

Grab the other 10" x 21" piece and attach it to the other end of the 5.5" x 9" piece.

Step 23: Building the Upper Portion of the Body

Now attach the 5" x 9" piece to the other end of the wood and stand up the wood so that the 5.5" x 9" piece is on the lower end.

Then take the 11.5" x 9" wood piece and screw it down to the top of the enclosure ( make sure the 5.5" x 9" piece is on the lower end!!!)

Step 24: Installing the Mini-Fridge

Take two L brackets and connect it so that the top of the bracket is 5" above the floor.

Take that mini-fridge and lay it down on top of the L brackets we just put up.

Step 25: Finish Installing the Mini-Fridge

To secure the mini-fridge in place use a hot glue gun to glue the sides of the minifridge to the wood.

It should be secured and shouldn't wobble in there. Make sure that you have enough clearance to opne the fridge door.

The mini-fridge should have two black wires coming out from the back. Connect the end of one wire to the positive terminal of the 12V battery and the end of the other wire to the negative terminal. Now whenever the robot turns up the minifridge will be on.

Step 26: Securing the Laptop in Place

The laptop that I dedicated to Chives(my butler robot) was an old one I had and had a 17" screen. Lay the laptop that you have vertically on the space that is in back of the chassis and secure it with L brackets.

Step 27: Attach the Body to the Plexiglas

Unscrew the plexiglas cover that we put on the motor enclosure place it on the floor . Now put the wooden box we just built on top of it ( aligning it so that its in the center). Secure the wooden box to the plexiglas using two L brackets.

Step 28: Begin Building the Robot Head

The robot head for your butler robot can be whatever you want . I decided to make a dome shaped head with one eye. Here are the instructions for the robot head that I made:

Get a 12" diameter cake cover and if its not silver yet , then spray paint it silver.

Step 29: Preapring to Build the Eye

Now find a soldering iron that you don't mind destroying. ( you can actually just clean it up afterwards it doesn;t really destroy it)Plug in the soldering iron and wait for it to heat up.

Now find one threaded PVC connector ( 1.5" diameter is what I used).

Make sure the soldering iron is very hot before proceeding to the next step. ( don't touch it with your hand , but if you put water on it and see the water vapor then its hot)

Step 30: Making the Eye

Hot glue that white PVC piece to the silver dome in the place where you want the eye. Now the soldering iron is nice and hot you need to slowly melt a hole inside the PVC piece you just glued. Make sure you don't melt the actual plastic piece.

Step 31: Attaching the Robot's Neck

After you melted that hole in the last step , wet the soldering iron with a sponge and unplug it , letting it cool.

Take some PVC pipe ( I used a 7" , 1.5" diameter PVC pipe) and hot glue it to the bottom of the cake cover as shown. Make sure the PVC is attached securely.

Step 32: Attaching the Webcam

Find that webcam that you will dedicate for this butler robot ( I used Quickcam Pro 4000 ) and glue it so that the lens of the camera is looking through that hole we melted.

Step 33: Attaching the Whole Head to the Body

Now the glue the other end of the PVC pipe to the center of the top piece of the wood platform we made.

Cool head isn't it?

Step 34: Getting the Gripper for the Left Robot Arm

The gripper that will be used was taken from one of those robot arm extender toys. Make sure the gripper is motorized.

Step 35: Build the Gripper Part

You will also need the following PVC parts , I believe one is called a threaded PVC connector and the other is a 2" length pipe with a piece of plastic sticking out in the back.

Put the threaded connector over the pipe piece and connect the end of that pipe to the gripper. Hot glue the end of the pipe to the gripper.

Step 36: Build the Arm Section

Now take any piece of PVC pipe that is threaded on the end and cut the pipe around three inches from where the threaded part begins.

Hotglue that piece that was just cut to the end of a different 15" PVC pipe

Step 37: Paint the Gripper and the Arm

Now take both pieces outside and spray paint them black. Use the same spray paint color you used on the body

After its dry you can attach the gripper to the pipe by just twisting the threaded connector on top of the threaded portion of the long PVC pipe.

Step 38: Motorizing the Arm

Now take one of the two Power Wheels motors and mount the long PVC pipe of the robot arm to it , using some small L brackets.Use hot glue if you want to secure it more.

Step 39: Mounting the Arm Motor

Mount the motor to the body using two screws and to secure it further hot glue the back to the wooden body.

Step 40: What You Should Have So Far.......

If you followed everything correctly you should have a robot body that resembles the one below.Just make sure you got this done and then we will go on to the next steps where we mount the other arm and mount the whole body to the motorized chassis.

Pretty cool , huh?

Step 41: Preparing to Build the Right Arm

Take another piece of the 17" PVC pipe and attach a threaded connector.

Step 42: Paint and Mount the Right Arm

Spray paint that black and mount it to a motor with two small L brackets(one on top and one on bottom) as we did before to the other arm. Use hotglue if needed to secure the arm.

Make sure that both arms are secure before proceeding to the next step.

Step 43: Check Over Your Work

Your robot's body from the front should look like the pictures attached. A back view picture is also attached.

Step 44: Connect Secondary Motors( Non Driving Motors) to Secondary Battery

There should be two wires coming from each motors. Connect the red wires from each of the motors and connect those red wires to the positive terminal of the 6V battery pack.

Step 45: Connect Secondary Motors to Phidgets

Connect the Negative terminal of that 6V battery to the negative of the 12V battery ( which is common ground) then connect the black wire of the left arm motor to Output #6 , and the black wire of the right arm motor to Output #7.

Step 46: Extend the Wires on the Gripper Motor

Solder on wires to the existing wires connected to the gripper and connect the red wire to the positive terminal of the 6V battery and the black wire to output #15.

Step 47: Modifying the Pouring Servo

Open up the servo for pouring and solder on longer wires to the motor terminals. ( the red and black wires pictured)

Step 48: Attach the Pouring Connector

Attach the connector ( which is a rim of a toy wheel) to the axle of the motor using

Step 49: Attach the Servo's Connector to the Bottle Holder

Attach the servo connector to the pipe connector and tighten them together.Then mount the servo the PVC pipe arm of the right arm using screws or hotglue.

Step 50: Glue on the Bottle Cap Opener

Hotglue the motorized wheel to the bottle holder on an angle so that the wheel brushes against the cap of the bottle.

Picture isnt showing for some reason , so the link for it is here:

Step 51: Extend Wires on Bottle Cap Opener

Solder on longer wires to the motorized wheel . Connect the red wires of both the servo motor and the motorized wheel to the positive terminal of the 6V batttery. Connect the black wire of the servo to Output #8 of the Phidgets. The black wire of the motorized wheel should be connected to Output #9.A cup can be attached on a L bracket if you want to add one.

Step 52: Check It Out!!!!

Fasten everything down to the body and double check to make everything is in order . Now look at your butler robot, pretty cool isn't it?

In the next steps we'll give it its intelligence.

Step 53: Introduction to the Software

The software that Chives runs off was created in Visual Basic 6 and makes heavy use of Microsoft Vista's Speech Recognition Tool.

The minimum laptop requirements for the butler robot are as follows:
1. Runs any version of Windows Vista
2. At least 512 MB RAM
3. Two USB ports
4. Wifi Adapter ( Built-in or USB)
5. Speakers (Built-in or USB)

You will need to install/ setup the following programs and drivers:
1. Microsoft Visual Basic 6 ( if you want to edit and run the butler robot's program)
or if you want to only run the butler robot's softwareinstall this runtime fileinstall this runtime file
2. Setup Microsoft Vista Speech Recognition
3. CCRP Timer Object
4. Phidgets 21 Installer Package
5. Free Voip Calling from Robot
6. RoboRealm

Step 54: Verify Connections

After installing everything verify that the Phidgets Interface Kit Outputs are connected to their appropriate components. If something is wrong then just make the proper connections.

Output(0) = Relay for Left Motor to turn forward
Output(1)= Relay for left motor to turn in reverse
Output(2) = Relay for right motor to turn forward
Output(3) = Relay for right motor to turn in reverse

Output(6) = Left arm motor
Output(7) = Right arm motor

Output(9)= Bottle Cap Opener motor
Output(10)= Bottle tilter

Output(15) = Gripper Motor

Step 55: Downloading the Code

The code can be downloaded from this page . Just download it , unzip it , and run the self installer .
Be sure to read the description in the self installer - it has important information.
This is version 1 of the code. Look on my blog ( for the most updated version.

This code has the following features:

Voice Control Over the Following:
1. Drive in all four directions - distance in "units"
2. Speak the Current Time
3. Speak the Temperature in Your Area
4. Speak the Weather Conditions
5. Pour a Drink
6. Raise Right Arm
7. Raise Left Arm
8. Close gripper
9. Various Sound Effects ( gun shot , load gun , laugh , etc.)

Text to Speech Warning of the Following:
1. No internet connection
2. Low Battery
3. Being Remote Server Operated now

This code is a stable release . My program with Voip and Roborealm interface has some bugs , so I'll only release that when I get all those bugs worked out.

In the next few tutorials I will be explaining parts of the code so that you will be able to edit it to your liking.

To run my program do the following. Launch Vista Speech recognition and get it out of sleep mode and have it listen. Then launch my program . Now speak the commands and Vista Speech will click the commands that are in my program.

Step 56: Explanation of Subroutines and Functions

I have included in the code a lot of subroutines and functions to make the code easier to use and easier to understand .

Here is a list of the major subroutines and functions

1. Speak
The Speak subroutine will play the sound file which is specified . All sound files must be in the "Voice" folder in order to play.
The syntax for the Speak subroutine is : Speak (filename as String)
ex: Speak "File1" - this will play the sound file "File1.wav" which is in the folder "Voice"

Note: For variables such as weather conditions make sure that the proper sound file exists for the condition.

2. Pause
The Pause subroutine will as it's name implies pause the code for a certain amount of milliseconds.The Pause function uses the Sleep function( a Win32 function) , but before sleeping it makes sure that all prior commands were fully completed.
Syntax for the Pause subroutine is : Pause (milliseconds as Integer)
ex: Pause 2000 - this will sleep for 2000 milliseconds a.k.a 2 seconds

3. Drive
The Drive subroutine is responsible for controlling the drive motors. The subroutine requires two variables to be filled in order to work. The two variables that it relies on are strDriveDirection and strUnits. strDriveDirection is a public variable because that way the direction can be set separately and in a different procedure than strUnits.

strDriveDirection tells the subroutine which drive relays to activate and strUnits tells the subroutine how long to activate the relays.
Syntax for the Drive subroutine is:

strDirection = (direction as String)
Drive (milliseconds as Integer)

ex: strDirection = "Forward" ' set the Direction to forward
Drive 3000 'Drives for 3000 milliseconds or 3 seconds

4. Get_Time
The Get_Time public subroutine returns the current time in a variety of variables. It has the ability to separate the time into the singles and tens place, set the time to 12 hour time, divide the day into AM and PM, and even divide the day into day phases(e.g. afternoon).

The syntax for it is either Get_Time or Call Get_Time

It returns the following public variables:
strDayDivider - this is either AM or PM
strHours - the amount of hours in 12 hour time ( maximum is 12)
strRawHours- the amount of hours in 24 hour time ( maximum is 24)
strRawMinutes- the amount of minutes ( double digit)
strSinglesMinutes- the amount of minutes in the singles place only ( single digit)
strTensMinutes- the amount of minutes in the tens place only ( e.g. 30 , 40 , 50 )
strDayPhase - either "Morning" , "Afternoon", or "Night"

5. Get_Weather_Info
Gets the weather information( temperature and conditions) and returns public variables.

The syntax is either Get_Weather_Info or Call Get_Weather_Info

It returns the following public varables:
strTemperature - temperature in degrees farenheit ( double digit)
strDegrees_Singles - temperature in the singles place only ( single digit)
strDegrees_Tens - temperature in the tens place onle ( e.g. 10 , 20 , 30 , 40)
strFeels_Like - feels like temperature in degrees farenheit ( double digit)
strFeels_Like_Singles - feels like temperature in the singles place only (single digit)
strFeels_Like_Tens - feels like temperature in the tens place only (e.g. 10, 20 ,30)
strWeather_Conditions - the weather conditions outside ( can be anything from herehere )

There are many other minor subroutines and functions , but the average user will not need to use them .

6. HighOutput
This subroutine sets the assigned port number a logical high or on.

syntax HighOutput(portnumber as integer)

ex: HighOutput (9) - Turns on Output 9 of the Phidgets

7. LowOutput
This subroutine sets the assigned port number a logical low or off

syntax LowOutput(3) - Turns off Output 3 of the Phidgets

Step 57: Videos

Here are a bunch of videos demonstrating the butler robot's abilities.

Step 58: Updates

For updates on my butler robot project check out my blog

This project can be very dangerous if you are not careful. Be careful and scared of your tools. Do not do anything stupid which could be dangerous to your health . I am not liable for any injuries, death, or any damage that might have occured by following this tutorial.

Also , you should be afraid of your robot . When this thing is on , it has a lot of torque and its probably stronger than you and can push you over and run you over.


Avadhut.Deshmukh made it!(author)2014-09-08

Amazing project

AndreaC1 made it!(author)2014-08-08

this amazing but if you could make it so it would do all your chores and clean the house it would be even better

tanishqjain340 made it!(author)2014-03-11

Amazing project

Can you try updating it so that from the hands he shoot that can can be used as serving plates or something like that

preetham1104 made it!(author)2013-02-28

I realize I am a bit of a late-comer (If 3 years is considered late), and I recently discovered this project while browsing robotic videos on YouTube. I have to say, this project is MARVELOUS! Fabulously explained, and a very innovative idea! A truly amazing project.

Jo-dan made it!(author)2013-01-23

It actually reminds me more of gadget gadget from the waters of mars.

hmiddendorf made it!(author)2012-08-03

How fast does he go?

bmclaury made it!(author)2012-07-21


hantly made it!(author)2010-01-29

 where can i get one of these? would one of those proper robotic arms work like this one if not where can i get one of them and is there a way of making the arm bend? other than thatg this robot is awsome i want to make it so bad and add a few twists :P :) (if i can lol)

my images.jpg
bmclaury made it!(author)2012-07-21

Jameco Electronics

The+Wizard+of+Cause made it!(author)2010-02-16

I used to own something similar to that when I was young. It was called "Super Armitron." Its really just a toy. The gripper arm was very weak and very slow. It was tons of fun for playing with action figures, but not much for real gripping. However I imagine you could probably rig it up with some stronger parts if you were clever enough.

You can probably still find them either online or at a science/discovery store. As I remember, I got it as a xmas gift and it only cost around thirty bucks or so back in the 90s.

conrad2468 made it!(author)2010-02-14 i think they sell those arms.

hantly made it!(author)2010-01-29

 or is there any way of giving it more of a proper robot it could do more stuff. please help and how would i add this to the software. thanks. once again great robot!

gregorystarr made it!(author)2012-06-29


tesla+man made it!(author)2012-05-31

Do you think that it would be possible to build a mini one without the fridge and drink pouring?

natedog2008 made it!(author)2012-01-26

he's so cool!

tinker234 made it!(author)2012-01-23

wow could i add this

289poppy made it!(author)2012-01-21

I love the whole idea of the project, right now I'm actually deep into the code. Forgive my youthful ignorance, but I didn't see anything relating to the Roborealm program in the VB script? Why is this? Does it go thru something else? An explanation would be really cool, and thanks once again!

Aron313 made it!(author)2011-12-16

Wish i could make a robot like that!!!!!

kylekosan23 made it!(author)2011-07-08

OMG this is soooo cool u should like make a company and sell them

x8ATT0SA1x23x made it!(author)2011-05-16

how long dose it usually last?

Unit042 made it!(author)2008-07-16

OOOOH! Relays---this has my vote for the contest. Anything that serves beer and has relays deserves a vote!

x8ATT0SA1x23x made it!(author)2011-05-16


Erobots made it!(author)2008-07-16

lol thanks for your vote! I use relays because they are cheap and easily available. I am starting to shift towards MOSFETs because I need speed control.

x8ATT0SA1x23x made it!(author)2011-05-16

the base instructions are pretty strait forward. so i give you the title "ace instructor"XD

SimonRawr made it!(author)2011-04-02

Hi, I'm planning on building this robot, but I'm wondering how I would program the code/voice controls on a Mac. Thanks!


SimonRawr made it!(author)2011-04-03

And also, do you control the robot wirelessly with your laptop? Or is the laptop mounted?

Sgt.+Cookie made it!(author)2011-03-17

What are the minimum laptop/computer specs this thing needs?

robotmaker123 made it!(author)2011-01-18

I knew it you use roborealm for voice commands a used to do that to make my computer tell me stats about its imune system you add buttons and the win vista or win 7 voice recgnition does the rest

mwagner63 made it!(author)2010-11-24

What is the difference between the relay battery and the motor battery?

sharkking made it!(author)2010-09-26

question: you mentioned automatically avoiding obstacles, where is that? I don't see any mention of it throughout the tutorial

Omni+DIY made it!(author)2010-08-14

Awesome! This has really inspired me to make a butler bot of my own. One thing I was interested in that you mentioned was self-docking to a charger. I don't know if I just missed it in my excitement, but I didn't see it. What step is it mentioned on? Thanks for the awesome instructable!

D5quar3 made it!(author)2010-08-06

It reminds me of the robot in Rocky the movie

wmanidi made it!(author)2010-06-08

You won. Wheres the new robot?

demonsonic1 made it!(author)2010-05-09

 I have a few suggestions for your robot. You should program him to follow and to come when you are in another room. And maybe add a servo to let his head turn.

Thank you for your cooperation.

hantly made it!(author)2010-04-14

 what rpm and voltage are you wheel chair motors??

Fashim made it!(author)2010-03-11

This is an even cooler invention then Toast. Like seriously id make one in the future that can walk up the shops and buy me a drink

trevor3693 made it!(author)2010-03-14

it would be even better if it had a toster.  :p

Fashim made it!(author)2010-03-11

Im probs gonna make this but im gonna call it Wadsworth and it should have to voice of wadsworth in Fallout 3

The+Wizard+of+Cause made it!(author)2010-02-16

Could this robot interface with any of the chatbot programs available through jabberwacky or the like? I just wonder because if a chatbot interface could be linked into a voice recognition and speech to text (and viceversa) program, wouldn't it possibly be a mock conversationalist?

By god I love this site. Found it today at work and I've been on it pretty much all day since getting home. I hope to start construction on this and/or the Doctor Who K9 unit in the next year. It'll be my first venture into robotics, but I'm good at following directions and not afraid of failure. Thanks for building this and thanks for putting up this instructable!

Please feel free to hit me up with any advice as I'm the newest of noobs to such things.

wocket made it!(author)2010-02-23

I've just started with electronics and can't wait to get into it. i love the idea of a K9! let me knoe how you go with making him?

my first project will probably be a sonic screwdriver.

fatboy106 made it!(author)2009-04-17 would the second two laptops work or do they need windows vista?

willrandship made it!(author)2010-02-16

since it's VB it should work just fine with anything windows that can use the Visual basic studio. In other words, most likely, providing they don't use CE (your link is out of date now) If you can find a compiler it should also work in Mac or Linux

hantly made it!(author)2010-01-30

 none of the windows visual 6 software will install on my comp. i have it running vista! you did say that you need a comp on vista but on microsoft it just says windows 2000 and windows xp and a few others but not windows vista please help!

Omni+DIY made it!(author)2010-01-02

 Awesome! Somethings that might be cool to add:

-swiveling head for use with remote control.
-speed settings for movement.
-slower pouring of beverage so it doesn't spill.

This is by far one of the coolest instructables. Great work!

lane29 made it!(author)2009-10-07

good idea

Ebay made it!(author)2009-09-30

very clever design, I like it.

masterpj made it!(author)2008-12-02

can it peform tasks on its own???
and i dont really see it cleaning and such in action.
and plz can you make a modified instructiable without mini fridge and with 2 robot arms and no arm for beverage.
and maybe 4 clawed arm so it can really interact with more things and then i can help you.
(i am not technical with hardware you know)
but i am with software.
so i can make it like search for cola and really fill your glass with grabbing the bottle and more cleaning and assisting.
the minifridge could be an automated storage for the butler robot (chives)
so when he needs something he can open the door.
and then grab something out (that might be hard)
but can you plz i mean plzzz

provide an slight modified instruction on how to make a slighly more advanced arm plzzzzzzzz
then i swear i would help you with all i can.
(i have a lot of free time =D )

Erobots made it!(author)2008-12-02

I've added a bunch of stuff to him just I am not in the mood to document it tutorial-style. I'm in the middle of a lot of projects , and I expect to sell versions of Chives ( that do functions that you said) late next year. The purpose of this instructable was to show how to make a butler robot for beginners

JohnJY made it!(author)2009-09-24

I'm extremely interested in robot engineering, but I have problems with simple basics. This instructable is very helpful, and at the moment I'm interested in micro sized bots, I believe his id is mickey77, yet I can't build any thing that doesn't come from a kit with instructions. I also wish to build a bot from scratch, like homemade motors and circuits, but don't seem to have luck with that. What help could you give me?

masterpj made it!(author)2008-12-03

nice thanks.
and i understand why you dont want to do a tutorial style one XD :P
its so much to type and discribe.
but well if you have time you could make a small explanation (not a full new tutorial)
but an add on tutorial witch is made in a new instrutables tutorial where you just say the steps number and just say what you could do instead.
because if you modify or improve the arms of the robot butler, then the value and the interactivity and usabilaty and (LOL) it can peform more help tasks.
if you could only add that than i would be happy.
(and well i ment a very small improvement.
just an extra servo in the arm witch could bend the arm so it can grab things from different heights easier.
i would recommend 2 servos on the arm of the robot.
(close to each other)
one for up and down movement.
and one for right and left.
then i could help with programming.
but the only program if i would try this is the controll hardware.
where the servo should be attached to and how to communicate to it.
well strapping some wires to the serve and making the inside the tube of the arm or against it isnt that hard though XD

well i would like to participate help or maybe even suggest idea's
since i got alot of them =)

and i could help on the software if arm improvement has been done.
so it can really pour drinks from the table.
and just take a broom or vacuumcleaner and use it to clean :D

and just control anything you want.
well and with hardware. i can help you improve speech recognition (i am a vista expert :D )
(microsoft really likes my help and beta testing ;)

About This Instructable




More by Erobots:Build Your Own Butler Robot!!!  - Tutorial,Photos, and Video
Add instructable to: