MCM: Boxway Build 1

I had a couple of days of free time on my hands over spring break and decided to get a head start on my motion axis build. While much of the engineering design for the rest of my structure is yet to be nailed down, I have spent sufficient time tweaking my error budget and doing first-order analysis that I am confident that the preliminary component sizes I specified are at least in the ballpark — sufficiently good estimates for me to put in material orders.

I decided to build the structural members of my desk out of beech for its high stiffness-to-weight and strength-to-weight ratios. There’s also the high Janka hardness which makes it a better bearing material that resists denting under extreme load events. Finally, beech’s neutral grain appearance and favorable machining characteristics also make it a good fit for my purposes. The desktop will be made from a sheet of 18 mm Baltic birch plywood, which would give me a nice void-free edge without resorting to gluing on an edging strip. I probably could have saved  some money by using cheaper material, but I decided against doing that as the time I am spending on this desk already far outweighs material costs anyway…

To date, I have successfully glued up my boxways and waxed the internal bearing surfaces to minimize moisture absorption and provide a non-porous surface for further lubrication (I am planning to use a light PTFE-infused grease). Now that I am using solid lumber, I can build my boxways to size and plane or sand down my sliders to give the requisite clearance. This allows me to avoid shimming the glue joints with paper like I did for my linear axis demonstrator toy — I am convinced that reduces the strength of the glue joint.

Another lesson I learned from the previous build is to wax the internal surfaces before gluing in the keeper rails, which both gives me better access when buffing out the wax and acts as a glue-release agent to keep the squeeze-out from adhering to my carefully prepared bearing surfaces.

The next step for me is to build my sliders and install my leadscrews on my boxways. My original plan was to laminate three 18-mm beech boards to produce a solid 50 mm-thick slider. The primary manufacturing concern with that was my ability to drill a sufficiently straight hole for the leadscrew nut to register against. This is critical for my design as I am using flangeless leadscrew nuts that are retained with a press fit. I am considering moving to a hollow slider design that would allow me to cut a precise counterbore on the endplate to press in the leadscrew nut using a CNC router since it has a much lower profile than the full slider — which would have been easy to cut with a horizontal boring mill, but which maxes out the vertical work envelope of the small router in Makerworks.

Desk Design Update: Twin-Column Design

Revelation about structural analysis

During our peer review meeting last Saturday, Yadu pointed out that we have been focused on the deflection over the cantilevered tabletop and neglecting the compliance in the bracket used to attach the desktop to the slider in a single-column design. This was something I had not thought about previously, but I pointed out that it would be relatively easy to stiffen up the bracket using gussets or heavier gauge material.

After checking my error budget to take this into account, however, I realized that this was a bigger problem than I thought. My friends who are building standalone desks will likely be fine because a standalone desk gives you a large amount of clearance below the tabletop to add stiffening members. I, on the other hand, need to keep the structure below the tabletop as thin as possible so that the “sit” position is not excessively elevated above the original height of the supporting table. I estimated that I could get away with elevating the work surface in the “sit” position by at most 2.5 inches, considering the amount of vertical adjustment allowed by the typical office chair.

Change of direction: dual-column design

Preliminary rendering of dual-column desk design

The limited space below the tabletop means I would have to either resort to unsightly gussets above the work surface to make my bracket sufficiently stiff, or use comically thick angle stock to make my bracket. A quick calculation showed that a 2 inch-wide bracket made our of steel would have to be 7 mm-thick just to be stiff enough for me to blow the entire 4 mm of allowable load-induced deflection on that one member. At this point, I decided that the chunky hardware required to realize the single-column cantilevered desk design would obviate the visual lightness that made such a design appealing in the first place. Therefore, I will pick up my fall-back twin column design from this point on.

Error budget and CAD

Most of this week was spent on populating and refining my error budget for the dual-column design. In a way, I am glad I pursued the single-column design initially — this helped me gain some very valuable experience preparing error budgets. Especially interesting was figuring out how to approximate a closed-loop structure in the error budget spreadsheet.

Based on the error budget, which of course is still a work in-progress as I work on better ways to model interface stiffnesses, the twin-column design looks set to satisfy my total error allowance of 5 mm (80:20 split between load-induced and geometric). In fact, I have been able to cut back on the size of many structural members, which improves the appearance of the desk and allows me to build using actual furniture-grade boards instead of heavy structural timber.

CAD models for my desk can be accessed here. The error budget is available here.

Bearing Preload System Build and Test

Material Sourcing

This week, I built and tested a bearing preload system for my linear motion axis. As described in my post on the design for this system, the preload is provided by a compliant elastomeric layer in an oversized slider that is compressed by the side rails. Since I only need a small piece of material, I was reluctant to incur the cost of ordering some well-documented engineering elastomer. I took a walk in Blick’s instead in search of cheap materials.

I eventually found some relatively flexible carving blocks intended for making printing blocks of rubber stamps that looked like they might work. They had traditional linoleum pads as well as a softer rubber blocks marketed as being easier to carve. The latter is what I went with as my first-order analysis suggested that excessive preload for the required deformation would be a significant challenge, especially considering my relatively anemic motor.


Using the dimensions calculated by my spreadsheet, I made up a new wooden slider core on the table saw and found a scrap piece of 0.25″ aluminum sheet to use as the bearing pad. On initial dry fitting, I found the slider almost impossible to force into the boxway — probably a result of the very approximate modulus value I used for the undocumented rubber compound. To compensate for this, I took the wooden portion of the slider down very slightly using a belt sander, using a guide to keep the sides square. I also gave the aluminum plate a good brush with some grey Scotchbrite to expose a fresh, smooth bearing surface.


I repeated the “along axis” repeatability test I did on the original motion axis a few weeks ago to try to characterize the effect of adding preload on performance. For a description of the test procedure, see my previous post. I found that the preloaded linear motion axis repeated to within 6 mm measured 2.9 m away. This translates to a total (side to side) angular error of 0.12 degrees, which is more than 50% better than the non-preloaded design. I believe the residual error can be attributed to slight movements of the entire system resulting from motor acceleration (The linear motion axis was just placed on a table without clamping), as well as imperfect alignment relative to the wall (essentially an Abbe offset).

Bearing Preload System Design

Excessive radial clearance in my linear motion axis, necessary because of the tolerances I could achieve using conventional woodworking techniques, was the major cause of inaccuracies and non-repeatability in my system. We learned recently in class that appropriate preload is a feasible approach to eliminate radial clearance and improve geometric repeatability without compromising overall bearing stiffness.

There is a large variety of possible ways to build preload into a sliding contact linear bearing. I decided to explore the use of an elastomeric compliant layer in the slider since it seemed like a concept I could eventually incorporate into my desk. Few suitable compliant materials have the wear and frictional properties to be good bearing materials, so this compliant layer will be sandwiched between the original wooden slider and a new bearing plate made of a wear-resistant material.

All of the repeatability and stiffness benefits of preloaded bearings only hold if the preload is never completely relieved under normal operation. I estimated that the primary source of aberration in the boxway is due to local imperfections in the side rails due to the poor surface finish achievable in the oriented strand board I used to build them. To the first order, I estimated that these imperfections have a characteristic dimension of approximately 0.1 mm.  In order to ensure some preload is retained through the entire travel, I invoked St. Venant’s Principle and designed for a preload displacement of 10 mm.

Simple design spreadsheet for bearing preload system

Using these values, I built a simple spreadsheet that predicts the marginal amount of actuation force due to the preload and specifies the geometry of individual parts to help support fabrication. For a hypothetical material with a modulus of 0.001 GPa (based off of linoleum), the appropriate displacement would result in an additional 140 N of actuation force required. Since my toy linear motion axis does not drive anything other than its internal resistance, I figured my stepper motor would be able to move it without too much trouble.

Desk Concept Exploration Overview

Overall Form

Alternative concepts for overall structure

After ruminating on the overall architecture of my desk for the past couple of weeks, I have decided to commit to a desk-mount design with a single linear motion axis. My reason for pursuing a desk-mounted design is so that the new device would fit into current and future spaces that I would live in. I anticipate living in pre-furnished spaces in the near future, so an adjustable desk that complements an existing desk is preferable to an additional piece of free-standing furniture.

I have also decided to limit myself to a single axis of motion in order to control costs and mechanical complexity. In my experience using desks, I have had little occasion to desire adjustment other than height. I am currently considering a single-column cantilever design as well as a twin-column design. Read more about these concepts below.

Error Apportionment

Error apportionment summary for adjustable desk

I am setting a total allowable error of 5 mm along the height dimension for my desk. 10% of this is allocated to the actuator (I think cheap bearings and structural members would contribute significantly more error than purchased leadscrews), and the remainder is evenly split between bearings and structure. As I mentioned previously, user experienced is degraded far more significantly by “free wiggle” geometric errors than load-induced deflections that are associated with significant resistance.

Single-Column Design

This is an early concept that I started off with, and it has stayed around through the process largely because of its simplicity. Additionally, there is something visually appealing (to me) about a cantilevered desk with a substantial support column made from wood.

The drawbacks are primarily associated with the relatively long cantilever length, which natural translates to larger deflections and higher forces at the bearing.

Twin-Column Design

This alternative design has the tabletop simply supported (an idealization) between two bearings each running in a column. These columns are located centrally at each of the sides of the desk. The advantage of this design is that it halves the moment arm for the worst-case scenario where all of the design load is concentrated at one corner of the desk. This translates to lower forces felt at the bearing and smaller deflections in the tabletop.

However, the need to double up on structural material and drive mechanisms (need to somehow actuate both sides to prevent racking) would increase cost. Additionally, the visually interesting bearing columns are not moved to the sides and out of direct view for the user. And finally, the columns may turn into a nuisance by reducing elbow room.

In the interest of time, I am going to focus on the single-column design for my exploration this week. The twin-column design will serve as a backup that I can come back to if I run into unanticipated and terminal problems with the single-column design.

See my first-order error budget for the single-column design here.

Quick Note on Self-Locking Bearing Concept

Avid readers (there are not that many…) of this site will remember reading about an idea I had to exploit the binding characteristics of sliding bearings to achieve self-locking. The primary reason for doing that was to allow the use of a more compact and lighter belt or chain drive system. Unlike leadscrews, belt or chain drive systems generally don’t have sufficient friction in the drivechain to resist substantial forces when powered off.

More in-depth analysis on self-locking slider bearings, leading to abandonment of the idea

I spent some time this week analyzing a concept that has a chain attached some distance away from the center-of-stiffness of the bearing. The idea was to design the bearing so that the weight of the table and things piled on top would cause the bearing to bind up and resist moving downwards. When the actuator is switched on, it pulls on the chain to relieve part of the binding moment, thereby releasing the table to move upwards. Unfortunately, my analysis showed that the reciprocal action to this — when the user wants to move the table downwards — actually increases the binding moment and causes even more friction. I did some what-ifs scenario in a spreadsheet and found that my actuator would have to exert thousands of Newtons to overcome the friction and move the table downwards. This is not only difficult to achieve using a small stepper motor, but also very very difficult to achieve without breaking the structure or bearings due to the large forces involved. Ultimately, I think there are too many drawbacks to this idea for it to be worth pursuing further, so back to leadscrews it is.

First-Order Error Budget: Single-Column Design

The single-column design is made up of 4 structural elements:

  • Tabletop
  • Bearing column
  • Crossbeam
  • Legs

Since this is a desk, the sensitive direction is vertically up and down.

I am making this error budget assuming my entire design load (20kg) is concentrated at one corner of the tabletop. This is a worst-case scenario that is unlikely to happen in use, but gives conservative error estimates that would guarantee performance. I can back off on the worst-case scenario for further design refinement if it turns out to demand excessive material or cost.


The cantilevered tabletop is under bending both across the depth of the table and across half of the width. We can approximate their joint contribution using superposition, although this may not be exactly accurate due to shears in the tabletop.

Bearing column

The bearing column can also be modeled as a cantilever undergoing bending in both “pitch” and “roll” directions, since the point load is placed at a corner. The actual cross-section of this member would depend on what bearing design I use. Here, I am assuming a solid rectangular cross-section to build the spreadsheet. The correct second moment of area can be substituted once I nail down a bearing design.


The crossbeam undergoes torsion and bending simultaneously. The torsional component is relatively self-explanatory, but I took a while to realize that the corner loading meant that one leg would be (at least partially) unweighted, allowing half of the crossbeam to behave like a cantilever. This first-order model neglects the dead load from structural components, leading to a relatively large contribution by this term. The symmetrical design means that the weight of the structural members will partially cancel out this contribution.


The legs act as cantilevers under bending. However, after realizing that the crossbeam bends and transfers load differentially between the two legs, I became a bit confused about how to formulate the deflection contribution from these members properly. I plan to sleep on it and revisit in the near future.

First-order Spreadsheet

First-order error budget

The total load-induced error from the structure alone was about 5 mm, which is approximately twice as high as I have apportioned. On the bright side, the vast majority of this error came from the tabletop. My current model assumes a flat sheet of plywood without any bracing, trusses, or composite panels. There is a great deal of room for improvement in that area at little cost, so my focus for next week will be improving the stiffness of the tabletop module.

The geometric error, which in this case comes entirely from the bearing, is around 2 mm. This comes from assuming a 0.25 mm radial clearance in plain sliding bearings. As we discussed in class, appropriate use of preload can all but eliminate this sort of error, so I am not excessively worried about this either.

Actuated Linear Motion Axis

I ordered a cheap leadscrew assembly intended for low-cost 3D printers from Amazon. The leadscrew came with a brass flanged lead nut, a pair of ball bearings mounted in zinc blocks, and a flexible coupling that fits the NEMA 17 motor output shaft. The leadscrew has a diameter of 8 mm, a pitch of 2 mm, and 4 starts. This means it has an overall lead of 8 mm/rev.

A quick note about running leadscrews directly in bearing bores: conventional engineering wisdom states that it is a bad idea to run threaded rods in bearings because of small load-bearing area results in high stresses. This is still true for leadscrews, but the trapezoidal threadform retains the major diameter across the width of its lands, making it less problematic to run them in bearing bores compared to “standard” fastener threadforms which are triangular and taper to an acute angle.

Repeatability Testing

Actuated Linear Motion Axis Test from Shien Yang Lee on Vimeo.

I tested the repeatability of the actuated linear motion axis in two ways.

Repeatability along motion axis

First, I repeated the “straightness” test I carried out last week for the linear axis without the actuator.After running the carriage back and forth between its extreme positions 8 times, I got a group of laser projection points with the maximum spread of 15 mm at a distance of 2.9 m. This translates to a side-to-side angular error of 0.3°, which is a ~75% improvement from the 1.29° measured on the non-actuated axis. I think there are two factors contributing to this improvement.

First, the motor and leadscrew is able to repeat axial position better than I could by hand. This places the carriage closer to the same locations when each measurement is taken. This theory is supported by the observation that points measured at each position (X0 vs. X100) all lay within 5 mm of each other (angular uncertainty of <0.1°). This suggests that most of the error measured comes from global straightness and parallelism errors in the box way instead of local “wiggling” of the slider.

Second, the leadscrew provides a degree of preload to take up part of the radial clearance. I drilled the slider for the lead nut using a portable drill and did not make the hole perfectly square to the faces of the slider. This slight misalignment places the simply-supported leadscrew (I left it floating in the bearing on the non-driven side) under bending, causing it to act as a preload spring. However, as we learned in class, this is not a good preload configuration since the system’s stiffness varies according to the square of carriage’s distance from one end.

Repeatability orthogonal to motion axis

My second repeatability test was aimed at measuring the precision with which the actuator can move the carriage to a specified position. I attached my laser pointer to the carriage orthogonally, such that it projected a beam perpendicular to the direction of motion. For the adjustable standing desk, this is the sensitive direction.

I recorded the position of the projected beam across the 100 mm-long travel of the carriage on 10-mm intervals. The repeatability at each position was within 1 mm. Note that we are now measuring axial displacement instead of angular error, so using a laser pointer conferred no resolution advantage.

More interestingly, I observed the effects of backlash in this test. I moved the carriage to each position in the following sequence:

0 > 100 > 10 > 90 > 20 > 80 > 30 > 70 > 60 > 40 > 50

Each reversal in direction caused the distance traveled to be short by approximately 1 mm. This is consistent with the perceptible backlash in the low-quality lead nut.

Linear Motion Axis Fabrication and Testing


I fabricated my linear motion axis (boxway) from scrap plywood and a plywood-oriented strand board laminate scrounged from around campus. As mentioned in my previous post, I wanted to keep the slider cross-sectional dimensions to a minimum of 1″ x 1″ in order to accommodate the flange nut when I incorporate the lead screw. Unfortunately, the only sufficiently thick material I could find was the plywood-oriented strand board laminate. This forced me to use the porous and irregular surface of cut oriented strand board as bearing surfaces instead of a smoother material. To compensate for the surface asperities and higher coefficient of friction associated with this material, I increased the radial clearance from my design value of 0.005″ to 0.01″.

After cutting the component pieces to size with the table saw, I glued up the assembly using copier paper (thickness = 0.0035″) as shims to achieve the necessary clearances. For example, a 3-layer stack of paper brings me within 0.0005″ of my design clearances. A mistake I made during this step was neglecting to account for the thickness of the glue layer, this ended up causing my boxway to have excessive radial clearance, increasing error motions.


Boxway Test from Shien Yang Lee on Vimeo.

I tested the geometric error in my linear motion axis using a laser pointer. I moved the slider between extreme positions on the axis of travel, while applying slight moments to take up the angular “backlash” caused by radial clearance. The position of the projected beam on a surface 4845 mm away was recorded between each adjustment.

Boxway testing: recorded beam positions and analysis

The maximum lateral displacement of the laser beam was 109 mm, which corresponds to an angular error of 1.29°. This is the total side-to-side rotation, which we expect to be twice that predicted by our deterministic geometric error analysis utilizing radial clearances. For my boxway with 0.01″ of radial clearance, I predicted a sine error of 48.5 mm when measured 4845 mm away. The actual value is slightly higher than expected, which I attribute to the mistake I made in not accounting for thicknesses of adhesive layers as well as imperfect clamping during the glue up.


Deterministic Design of Simple Linear Motion Axis


FRDPARRC table: linear motion axis design

I plan to ultimately use this linear motion axis design in my standing desk, so the design here will be driven by broader design requirements I have in mind for the desk. I have narrowed the concepts I am considering down to some form of sliding-contact bearing, partly to minimize system cost and mechanical complexity, but more importantly to try to exploit the binding characteristics of slider bearings in creating a self-locking axis.

Error Apportionment

As seen in the FRDPARRC table, the maximum deflection I am willing to tolerate at the extreme corners of the worktop is 0.5″. This is a perceptible amount of movement, but not uncommon in portable furniture. While the first-order analysis we did in class simply summed the error contributions from bearing slop and worktop flexural deflection, I decided to distinguish between the two sources of error.

The error motion due to radial clearance in the slider bearing takes place against negligible stiffness — i.e., a tiny load applied by the user in a new direction can almost instantaneously cause the system to take up all the backlash, going “clunk” in the process. On the other hand, the load-induced deflection is resisted by the flexural stiffness of the worktop structure. There is a more or less linear mapping between load applied by the user and deflection. In my experience, this form of motion has a far smaller impact on user experience since small amounts of flexing under load are expected by most people, while the sudden “backlash” type motion creates an unnerving sense of instability. To account for this different weighting from a usability standpoint, I assigned a 80:20 split between load-induced and geometric errors.

My error apportionment spreadsheet can be viewed here.

Self-Locking Axis Analysis

One of the most important functional requirements for my standing desk is that the mechanism is self-locking, even when the drive system is de-energized. This is critical for safe and efficient operation of the system. In a screw-driven system, one way to achieve self-locking is to increase friction in the threads. The cost of increasing friction (by using a tighter thread fit class, oversizing balls for ballscrews etc.) is that a more powerful and more expensive motor is required to overcome the friction whenever the system is actuated. An alternative (reciprocity!) way to achieve self-locking is to reduce the torque required to support the design loads by specifying a leadscrew with a finer pitch. Unfortunately, there is also a tradeoff here with actuation speed, since a finer-pitched leadscrew will have to rotate through more revolutions to move the carriage by a given amount.

I have decided to focus my efforts this week on utilizing the usually undesirable binding behavior of sliding linear bearings to produce a linear motion axis with self-locking capabilities. Intuitively, the jamming of sliding bearings is associated with rotation caused by loads acting away from the center-of-friction, which means that it can be “switched” on an off by an applied moment. Since the linear motion axis will most likely be placed along an edge of the tabletop (as opposed to through the middle), the dead load associated with the tabletop structure and things piled on top is inherently off-center. There is a chance, then, that this concept will work. The above pages from my notebook contain my analysis to verify this intuition. From this analysis, it appears that it is workable. My next step is to consolidate this analysis in a spreadsheet and try out several what-if scenarios to determine whether (and if so, by how much?) it improves upon a conventional self-locking design that relies on friction torque in the leadscrew.

Standing Desk White Paper

Coke can standing desk (Photo by Shien Yang Lee, CC-BY-SA 4.0)

This is a (non-adjustable) standing desk I built my sophomore year of college from empty soda cans and a shelf borrowed from my kitchen cabinet. It cost me virtually nothing to built and was extremely portable. When it came time to move out of my apartment, I simply removed the gaffer tape, recycled the cans, and returned the shelf. It, therefore, addresses two major problems I have with commercially available standing desks — cost and portability. However, its non-adjustable nature meant I was subjected to the tyranny of being forced to stand all the time. Healthy and fun when I was working; less so when I was trying to watch the latest edition of Top Gear or call my friends on Skype.

I am going to take Precision Product Design as an opportunity to build a standing desk that is not only adjustable, but programmable, so that it can (sometimes) have a mind of its own and gently enforce some healthy proportion of standing time.

Another interesting functional requirement I have specified is portability. I will be moving back to Singapore after completing my program at MIT in August, and I would like to be able to bring this machine with me. My vision is for the core drive and locating elements of the mechanism to be separable from bulky but easily replaceable structural elements like the tabletop. This requirement is also pushing me towards building a table-top appliance (e.g., Varidesk Pro Plus) rather than a standalone desk.


FRDPARRC table in notebook (Photo by Shien Yang Lee, CC-BY-SA 4.0)

Here is a FRDPARRC table outlining some additional functional requirements. The plan is to keep evolving this document for the next few weeks as I get feedback, and eventually to consolidate it in an electronic spreadsheet.