G-code Interpreter for 2 Axis CNC Router

Technorama 2018

Author: Gulzar Neelesh Sharma

Supervisor: Marius Gudauskis


The project was based on a two-axis linear rail that needed a controller for the understanding of G-Codes and to be able to make desired shapes both manually and in automatic mode. To do this there were two options in hand to use a public software GRBL or make my own software. I choose to make my own software and application to control the machine as I could have much more flexibility to add advancements or new features. The controller used is ATMEGA 2560 programmed in C on ATMEL Studios and the application to handle G-codes was programmed in C# on Visual Studio.

The project consists of several stages in both in both programming and designing of a Z-axis for pen movement. Several safety factors are implemented in the application so a user does not connect to the machine without proper setup. Limit switched are used to detect end collision and also to home the 2-axis system. Different stepping modes can be selected which gives six different modes of accuracy. The highest accuracy is achieved at maximum stepping (1/32 of a single step).

One can also switch between Automatic, manual movement and manual G-code incremental programming. At the moment to switch from stage to another the application needs to restart, but this will be fixed in future upgrades. Theoretically, the accuracy of the system at maximum stepping (1/32th of one step) is about 0.43 micrometers and reduced as we increase the stepping up to 10 micrometers. But mechanically a system can never be made to its exact or absolute dimensions. This adds to the inaccuracies of the motion. PWM is used to control the stepper motors along with a feedback for the stepping so that a count for the distance can be maintained.

This router was made keeping in mind that it could not only be used for drawing or writing but also for other systems such as laser engraving. The goal is to be able to select what kind of operation is needed to say “select between drawing/writing/laser engraving” and the machine print out the designs. This is very useful as laser engraving on sheet metal or any suitable material can be quite expensive to get done. Also with a future Z axis control the all the drawings and writings can be carved out.

2018 - 2018