GcodeCommunications
Intro
When using a CNC machine, there needs to be a program which sends the gcode created on a computer, to the motor controller which executes the gcode by moving around the motors.
Gctrl
Gctrl(cross-platform)
Gcodesender
gcodesender(Windows).
Printrun
Printrun is a gcode sender that's supposed to have good support for RAMPS.
Universal G-code Sender
This is recommended for grbl. As of Oct 2013, it's supposed to have imperfect support for Marlin.
Universal G-code Sender on Raspberry Pi
RaspberryPi is a very small, low-cost, single-board open-source computer. Although Universal G-code Sender is distributed as a self-contained "One-jar" package that handles its own dependencies, it needs a little help on the arm-linux platform. I believe it misidentifies arm-linux as intel-linux and tries to use an x86 communications driver. Therefore we need to provide our own version of the communications library and manually unpack Universal G-code Sender.
These instructions were developed on a Raspbian Wheezy installation downloaded from [1]. Here is the OS identification:
pi@raspberrypi ~ $ uname -a Linux raspberrypi 3.2.27+ #250 PREEMPT Thu Oct 18 19:03:02 BST 2012 armv6l GNU/Linux
Install java and comms driver prerequisites
sudo apt-get install openjdk-7-jre sudo apt-get install librxtx-java
Note I installed openjdk-7-jdk, but I don't think it's necessary; the jre should be adequate.
download UniversalGcodeSender-v1.0.5-all32.zip from https://github.com/winder/Universal-G-Code-Sender/tree/master/releases
unzip UniversalGcodeSender-v1.0.5-all32.zip jar -xf UniversalGcodeSender-all32.jar cd lib jar -xf swing-layout-1.0.4.jar cd ../main export CLASSPATH=$CLASSPATH:.:/usr/share/java/RXTXcomm.jar:../lib export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/jni
To make the Arduino Uno comm port (ttyACM0) visible, you need to start the application with a command-line parameter
java -Dgnu.io.rxtx.SerialPorts=/dev/ttyACM0:/dev/ttyUSB0:/dev/ttyAMA0 com.willwinder.universalgcodesender.MainWindow
Be patient, it takes about 20 seconds to start the application.
For minimum-cost implementation of CNC, it would be nice if the g-code sender interface could run from the composite TV-out of the Raspberry Pi (assuming an old TV may be cheaper than an HDMI/DVI monitor). Unfortunately, however, the UI doesn't fit:
grbl-controller
http://zapmaker.org/projects/grbl-controller-3-0/
Other
Other options for gcode streaming here.