Stairmonster 2

In 2006, I discovered the Stairmaster(tm) 4400CL at my local gym. It started as a great alternative to cycling during the winter and turned into a routine.
It was reasonably well constructed, and had a fairly simple interface.

Over the course of the next two years, I outgrew it. Towards the end of 2008, I was able to run for an hour on the unit at its full speed.

I was going to need to do something about this.
I searched around for faster units. They don't exist. (Stairmaster(tm) makes the fastest one.)
I considered buying a 4400cl and modifying the electronics, but I felt that wouldn't give me all of the improvements I wanted, and wouldn't be as much fun.

I was going to have to build my own.

Preliminary features:

  • Higher speed than the 4400CL (currently, I've run my unit past 500 steps per minute, which I cannot sustain for any real length of time. The 4400cl can run up to 100 similarly sized steps per minute (174 steps per min for their step sizes) . I estimate that this unit can safely work at a human-ly unachievable speed of 2000 steps per minute - though the resistors and alt. could not handle that.)
  • More interesting/useful interface
    • Advanced Heart rate interface
    • Accurate steps/min and watt calculator
    • User-defined programs
  • Greater range of motion/step height
  • Less forgiving handlebars
These were the parameters I would start with. The project was going to be rather involved.

Secondary features:
Since I first put up this website, I've added two new features.
  • Moving handlebars (similar to a versaclimber)
  • Watt meter
I've modified this page from its original layout to include the new features. While I'll be discussing them next to the original build, they were not part of the original design plan -- hence the odd choices I had to make from time to time to fit things in in ways I'd not originally planned for.

I set off and designed my new Stairmonster in solidworks.

My Stair Climbs:

Tackle Trump Parc 2010: 4th place 03:27
1 World Financial 2010: 2nd place 05:08.7
Story By Story 2011: 3rd place 11:35.0


             The initial design process (component selection, drawing, redesign, etc) took approximately one week.

The second build added moving handlebars to the first design. This turned out to be at least as much work as the original design, as I'd not originally planned having them. It is adjustable in angle and height -- hence all the holes and dowel pins.

I'd considered rebuilding everything from scratch with a completely different linear slide design for all the motion, but decided it was going to be too expensive and wasteful.
what's more, the gearbox for it alone was going to weigh nearly 30 lbs. I needed to keep things under control.

Original and New Concept

I purchased two 4400cl pedals from
I tied these to a 4-bar mechanism and attached a chain to the bar. This chain is wrapped around a sprocket and fed to a spring mounted to the spine of the unit
The sprockets have rotary slip clutches inside of them. These are unique spring loaded clutches that allow free movement around a shaft in one direction (the retraction phase) and lock motion in the other (the drive, or downwards phase)

This is the clutch from the newest design. It has 4 rotary slip clutches, one for each limb, so every part moves independantly

The drive shaft has a #40 roller chain sprocket fixed to it. This sprocket is tied with chain to the first continuous gearbox shaft, which is mounted with self aligning spherical bearings. Ordinarily, I would prefer to use belts instead of chain because of noise, expense and weight, but when wrapping a noncontinous drive chain around a pulley, unless you can have constant high tension, most belts will jump. Chain is much better at staying on the sprockets.

This shaft is tied to the next shaft by way of 24:14 gear increasing roller chain sprockets.

This shaft is tied to the next shaft by way of 72:20 tooth HTD5mm timing pulleys (and also has the quadrature encoder on it.), and that shaft is tied to the alternator by way of 72:12 gear increasing htd5mm timing pulleys.

All in all, 1 turn of the main drive shaft corresponds to a bit over 37 turns of the alternator (slightly over 6.17 turns of the encoder) or a ratio of exactly 124,416:3360.

All shafts and the encoder are mounted in slots so the belts can be adequately tensioned. I used solidworks to calculate the belt engagement and length and was accurate to half a millimeter! (belt stretch under tension, rounding of pulley sizes, etc, account for the error)

The output of the alternator is run into the rectifier to convert it to DC and sent through my watt meter and then into a resistor bank to generate heat and act as a load. The resistor bank box gets up to 70 deg C while I am climbing. (might put a fan on this some day, possibly even power it with the output. No problems with it yet...)

I ordered the materials I needed (mostly aluminum tubes, bolts, washers, bearings, bushings, etc) online, from places like mcmaster and various online metals dealers.

A division of my workplace (SDP-SI) was kind enough to give me the parts at cost!

My workplace (Techno CNC) provides me with the ability to do pet projects like this on my own time.

When I'm not building Stairmonsters there, I do the mechanical design of the CNC equipment along with some of the software work.

After manufacturing the parts on the CNC units I assembled the unit, and immediately, there was a problem. The unit was going WAY too fast, even at its lowest setting. Something was broken!

Long troubleshooting story short, the issue was a bad rectifier on the alternator. I replaced it with a new industrial rectifier and the unit worked properly.

Original fixed handlebar design:


New Moving handlebar design:


I originally wanted to use HTD timing belts everywhere, replacing all of the chain with belts. This would make the unit much quieter, but I wasn't going to be able to maintain enough tension on the pulleys to keep the belt from jumping. It is possible I could have redesigned the sysetm to use closed belts so the tension could be higher, but it wasn't going to be worth the hassle.

The original slip clutch setup was strong, but I wasn't sure it was going to be strong enough. The shaft bearings pressed into the hub were good for a ~300 lb person. The new arm clutches were more than twice the distance away from the support bearings, and I weigh 120lbs, so I decided to add a support box to the shaft to supplement the bearings just to be safe.

The aluminum box shown below houses a 1" dia self aligning bearing and the black L bracket above it ties the box to the rest of the system. Was it absolutely necessary? Posibly not. It definitely isn't hurting, however.

The arm mechanics move 32 inches, significantly more than the leg mechanics. The spring return was going to be difficult! I considered counterweights, but tracks for them were going to be expensive and they wouldn't return well.
I settled on using two large springs from lee spring attached together. The springs are 36" long, so one spring wasn't going to be enough -- it would fatigue and snap within months.

Handlebars, mounted to THK 25mm rails with two SRS Bearings per:

The bars allow for chinup, pullup and neutral grips. I'll expand on this eventually, allowing for a tilted grip

Finally, the new drive shaft design:

Software interface

The system provides a lot of information to the user during and after a program. It started out very simple and crept into a fairly complex bit of code. (The software hasn't changed much since the original version.)

  • Current speed / Overall average speed so far
  • Current heart rate / overall average heart rate
  • Heart rate breakdown and history graph that relates to the user program
    • Time coordinated to the path for comparison
    • Color coordinated to heart rate (darker colors are higher heart rates)
  • Several different speed profile programs to choose from
  • Race tracking: The unit can be told a time and distance of a race. It will tell the user if they would have won or lost the race, and by how much. It also tells the user if they are on track to win or lose before the race time is up based on the average of the last few seconds of speed.
  • Heart rate and path data can be sent to a PC in XL format after the session is completed

Program adjustability: The user interface has a touchscreen and 16 buttons to facilitate changing settings before starting and while running, including:
  • Increase the current segment's speed
  • Increase overall speed
  • 5 second speed spike or drop (multiple presses increase the duration of the spike)
  • Current speed hold

The core software is relatively simply, from a control aspect:
  • Read in the position of the encoder from the LM628 quadrature decoder ever 1ms
  • Aggregate this data into a register
  • Every 8 milliseconds, run this register through the PID loop which changes the voltage on the field winding of the alternator, which alters the resistance of the unit.
  • Whenever the unit is not in the quadrature or PID loop, update the screen, follow the program path, etc. The system spends approximately 250 microseconds in the various interrupt routines, leaving 75% of its time to the rest of the functionality.
  • The heart rate monitor input is on an interrupt signal. Whenever a heart rate pulse is seen, the system records the time of the beat and computes the heart rate down to 1ms accuracy. If the heart rate strap is sending out erroneous pulses, there is a rolling average filter which discards sudden increases in heart rate, possibly caused by a moving strap.
  • The firmware for the embedded controller (AT89C51RD2) was written entirely by me in C and assembly.

Heart Rate Interface

The most unusual feature of this unit would be the heart rate interface.
Most Stairmaster(tm) and other cardio units can interface with a standard polar compatible 5khz heart rate signal.
They use this information in one of two ways:
  • Display the heart rate/graph it
  • Use a single desired heart rate target and adjust the speed to achieve this target
My unit would be different. I would make the unit able to follow a heart-rate program. I found the Polar Heart Rate Module - RMCM01 from Sparkfun. With this, I was easily able to read the data off my wireless chest strap.

The idea behind a heart rate program is, where a normal Stairmaster(tm) program defines pedal speed over time (the first minute is 100 steps/min, then 110, then 90, up and down a mountain, etc), my software would be able to define a moving heart rate goal.

A heart rate program might look like this:

This graph shows the rise and fall that the user's heart rate will go through while running the program.
This makes it so the user can define segments of time to spend in certain cardio zones (fat burning, aerobic, cardiac muscle build). The Stairmonster software will modulate the pedal speed to keep the user within 1 percent of the desired programmed heart rate, with no interaction on the user's behalf whatsoever.

I believe this is a feature that has not be built into any commercially available units, anywhere. Certainly not the ones I've seen.

The unit can also work in a more traditional steps per minute mode.

Power dissipation

Several people have asked me about the generated power, and the field winding of the alternator.

Why don't I power something with this instead of dumping the power as heat?

A very popular question. Here are the facts:
  • The power I generate changes throughout the program. The faster I'm going, the more power I generate.
  • I would need a load that was very low resistance and capable of dissipating a wide range of wattage at nearly constant resistance
  • I wouldn't wind up with all that much power. Follow the spinning electron to see where our losses are:
    • The unit's own friction takes up some power
    • The electronics have their own resistance
    • Power regulation and stabilization of the power to attain constant resistance
    • Different power levels based on program speed
After all of this, I'll wind up with somewhere between 20 and maybe 200 watts depending on where I am in the program. I've considered powering a fan or some such, but the ROI would take a very long time, and there are more health-related aspects of this project that I want to work on first.

Why not power the field winding and the unit's computer with the power I'm generating?

Indeed, I could power the field winding of the alternator with the power I'm generating. This is exactly what the Stairmaster(tm) 4400CL (the cl stands for cordless) does. Use a battery to jump-start the field winding, then switch over to powering the winding with the power being generated and even re-charge the battery in the process. One of the reasons the 4400CL does this is to eliminate the need for plugs/cords running across a commercial gym environment, where they are a hazard and will be stepped on/damaged.
I decided this wouldn't be an important feature to me at this time. It would take a fair amount of additional circuitry and distract me from working on features that would improve my stair climbing ability. At full resistance (moving as slowly as possible), the unit draws about 25w. An average power supply draw across one of my programs is less than 15 watts. Once again, the ROI from such a project, which would be the purpose of "saving" power, would take years, given the cost of the electronics involved (5 watt draw means the unit costs approximately a dollar to run for an hour.. PER MONTH. I may do this when there are no other additions to be made.

Things that bug me

There are a few things I think need improvement/redesign. While the unit works great now, things like this keep me thinking of upgrades...
  • The pedals return by way of a thick spring. The spring is wrapped around a plastic pulley that after a year, shows signs of maybe only lasting 3-4 years. Good thing they only cost $5 each...
  • Because of the way the 4-bar mechanism works with the rotary clutch, 1" of pedal travel at the top does not translate to the same amount of rotary motion of the mechanics as 1" of travel at the bottom. It is a parabolic function.

    Since my PID controls on rotary motion, this means that the pedals fall slightly faster as they get closer to the bottom. There are a few ways I can deal with this (other than ignoring it, as it is all but imperceptable):
    • Create a linear bearing driven system, ditch the 4-bar
    • Use the PID error to attempt to "find" the top of the step and account for absolute position based on error spikes due to pedal acceleration
    • Use an array of input prox switches along the bottom brace to do a rough encoding of the absolute position and interpolate
  • The unit is not at all enclosed. I'm worried the cat might get into it. (he isn't allowed near it)
  • The arm mechanics move at the same speed as the leg mechanics due to identical gearing. This means that the arms quickly wind up out of sync with the leg motion, or only a fraction of the arm travel gets used. While this doesn't seem to be a problem, I'm considering changing the ratio for the arms, but this will require yet another gearbox or a different set of sprockets for either the legs or arms.
  • The control system targets speed by modulating the field winding of the alternator. A more interesting method would be to keep the alternator at a constant speed and modulate the gear ratio by way of a CVT. This would be an interesting change in the design, but would require quite a lot of design and will probably never happen.

Future additions

Having completed my planned additions, I'm open to suggestions. At this point, I have no idea what to do with this next, other than use it.


What's the red stuff?
Industrial grease. I've yet to get caught in the gears, neither has the cat. Note that I recently switches to a different grease, so some of the pictures don't have red grease anymore

How big is one step?
Approximately 11 inches, give or take (see the "bug me" section for why). The total range is ~18 inches, but the software counts ~11" as a step

Why are you doing this?
It is a great workout, and I want to get better at stair competitions. If you're from the Empire state run up group, I'd like to run in feb 2011. (my application has been sent in).
Update: I was turned down. :(

This is going to hurt you
I've been doing stairs since 2006 and have consulted a sports medicine doctor about this. Thanks for your concern, however.

All modern exercise equipment has the ability to program against heart rate
Good. They should. Though the ones I've seen keep the same heart rate through the entire session, never changing it (this is all but pointless for a good workout). Maybe you've been using a different model? I wouldn't know, what with having my own Stairmonster.

How much did this cost?
About 600 in materials/parts/etc for the Stairmonster, and another 500 for the Versaclimber(tm) part. A new 4400CL is ~3500 to 5k, depending on which websites you believe.
Literally the same day I fired up this thing for the first time, I found a link on craigslist where someone was selling a "new" 4400 for like $300. Crazy.

How long did this take to make?
Initial drawing and part selection took about a week, after purchasing, machining, correcting, changes, feature creep, programming, etc, 3 months of on and off work - nights and weekends. I started Sept 2009, and finished late November. I'm still adding software features every so often (feel free to suggest some). The versaclimber part took a week to design and a week to cut and assemble.

There's no way you can go 2000 steps a minute
I know. I'm guessing that's what the components can handle (except for the alt and the resistors). As I said, I can't even do 500 for any meaningful amount of time. My current routine peaks around 370 steps per minute for 20 second intervals. There is a video below of 200 steps/min, 200 just sounds like a big number.

Why not ride a bike?
I do a lot of cyclocross. This is more work, more consistent, takes less time, and I don't have to watch out for cars. I'm also fairly certain that this has improved my cycling stamina, especially when climbing hills.

Why the Stairmaster(tm)?
There are two "forced" machines in a typical gym. The Stairmaster(tm) and the treadmill. By "forced", I mean that when set, the user has to keep up with them or fall off. With ellipticals, bikes, rowers, etc, when the resistance is turned up on them, the user can just slow down. With a treadmill or Stairmaster(tm), the user is forced to keep up. I'm a terrible runner, so stairs it was.

Are you selling these?
No. Patents, insurance, and other business-ey stuff aside, I don't think there's all that much interest in Stairmaster(tm)s, and certainly even less interest in ones that are even harder than the official ones. Next time you're at the gym during a busy time, look at the line for the elipticals and note how the Stairmaster(tm)s are vacant (another reason I picked the Stairmaster(tm))

How does this compare to real stair climbs?
Fairly well, actually. I would say that real climbs are 20-30% more difficult, what with having to turn corners, run landings, pass other people, fixed step sizes, etc.

Why not just add weight and go at a normal speed?
Adding weight is indeed a segment of my routine, but so is speed. I typically use ankle weights.

Wouldn't this be really easy to do? You're just falling... / Why is this hard? The Stairmaster(tm) is doing all the work.
The process of spinning the alternator requires moving the pedals and keeping my body in the same position. I'm effectively lifting my weight with each step. The power I'm putting into the resistors is coming solely from me as the source, and it ranges between 30 watts to 200 watts. There is no other source of power across those resistors. To put it another way: I'm spinning the alternator -- not the other way around.

Your routine is silly/lacks [x]/would be better if you [y]/etc
Thanks for letting me know. I'm also interested in any stock picks you have and your opinion on which episodes of the simpsons are the best.

Your web design sucks.
I know. Web design and aesthetics really aren't my thing, and I had no idea this was going to get seen by so many people. The last webpage I made was in 1999, and I've never used anything other than notepad and vi.

Why don't you sit around and eat donuts?
A fair question. And one that in recent weeks, has been much on my mind.

Technical Details

  • Alternator: 65amp DR 7SI alternator used from a boat
  • Controller: Atmel AT89C51RD2 microprocessor which chats with an LM628 for use as a quadrature decoder
  • PID Loop: 1ms measurement increments aggregated into an 8ms PID update function
  • Power Supply: old 500 watt PC power supply (to power the controller and field winding of the alt)
  • Screens: 320x240 intelligent touch screen display for graphs
  • 16x2 backlit character display for debugging information and parameter selection
  • Encoder: 4000 line bearing mounted quadrature encoder
  • Original Handlebars: Dusty old set of BMX ape-bars I found cheap at a local cycle shop
  • New Handlebars: .875 aluminum bar fixed to THK 25mm rails and bearings
  • Pedals: Original Stairmaster(tm) 4400cl injection molded pedals
  • Cumulative drive mechanism: 4 25mm INA rotary slip clutches
  • Belts: 15mm thick HTD5mm transmission belts
  • Two stage gear increase to operate in the most productive range of the alternator
  • Power dissipation: 4x 250 watt .5ohm ceramic resistors
  • Range of speed: 6 steps per minute at its lowest, going up to at least 2000? steps per minute
  • Range of handlebars: 32 inches


16x2 display

Watts up Wattage display

Intro Screen/Path selection

Main Screen just after program start

Resistor box

This is how I joined the springs, which came with no end loops. Turns out that 5/8-11 threaded rod is PERFECT for holding the spring.

Top of the original clutch mechanism

Left original clutch mechanism

Right original clutch mechanism (grease, not gore!)

Left original mechanics side

Right original mechanics side

Left new mechanics side

Main mechanics (the drive chain was moved from the right side to the left), chain tensioner, bearing box, etc

Right new mechanics side

New mechanics

Spring tensioners and pulleys (and my magnetic pickup)

The keen eyed reader might note that the chain wrapping around the clutch runs at a slight slant in its plane. Roller chain can do this with no problem.

People were asking for video...
New stairmonster at ~20 steps/min (I'm told it looks even sillier at higher speeds):

Stairmonster at ~50 steps per minute:

Stairmonster at ~200 steps per minute:

If you have any questions or comments on this, message me at
eric-stairmonster CAT ericfeldman [period] com
obviously, replace the CAT with something similar-sounding.

This page was last updated Jan 23, 2011.
Hit Counter by Digits