V2 – bigShoulders

DIYLILCNCv2 (a.k.a. Big Shoulders) is a robotic cutting tool that you can build yourself*. All the required CAD files can be found here. The DIYLILCNC project is Taylor Hokanson and Chris Reilly. Feel free to get in touch with suggestions or questions once you RTFM and check out our builder’s forum. Cheers!

*Note: DIYLILCNCv2 is still totally in beta. We have a functioning prototype, but the design is ever-evolving (so the design may change after you buy parts). While you can do-it-yourself, there are some challenging steps that involve working with dangerous levels of electricity. If you are unsure about something, reach out to a local university or hackerspace for tips.

Last updated 6 years ago

1 About

DIYLILCNCv2 is designed to be as user-hackable as possible. All specs are flexible, and may change depending on how you construct your specific build.

  • Footprint: (H)18″ x (W)32″ x (D)26″ | 456mm x 809mm x 654mm
  • Working area: (X)12″ x (Y)13″ x (Z)4″ | 310mm x 340mm x 110mm
  • Table travel (cutting): depends on spindle, bit, and material to be cut
  • Tool: 1/4″ | 6.23mm collet whip-Dremel
  • Can cut: wood, plastic, foam, light metals and more ;)

Although Taylor Hokanson and Chris Reilly are the principle researchers on the project, DIYLILCNC would not have been possible without the help and support of many individuals and institutions. Much of the DIYLILCNCv1 design was derived directly from two instructables posts (one, two) by oomlout. We improved upon the design with funding from The School of the Art Institute of Chicago, with particular help from Chad Gerth, Brian Stansbury and all the fantastic faculty and staff in the AIADO department.

The development of the DIYLILCNCv2 design was made possible by a successful Kickstarter campaign, followed by a generous prototyping grant from the Art + Design department at Columbia College Chicago. Extra thanks go out to Christopher Furman, Chris Kerr, Jay Wolke and Jim Zimpel.

Kickstarter 2011 Contributors: Edward Ford, Jakamoto, David Landry, shaji, blacketj, Mark A. Matthews, Chad Gerth, James Tippett, Andrew Laughton, EFFALO, Joe Murphy, ramy daghstani, Alexander C. Yao, Ash Kalb, Adam, Simon Benoit, Mark Wallström, Todd Masco, mdornseif, Jose Hevia, Szymon Kobalczyk, Andrew Ehret, machina ex, Isaac, christian, Dustyn Roberts, WeFab.it, John Mayo-Smith, draugluin, Gabriel Haffey, Martin Eliasson, Travis, Good, Doug Wilson, j. faceless user

In order to build your own functioning DIYLILCNCv2 you’ll need the following:

  • A week of evenings and a full weekend (depending on skill level)
  • Basic shop skills/tools
  • Basic electronics skills/tools
  • Between $500-$1000 dollars for parts (prices vary by source, desired features)
  • Plywood panel kit (plans are free, CNC fees vary widely)

DIYLILCNC is an open source initiative tasked with increasing the accessibility of CNC tooling/education for the broadest possible audience. As such, all of the intellectual property generated by the project is free to download, remix and redistribute, even for commercial gain (details). All we ask is that credit be maintained in all derivative works, and that these works carry the same license. If you’re not sure what this means, feel free to get in touch.

PS: For this and many other open source projects, we like to rely on the “smell test” when in doubt. Not too long ago, an enterprising web denizen copied our entire DIYLILCNC v1 design document and submitted it to an online contest. In some ways, this was not explicitly in conflict with the letter of our Creative Commons license. After all, this individual did credit our authorship (even if they did move the details from the first to the last page of their submission). Naturally, we felt that this violated the spirit of our license and had the contest entry taken down.

Much of our ability to produce a second-generation version of the DIYLILCNC depended on financial help from our 2011 Kickstarter Campaign. Our heartfelt thanks goes out to these folks for helping us get the job done:

  • $500+
    • nic gihl
    • Kevin Lepard
    • Tracy Scott
    • Walrusklasse
  • $250+
    • Jerry
  • $100+
    • David Reilly
    • Dave LeCompte
    • Adam Mayer
    • Barton Dring
    • Andrew Pilkington
  • $75+ (A part of the DIYLILCNC V2.0 is named for these donors)
    • Audrey Peiper
      • X Rail Panels / Belt Clamp:    “Peiper Clamp”
    • Bill Hastings
      • Z Sled Panels / Tool Holder:    “Hastings Holder”
    • Funutation Tekademy
      • Z Sled Panels / Z Cart Front:    “Funutation Tekademy Front”
    • Dave Vondle
      • Z Sled Panels / Z Sled Spacer:    “Vondle Sled”
    • Jimmy Westberg
      • Shoulder Block Panels / Top:   ” Jimmy Westberg’s Shoulder”
    • Jason Salavon
      • Z Sled Panels / Z Nut Trap:    “Jason Salavon Nut Trap”
    • Patrick Callahan
      • Z Sled Panels / Z Cart Top:    “The Cart top of Patrick Callahan”
    • Mattheus Dahlberg
      • Vertical Brace Panels / Vertical Brace Face:    “Mattheus Dahlberg Face”
  • $50+
    • Will Wilson
    • Steven Bukowski
  • $25+
    • Marcin Wiśniowski
    • Jake Elliott
    • ben porto
    • .:oomlout:.
    • Jerry Isdale
    • David Kramer
    • Richard Hoye
    • Molly McKenzie
    • Farid Mokhtar Noriega
    • Emeka Okafor
    • robdeadtech
    • Josh Reuss
    • Channel TWo
    • Merav
    • Abandon Hope Games
    • Mark Reynolds
    • alicia gibb
    • Fabio Madge-Pimentel
    • Robert Hickcox
  • $20+
    • Anne Petersen
    • brepettis
    • herrold
    • Eric Lebofsky
    • klml
  • $10+
    • Edward Ford
    • Jakamoto
    • David Landry
    • shaji
    • blacketj
    • Mark A. Matthews
    • Chad Gerth
    • James Tippett
    • Andrew Laughton
    • EFFALO
    • Joe Murphy
    • ramy daghstani
    • Alexander C. Yao
    • Ash Kalb
    • Adam
    • Simon Benoit
    • Mark Wallström
    • Todd Masco
    • mdornseif
    • Jose Hevia
    • Szymon Kobalczyk
    • Andrew Ehret
    • machina ex
    • Isaac
    • christian
    • Dustyn Roberts
    • WeFab.it
    • John Mayo-Smith
    • draugluin
    • Gabriel Haffey
    • Martin Eliasson
    • Travis Good
    • Doug Wilson
    • j. faceless user

2 Materials, Tools and Equipment

We’re doing our best to support our two main build communities: those working inside and those working outside the United States (bonus cautionary tale). We recommend that both groups use Metric parts wherever possible, though certain Metric items are more expensive and difficult to source in the US. We’ll provide Imperial alternatives for these items (such as the aluminum angle rails), but make sure to note when Imperial substitutions require a different set of matching gantry panels.

Shared Docs: Bill of Materials (BOM)

Many of the tools listed below are recommended. Although you could probably assemble this kit entirely with hand tools (assuming you already had the panels CNC milled), a jigsaw and cordless drill would really help.


  • Horizontal band saw (or hacksaw/miter box)
  • Table saw (or band saw)
  • Drill press (or cordless drill)
  • Brad nailer / 1″ brads (or wood screws)
  • 2 Pony clamps
  • 8mm bolt clearance bit, pilot bits
  • Combo square
  • Soldering iron


  • 4′ x 4′ sheet of 1/2″ plywood (for base)
  • 4′ x 8′ sheet of 1/2″ plywood (for gantry, if you CNC the panels yourself)
  • Wood glue
  • Goo gone (for label removal)
  • Solder
2012-07-13 13.58.14 HDR

The gantry panels that make up a DIYLILCNCv2 are made of CNC milled plywood. The thickness of this material is not critical; you can use anything in the neighborhood of .5″/12mm. Plywood with more layers will improve rigidity and increase cost (marginally).

We don’t currently have a source for fabrication, but we hope to offer that service soon. In the meantime, all are welcome to download the CAD files for free. Many universities and cabinetry shops have CNC mills. Prices will vary widely, so do your homework.

Shared Docs: CAD files

Some of the metal stock from the BOM must be cut to length. The following measurements assume a standard build (no change to axis length):

  • 2 x aluminum angle @ 28.75″ | 730mm (X-axis)
  • 4 x aluminum angle @ 24″ | 610mm (Y-axis)
  • 2 x steel rod @ 9″ | 230mm (Y-axis)
  • 1 x AMCE/trapezoidal @ 9″ | 230mm (Z-axis)

A robot isn’t much use without a brain. You’ll need a PC with a parallel port to run the DIYLILCNC. Wish you could use USB? So do we, and we researched long and hard before choosing parallel. In a nutshell, parallel will allow you to use an old underpowered PC to keep things cheap. This communication protocol also allows for real-time signalling, which is particularly crucial in an open-loop control system. While you can find USB stepper-control boards out there, they tend to be underpowered for this application.

We’ve kept the PC out of the budget because this type of box can often be had for free. Alternately, you might choose to build your own on the cheap.

3 Base


Build a torsion box. Most of the parts in this kit are held together with hardware, but this item should be nailed/glued.

Shared Docs: CAD files


Attach each of the four Vertical Brace Faces to each of the four Vertical Brace Walls. Bolt the resulting assemblies to the base so that the walls face front/back and the walls face left/right.

4 Y axis

There are two Y Rail Assemblies in the DIYLILCNCv2 design. Each assembly is identical, but the left and right assemblies are mirror images of one another.

For this section you’ll need:

  • Shoulder Block Panels
    • (2) Shoulder Block Interior Panel
    • (2) Shoulder Block Top Panel
    • (4) Interior Y Rail Runners
    • (4) Exterior Y Rail Runners
    • (2) Shoulder Block Exterior Panel
    • (2) Shoulder Block Bottom
  • Y Rail Panels
    • (10) Y Rail Spacers
    • (4) Y Rail Mounting Plate
  • (64) 8mm bolts, washers and nuts
  • (18) skate bearings
  • (2) rod bushings
  • (4) 24″/605mm-long sections of aluminum angle (3/4″ or 19mm leg length)

Mount a Belt Tensioning Assembly in the appropriate spot on a Shoulder Block Interior Panel.

You should also add a rod bushing to the center hole at this time, oriented so that the lip is on the same side as the Belt Tensioning Assembly. This part should be snug but not tight – if you have to push too hard, ream the hole a bit (but not too much!)


Attach the Shoulder Block Top Panel to the Shoulder Block Interior Panel. Be sure to keep the Belt Tensioner facing out/towards you.  Note how the triangular “fin” of Shoulder Block Top Panel is pointing in the same as the Belt Tensioner (to the left).


Add (2) bearing/hardware sets to each interior/exterior Y Rail Runner panels.


Pass two pieces of 24″ | 610mm aluminum angle stock through the center of the Shoulder Block Assembly. Add a Y Rail Spacer and an Y Rail Mounting Plate, then fix in place with a hand-tightened bolt/nut combo.


Add another Y Rail Mounting Plate and Y Rail Spacer to the other side of the Y Rail Assembly. You should also distribute 3-5 Y Rail Spacers along the length the assembly.


Bolt the Y Rail Assembly to the Vertical Brace Assemblies on the right side of the base.

5 Z axis

For this section you’ll need:

  • Z Cart Panels
    • (1) Z Cart Back
    • (1) Z Cart Front
    • (1) Z Cart Bottom
    • (1) Z Cart Top
    • (2) Interior Z Cart Rail Runner
    • (2) Exterior Z Cart Rail Runner
    • (2) Z Cart Spacer
  • Z Sled Panels
    • (1) Z Nut Trap
    • (2) Z Rail Runner
    • (1) Z Sled Spacer
    • (1) Z Sled Face
    • (2) Tool Holder
  • (~50) 8mm bolts, washers and nuts
  • (16) Skate bearings
  • (2) Stepper motors
  • (1) ~8.5″/215mm length of ACME rod
  • (1) ACME nut
  • (2) Bushings
  • (2) ~9″/230mm length of 1/4″/6mm diameter steel rod
  • (2) ~28 3/4″/730mm-long sections of aluminum angle (3/4″ or 19mm leg length)

Seat ACME nut (or equivalent) in the Z Nut Trap.




Add bearings/hardware to both of your Z Rail Runner panels.


Bolt two Z Rail Runners to the Z Nut Trap as shown. Add a Z Sled Spacer to maintain square panel relationships.


Bolt your preferred Tool Holder panels to the Z Sled Face. Here we’re adding the pen attachment. Note: these bolt heads will become inaccessible later in the assembly process.


Bolt the Z Sled Face panel to the Z Sled Rail Runner assembly. Don’t forget to apply ironic sticker.


  • Bolt a belt pulley to the front spindle of one of your stepper motors. This motor will ultimately drive your X axis.
  • Bolt the motor to the Z Cart Back (the one with holes in the face).
  • Add two belt tensioners (as originally described in the Y axis section).

Bolt the Z Cart Bottom to the Z Cart Back.


Attach the Interior Z Cart Rail Runners.


Attach the Exterior Z Cart Rail Runners.


Attach the Z Cart Front.

Slide the Z Sled Rails through the arrow-shaped slots in the Z Cart Top. Push them until they are securely seated in the diamond-shaped indentation in the Z Cart Bottom. Add two Z Rail Spaces to the top and the bottom of the rail pair to fix in place.

Thread the ACME screw into the ACME nut in the Z Sled. Twist the screw until the nut is about halfway down the length of the screw.

Use a shaft coupler to connect the shaft of the Z Axis Motor to the top end of the ACME screw. You may have to loosen the bolts on the Z Sled to get it to snap onto the Z Rails.

6 X axis

For this section you’ll need:

  • X Rail Panels
  • 5mm bolts, washers and nuts
  • 8mm bolts, washers and nuts
  • 1 Stepper motor
  • 2 shaft couplers, 2 belt pulleys
  • Drill rod, aluminum angle
  • Timing belt

Bolt the remaining stepper motor to the X Rail Motor Mount with 5mm hardware.


Insert two Aluminum X Rails through the Exterior Panel of the left-hand Shoulder Block, and continue to push until about 12″ | 300mm protrudes from the Interior Panel. Now push the X Motor Assembly between the rails as shown.

Pass the rails/motor through the center of the Z Cart. Continue to push until the rails bridge both left and right Shoulder Blocks. Add four X Rail Spacers, and fix in place with 8 bolt/nut combos.

Insert a length of 1/4″ rod in the Exterior Panel of the left-hand Shoulder Block and push until about 1″ | 50mm is exposed at the Interior Panel. Now pass the rod through a belt pulley, then continue to push until the rod makes contact with the motor spindle. Fix the rod in place with a coupler, but let the pulley float for now.

Repeat these steps for the right-hand Shoulder Block.

Pass the timing belt through the Belt Slot in the front left Vertical Brace. Continue to pull the belt until you can pass it first around the belt tensioner, then around the pulley, and finally through the Belt Slot at back rear. Fix in place with a pair of Belt Clamp Panels. Cut the pulley to length, leaving yourself a little extra on either end for adjustment. The biming belt should be somewhat taught and equally tight on both sides. Experiment to find the right setting for your rig. Once the belt is taught, fix pulleys in place on drive rod.

Repeat these steps for both the right-hand Shoulder Block and the Z Cart.

7 Motor Driver Electronics

Please read the instructions that come with your HobbyCNC controller/motor kit very carefully. Here are a couple of gotchas that we found through trial and error:

  1. Watch your jumper settings, especially when setting Vref. These must match the software settings in EMC2.
  2. Install a bleed resistor on the big capacitor, and do not touch any part of the electrical system unless this cap is fully discharged.
  3. Install a power LED/1k resistor (not included) between 5V pad and ground on your board. This also shows you the status of the big cap.
  4. Use consistent motor wire coloring.
  5. Do not plug/unplug wires until the system has been powered down for a couple of minutes.
  6. Take the time to build a case. Good airflow for cooling is critical.
  7. The included power switch is meant for much smaller wires. Purchase a beefier one and throw the stock part out
  8. Solder all three drive chips to the board, then hold up the heat sink to mark all 6 drill holes at once. If you lay these out with a square beforehand you’ll never get the alignment right.

13 Motor Control with Linux EMC2

Download and install Linux/EMC2.

Open an .NC file with EMC2. Jog the tool to a safe middle range, zero each axis, then run the job up in neutral territory. Once you’re confident the scaling is right, re-zero so that your tool actually meets your material.

From the OS desktop, run APPLICATIONS > CNC > Stepconf Wizard. See this link for a page-by-page walk-through of all EMC2 Stepconfig settings.

Most of the settings in Stepconfig are determined by the HobbyCNC controller board and the motors it ships with. One key setting, however, called “leadscrew pitch”, is determined by the hardware that you happened to purchase with your build.

X/Y: The pulleys on the DIYLILCNC are mounted directly on the motor shaft, so the system will travel a linear distance equal to the outer diameter of the pulley for each turn of the motor. Thus, LEADSCREW PITCH = 1 / CIRCUMFERENCE.

Z: Figuring Z-axis ratios is a little more challenging. Start with the following equation:

  • Lead: The axial distance the nut advances in one revolution of the screw
  • Pitch: The axial distance between threads
  • Starts: The number of independent threads on the screw shaft

…and then calculate LEADSCREW PITCH = 1 / LEAD.