From ShapeOko
Jump to: navigation, search

The ShapeOko is a Computer Numerical Control (CNC) machine which in its default configuration uses a trim router or rotary tool for a spindle, placing it in the router category, using a high-RPM tool to cut materials (a mill would use a low RPM spindle and torque to make a cut). This page will discuss the machine in its default configuration and provide an overview of concepts which one will need to understand to use the machine. There is a Glossary which you may wish to consult for any terms which are unfamiliar or new, and where appropriate, there are links to pages which have more detailed information.


The ShapeOko is a 3-axis machine, so is able to move the mounted tool in:

  • X-axis (side-to-side when facing the machine)
  • Y-axis (towards or away when facing the machine)
  • Z-axis (up or down)

(without changing the orientation of the tool)

The standard CNC language G-Code is used to control this, and it may be configured to use either Imperial or metric units. One may "jog" the machine into position by making small moves by either manually entering G-code commands or using special purpose buttons in the program which communicates with the machine. When there is no power being applied to the motors the machine may be moved by hand, or by using crank handles attached to the stepper motor shafts. In the absence of Homing Switches the machine's origin will be wherever it is when powered up, unless that is changed with a special G-code instruction (e.g., G92 X0 Y0 Z0 which will set a temporary home position).

It is able to move using Stepper Motors which are controlled by Stepper Drivers attached to a controlling system. In the past, this had to be a full-fledged computer system, attached via specialized hardware which ran a G-Code interpreter (e.g., Mach3 or LinuxCNC) directly controlling the machine. Instead a Shapeoko uses a Microcontroller (an Arduino) running Grbl (a G-Code interpreter) attached to the machine via stepper drivers (originally mounted on a gShield) and controlled by a computer system running a Communication / Control program such as Universal-G-Code-Sender.


The typical tooling is a Trim Router, e.g., Dewalt DWP611 or Makita RT0701 (Other tools can be mounted) --- the industry term for such a tool is Spindle. The industry term for the tooling mounted in a spindle is endmill, a 1/8" bit is best suited to this class of machine for most purposes, which requires a third-party collet for most trim routers which have a 1/4" collet typically.


The ShapeOko is able to cut most fabrication materials, as well as non-ferrous metals --- a major consideration for this is that the system will take many light passes at a piece, rather than making a single heavy cut. Potential Materials include:

  • plastics --- Delrin, UHMW, HDPE, Polycarbonate, Plexiglass...
  • wood --- solid, plywood, MDF...
  • soft/non-ferrous metals --- aluminum

Other possibilities include carbon fiber, printed circuit boards, foam, Corian and cork --- essentially anything one can find a suitable 1/8", 3/16", or 1/4" bit for and reasonably expect to cut w/ repeated passes using a trim router.


Designs, fabrication techniques and joinery are limited only by the Cartesian movement of the machine, the end mill (see below) and the orientations in which one can fasten materials for cutting. Many techniques are straight-forward:

  • profile cuts --- it is simple to draw a path and have the machine follow it, cutting out a 2-dimensional design with the uniform thickness of the material
  • pocketing --- similarly, one can have the machine cut out an area from a material to a given depth
  • drilling --- most tools will be able to select the center of a circle for drilling to a given depth --- the diameter will be that of the selected tool (usually 1/8") plus the "run-out"
  • 3D shapes (w/ no undercuts) --- any shape which one can design in 3D which is fully supported vertically (if a light directly overhead would cast no shadows under over-hanging parts) can be cut on the machine w/in the limitations of the end mill's diameter, shape, cutting length, overall length and the balance of the machine's geometry. Jigs or additional axes allow for even more freedom when cutting.

There are several galleries of projects on this site, including the wiki.


In addition to G-code, one requires software as noted on the Software Overview page. The suggested initial open source programs (available Windows, Mac OS X and Linux) to use are:

  • CAD (Computer Aided Design) --- Inkscape, a vector drawing program specializing in SVG format graphics. Typically, a program such as FreeCAD would be used to make a .dxf, but there are many different options as noted in the link.
  • CAM (Computer Aided Manufacturing) --- MakerCAM, a Flash file which will import SVG graphics and allow one to define operations (such as Profile, Pocket, Follow Path or Drill) to be applied to, or along, or at the center of paths at feeds and speed rates appropriate to the selected material
  • Communication / Control --- Universal-G-Code-Sender, a Java program which will communicate with the microcontroller allowing one to send G-code commands (or a file containing such commands). This is at the heart of how a CNC operates, as described in this page. For the Shapeoko 3, one should instead use Carbide Motion Machine Control Software


Please use the Operating Checklist. It will be necessary to:

  • Mount an End Mill suitable to your Spindle.
  • Fasten down the raw material stock using an appropriate Workholding technique and suitable clamps.
  • Home the machine in relation to the appropriate origin point of the material

At that point, one may begin cutting, then, once cutting is complete and the machine is shut down and moved out of the way, the cut piece may be removed, any post-processing operations (drilling) completed, surface preparation and finishing done, and any other things which must be done before the project is complete.

For more details see Workflow.

See also How a CNC operates.