I didn't actually make this GUI. It was part of the Hydra MMM project. I changed it so that it works with any arduino based cnc project. It is a GUI that connects to your Arduino, and then sends a gcode file, line by line to it. It has a visual representation of the tool head to show you the progress. It also shows you what lines it has already sent and the replies back from the Arduino. The only requirements are that your Arduino executes "println("start");" in setup{} and then uses "\n" to distinguish between lines of Gcode, and then the Arduino must send an "println("ok");" after each command it executes. If the Arduino sends a "huh", then that line will be skipped and the program will continue. If you use Chris Meighan's firmware, you are good to go.
The GUI is a Processing Sketch.
You need to download the processing program here.
Download the GUI sketch here.
Then run the processing.exe and open the GUI sketch, Gcode_Feeder_GUI.pde. Press the play button and the GUI pops up. The sketches have the same extension as Arduino sketches, so don't accidentally try to run the processing sketch with the Arduino IDE.
To connect to the Arduino you can press "connect" and it will try every available port until it connects, or you can type in the com port and press enter. Example: "COM19" <—The case matters.
Let me know if you find any errors.
This website has been a great help in my CNC build. Thanks for all of the information.