From ShapeOko
Revision as of 04:33, 1 November 2012 by Ipodsoft (Talk | contribs)

Jump to: navigation, search


Gcode flow.JPG

You'll go through five steps in creating a part with your ShapeOko.

  • Design the part in a CAD (Computer Aided Design) system.
  • Generate the g-code that will drive your ShapeOko.
  • Check that g-code to ensure it does what you want in an efficient manner.
  • Send the g-code from your PC to your ShapeOko.
  • Interpret the g-code to drive the stepper motors.

In order to keep things simple, we've moved most of the software information to the Advanced Software section. Only material necessary for running your first job remains at this level in the wiki.

Source(s): Software solutions

Computer Aided Design (CAD) Software

CAD programs are high precision drawing programs. They can be used to create diagrams, models, and circuits. Different programs are best suited for particular tasks. Edward created the G-code you'll use for your first job, so you don't need to worry about CAD yet.

Computer Aided Manufacturing (CAM) Software

CAM programs read files from a CAD program and create G-code from it. G-code is the standard way of specifying the movements of a CNC machine. Some programs combine CAD and CAM in a single program. Edward created the G-code you'll use for your first job, so you don't need to worry about CAM yet.

Verify / Optimize G-Code

Verifying and optimizing your G-code is optional, but can be helpful. The verification step checks to be sure the G-code performs the right operations, does it in a logical order, and doesn't send the tool anywhere you don't want it (like through the piece you're making). The optimization step attempts to create G-code that gets the job done as quickly as possible, removing unnecessary steps and sequencing the movements in an order that minimizes extra movement.


At the minimum, a G-code sender program will send G-code commands from the PC to the Arduino. Some G-code sender programs can do a lot more, such as allowing you to "zero" the CNC machine and visualize the path of the tool.

GcodeSender by Otto Hermansson is a simple to use application that we'll use to send our first G-code program. Install GcodeSender on your PC to prepare for your first job.

Grbl Controller by Kosme is a GUI application for Windows and Linux to send G-code programs and adjust the machine.

Universal-G-Code-Sender by Will Winder is a port of GcodeSender that will run on Windows, Linux and Mac.

G-Code Interpreter

This is the final step in the process. The standard G-code interpreter for ShapeOko is a program called GRBL that runs on the Arduino. GRBL takess the G-code instructions sent by GcodeSender, interpret them, and output electrical signals through the stepper shield to the stepper motors.

GRBL is a free, open source, high performance CNC milling controller written in optimized C that will run on a straight Arduino. Install GRBL on your Arduino to prepare for your first job.


Another alternative to using GRBL is to use a Netduino CNC setup.