Project tutorial
Stair Climbing Robot

Stair Climbing Robot

A super simple stair climbing robot.

  • 63 respects

Components and supplies

About this project

These instructions will show you how to make a very basic stair climbing robot. This is Stair Bear which we (my kids and I ... ok this one was mostly me) built for the ServoCity + Actobotics Stair Climber Challenge. As it turns out we won 1st place! Check out our videos to see it in action.

Step 1: Make the Wheel Template

Let's face it... this design is all about the wheels. This would be a great project for a 3d printer.. but we don't have one so we went old school and used some 1/2 in. foam board from Hobby Lobby.

Step one will be to make the template:

1A) Download the PDF

1B) Print it

1C) Cut it Out

1D) Tape it together

1E) Punch the holes.

Since I used the Actobotics Round Base A I grabbed Servo City's dimensions graphic and dropped it into my Adobe Illustrator document to make sure to get the spacing just right. I chose to use only 8 holes on the Round Base... 4 of the innermost for the hub and 4 of the outermost for wheel stability.

The 3 large circles on each leg is optional. My thought was if the foam did not hold up I would have tried wood, and then would have needed to reduce the weight.

Step 2: Cut and Drill the Wheels

I used a box knife and a cutting matt. Then I used a 1/4 in. drill bit for the center hole and 5/32 in. drill bit for the rest of the holes.

Step 3: Assemble the Wheels

Now its time to assemble the wheels. I will let the pictures and annotations do the talking.

I picked up the rubber washers from ebay:

Step 4: Connect the Channels

The body is simply composed of two 18 in. channels which are connected in parallel by some 6-32 (1.32 in. long) aluminum threaded stand-offs, two in front, and two in back.

Step 5: Mount the Motor

I used a 313 RPM HD Precision Planetary Gear Motor from ServoCity. It has a max torque of 416.6 oz-in.

First attach the Planetary Gearmotor Mount B to the motor and then mount on the 8th large hole from the front end of the channel on the starboard side.

You will also want to attach a Shaft Coupler (1/4 in. to 6mm) to the motor's shaft.

Step 6: All Aboard the Gear Train

Gears:I used:

  • three 24 Tooth, 32 Pitch, 1/4 inch Bore Pinion Gears
  • three 72 Tooth, 32 Pitch, 1/2 inch Bore Aluminum Gears

These two gears have a 3 to 1 ratio. They are configured to reduce the speed and increase the torque by a factor of three for each of the 3 stages. The resulting max speed is about 11.6 rpm. This came about through some trial and error; you may wish to start out with a more geared down motor to begin with.

Choose Your Shafting:

I used some precision steel 1/4 in. D shafts from Servo City but also found that in a pinch you can pick up some 1/4 in. "PLAT STL - ROUND" from Mendards -- I tried the 1/4 in. aluminum rods and the 1/4 in. weldable steel rods but they were both just a little too thick. There are pros and cons to using the D shaft vs the steel rods from the hardware store; primarily the D shape is very useful when using set screw hubs - however the precision steel 1/4 in. D shafts from Servo City I found to be hard to work with since the fit was sooo tight... it was a struggle to get anything on or off. The steel rods from the hardware store were just ever so slightly thinner and therefore much easier to work with-- but since there is no flat side they get marred up pretty bad from set screws that are under a lot of force.

Shafts you will need:

  • 14 in. shaft (x2) - One for now for the front and later you will need the other for the back. The largest D shaft from ServoCity is 12 in. so you could either go with the Menards steel rods or use a 1/4 in. - 1/4 in. shaft coupler to join two 7 in. D shafts.
  • 6 in. shaft (x2)
  • 4.5 in. shaft (this is the one that connects to the coupler on the motor's shaft)

Shafting Tips:

  • If you use the steel rods from Menards; after cutting to length bevel the edges (I used a dremel) to make putting parts on easier. You'll thank me later. In fact, do this to your Precision D-Shaft as well!
  • Regardless of which shafting you use keep a small fine file ready to file off the marred spots... especially if you use set screw hubs.
  • For items stuck on the shaft:
    • the most effective method for removal is to use a vice and hammer the shaft straight down.
    • I've also found that using a pair of slip joint pliers (with a thick rubber band or bit of rope to reduce marring) in combination with a flat-top screw driver can often be effective as well. This is especially useful if you cannot or don't want to take apart an entire assembly to get to one stuck gear... or if there are children sleeping and you must work quietly.

Choose Your Hubs:

I ended up using set screw hubs for the gears and clamping hubs for the wheels. If you are not using D-shafting then the clamping hub will be much easier to take off and adjust. However since the way it is designed would pull two of the 4 screws together as you tighten it - I did not want to introduce any possible distortion or misalignment to the gear train.


You will of course need some 1/4 in. flanged ball bearings (535198), some 1/4 in. set screw collars, and some 1/4 in. shaft spacers as well as set screw hubs for the larger gears.

Step 7: Sprockets & Chain

I did not have hub adapters but I did have single flat channel brackets which did the job of allowing me to connect my hubs to my 4 large 48 tooth sprockets. They are probably not as strong but they are cheaper.

I used the plastic chain from ServoCity because it would be cleaner to work with (no grease or oil). It is really easy to add/remove links, all you need is a small flat top screwdriver. I used two chains each was not quite 43.5 inches long.

Step 8: Mount the Wheels

This is probably the most fun step. Mount the sprockets, chains and wheels.

Make sure to make to tighten the set screw hubs and clamp hub screws as tight as possible on the wheels and gears! If the wheels start to get out of alignment the bot can become unstable and tip over.

Step 9: Brains!

The Arduino

I used an arduino Uno (attached via an arduino channel snap mount) and a BLE shield to add bluetooth capability. The arduino is powered from a 9v battery in a battery holder with a switch which I zip-tied in place to keep it from sliding around.

The BLE Shield

I used a BLE Shield from Red Bear Labs. You can check out their getting started documentation. I loaded the BLEControllerSketch from their library onto the arduino, then installed their free app on my iPhone (they have an Android app as well).

The first time you run the iPhone app you will need to go to the menu and and choose "BLE Controller". I am pretty sure the first time I ran it, it went straight into the Simple Chat app which was a bit disorienting. Then you will need to make sure your arduino is powered on of course and then scan for it in the app. Subsequent times you can just choose "Connect Last". Next choose your pin (I used pin 3 since it is capable of Pulse Width Modulation)

The PWM Circuit

I essentially used the circuit from this Instructable for the Pulse Width Modulation circuit. Yes the instructions are in context of turning a solenoid on and off but simply substitute a motor for the solenoid and send pwm instead of high/low and it works quite well for motor speed control. Simple, cheap and effective.

Step 10: The Big Battery

Next I attached an old 12v 2.2 amp hr sealed lead acid battery to the front of the stair climber... it is heavy (2lb) but the extra weight works as a counter-balance when placed in front of the first axle, it actually helps it be more stable and less likely to tip backwards went climbing.

I used some 90 degree dual side mount E's for the battery shelf and a zip tie to buckle it in.

Step 11: The Power Harness

I used two SPST (single pole single throw) switches to connect/disconnect the 12v battery to/from the PWM circuit (one switch for the + and one for the -). This acts as a safety switch to quickly cut the power in the event of an emergency. Feel free to use one DPST (double pole single throw). I used some Quad Hub Mount Cs mounted in-between my main two channels to mount the switches.

Step 12: Climb!

Well that's it for this build. Have fun trying it out... improvements could be made for sure - for example, this version cannot steer, has no sensors, could be faster, etc. If you make your own, be sure to share :)


RedBearLab nRF8001 Library
I used the BLEControllerSketch from this library.
Nordic Bluetooth low energy SDK for Arduino beta version 0.9.0


Similar projects you might like

MeArm Robot Arm - Your Robot - V1.0

Project tutorial by Benjamin Gray

  • 42 respects

Otto DIY build your own robot in one hour!

Project tutorial by Camilo Parra Palacio

  • 387 respects

Make your first Arduino robot - The best beginners guide!

Project tutorial by Muhammed Azhar

  • 155 respects

Robot Gripper

Project tutorial by Team Science Camp (Iraqi maker space)

  • 37 respects

Bluetooth Steering wheel for a robot using 1Sheeld

Project tutorial by Kristian Blåsol

  • 1 comment
  • 13 respects

Super Easy to Build 1Sheeld 2 Wheel Drive Robot

Project tutorial by Garry Gerwer and Ahmed Hamdy

  • 35 respects
Add projectSign up / Login