Cupcake X Stage Assembly

This page is part of the Cupcake CNC build sequence.


Building the X stage will take you about one and a half hours. You will need your previously assembled Y stage.

Before You Begin

  • Take Note: the X front and front cap parts have changed as of the Batch 10 version of the kit! In your box, you may find two X front and X cap parts. They should be inside the bag marked "Supplemental Bearing and Pulley Kit". Use the new ones indicated in the picture above! You can keep the old ones as souvenirs.
  • Take Note 2: There is a minor defect in CupCakes with a Serial Number of 982 and above. This includes part of Batch #13 and all of Batch #14. Batch #15 should be unaffected. Check the M3 bolt holes on the X back part relative to an X cap part and decide how you wish to proceed.
  • Take Note 3: The narrow slots that allow the timing belt to run through on X left and X right are misaligned in batch 16. You will need to widen these slots slightly.


  • Identify the small idler pulley to distinguish it from the Z stepper pulley. You'll find the small idler pulley in the Supplemental Bearing and Pulley Kit.

Parts list

  • Laser-cut stage parts
    • X stage
    • X left
    • X right
    • X front
    • X back
    • X rib
    • X back cap
    • X front cap
    • 2 X clamps
  • NEMA 17 stepper motor
  • 17-tooth aluminum drive pulley
  • Small idler pulley (see above)
  • 1 M5 45mm bolt (not shown above)
  • 2 M5 nuts (not shown above)
  • 1 M5 washer (not shown above)
  • 4 flanged slide bearings
  • 23 M3 16mm bolts
  • 23 M3 nuts
  • 4 M3 10mm bolts
  • 2 smooth supporting X rods
  • 2 smooth supporting Y rods (not shown above)
  • 264 tooth continuous timing belt (the second-shortest one)

The lasercut parts are in the Cupcake CNC Lasercut Parts box.
The M3 & M5 bolts, washers and nuts are in the Hardware burrito bag.
The pulleys, belts, and flanged bearings are in the Belt, Bearing and Pulley bag.
The rods are bagged in the Drive Rod Kit.
The NEMA 17 motor is bubble-wrapped with the other NEMA 17 motors.


Clamp the X belt to the X rib

  • Attach each X clamp to the front of the X rib through the uppermost holes with a 16mm M3. Loosely thread a nut onto each bolt, but do not tighten. Rotate the two clamps so they do not cover the slots in the rib.
  • Place the belt against the front of the rib so that the teeth of the rib engage the slots in the rib. Swing the clamps over the belt.
  • Insert bolts in the lower set of holes and tighten all the nuts until the belt is firmly clamped to the X rib.

Assemble the X stage

  • Place 3 M3 nuts in the lower three T-slots on the X right and X left pieces. (You can leave the two t-slots at the ends empty for now.)
  • Slot the X left and X right pieces into the X stage. The text on all three pieces should face outwards. Use six M3 bolts to tighten the sides to the stage.

Mount the stepper motor

  • Using the small hex key, loosen the set screws on the small aluminum pulley. Look down the bore to make sure the set screws are completely out of the way.
  • Push the pulley onto the motor shaft, set-screw end first. The fit is very tight; if you're having a lot of trouble, try lightly sanding the inside of the pulley slightly. Adjust height of pulley depending on the height of the small idler pulley. This height should be around 3 millimeters.
  • Tighten both set screws with the hex key. Make sure they're nice and tight.
  • Place the motor inside the stage, with the wires facing inside (towards the right) of the stage. Run the wires through the notch in the side. If you like, you can run a zip tie through the holes above the notch to hold the wires in place.
  • Use the four 10mm (shorter) M3 screws to secure the motor to the X stage. Do not use the longer 16mm screws to hold in the motor! They can potentially jam the motor and keep it from moving.

Mount the small pulley

  • Set aside the small idler pulley, the long M5 bolt, two M5 nuts, and an M5 washer.
  • Put the pulley on the bolt, with the side with the set screws towards the head of the bolt. Add a washer and then screw on an M5 nut as far as it can go and tighten it.
  • Make sure the set screw on the idler pulley is not pressing on the bolt! You can even take it out altogether, if you like.
  • Insert the rod of the pulley into the oblong slot on the right side of the X stage.
  • Hand-tighten the the second M5 nut onto the bolt from the underside of the X stage. (Don't tighten it too much, because you will be adjusting it very soon.)

M5 Bolt Clearance Cutting

Starting around Batch 11 or 12, a number of people reported insufficient clearance between the M5 bolt-mounted small pulley (next step) and the X axis guide rods. One solution is to cut the 45mm long M5 bolt down to 40mm:

  1. Run a nut all the way down to the head of the bolt before you start cutting.
  2. Measure off 40mm of bolt length, not including the head, and notch the position with a file.
  3. Clamp the bolt head in a vice and with a Dremel ceramic cutting disc or hand-saw, cut off the remaining 5mm of bolt.
      • Take care not to spray sparks on your flammables.
      • You may want to use a grinder or buffer to remove any burrs or rough edges from the cut end of the bolt.
  4. Remove the nut you added previously, using a wrench if necessary.
      • This may take a little muscle depending on how clean the cut is. You will need to be careful not to damage the threads, but as a result you will "repair" the cut threads of the bolt so the nut can be removed and replaced later.

Place the Y stage on the X stage

  • Place the Y stage on the X stage. The side labelled "Y front" should face the front of the X stage (towards the motor). The slots in the side of the stage should point in the same direction as the motor wires. Loop the Y belt around the two pulleys.

Mount the rod supports

  • Put M3 nuts into the slots at the ends of the X left and X right pieces.
  • Attach the X front and X back pieces to the frame as shown. The "front" of the stage is the end with the idler pulley; the "back" is the end with the motor. The text on both pieces should face the "front" of the stage.
  • Secure the front and back pieces in place with 16mm M3 bolts.

Mount the Y stage rods

  • Using an two M3 bolts and nuts, affix the X cap to the back of the X back piece. (Use the X cap piece that matches the X back.) This will hold one end of the Y rods in. Make sure the heads of the bolts are facing the front of the X stage.
  • Slide the Y rods (those are the shorter ones!) through the holes in the X front, the slide bearings in the Y stage, and into the holes in the X back.
  • It's likely that the rods will extend very slightly from the holes. That's fine; we're going to clamp them in place with the other X cap.
  • Using two 16mm M3 bolts and nuts, attach the other X cap to the front of the X front, clamping the rods in place. Make sure the heads of the bolts are facing the back of the machine.

Install the rib and belt

  • Insert five M3 nuts into the slots in the X rib.
  • Insert the rib into the underside of the X stage so that the belt runs through the two narrow slots. (The text on the piece should face away from the motor, towards the front of the X stage.)
  • Screw the rib into place with five 16mm M3 bolts.

Tighten the Y belt

  • Pull the idler pulley as far forward as it can go, and then tighten the nut beneath it with pliers. It is important that:
    • The pulley be as far forward as it can be, and
    • That the M5 nut under the pulley be well-tightened.

If the pulley is not moved forward far enough, the bolt will collide with the X rod.

Install the flanged bearings

  • Install the four linear bearings in the large holes in the X stage in the same way that you installed the other bearings in the Y stage.
  • Slide the X rods through the bearings and make sure they slide easily. In particular, check that the front rod isn't hitting the idler pulley bolt.
  • Once you're happy with the X rod's movement, add a touch of hot glue to each bearing to keep them in place.

That's it! Your X-Y mechanism is complete!

Next step: Cupcake Body Assembly

Unless otherwise stated, the content of this page is licensed under GNU Free Documentation License.