GcodeCommunications
Contents
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.
CNCjs
An alternative G-Code Sender to UGS (below). Suitable for running on low spec gear (eg on Raspberry Pi3), as well as standard desktop/laptop usage.
Gctrl
Gctrl(cross-platform)
Gcodesender
gcodesender(Windows).
Printrun
Printrun is a gcode sender that's supposed to have good support for RAMPS.
In Oct 2013, Dan used it for manual control and entering gcodes, but couldn't get it to send a file.
To get going, change baud rate to 250000 and click connect.
ReplicatorG
Seems not to have support for marlin.
grbl-controller
http://zapmaker.org/projects/grbl-controller-3-0/
Repetier
Beautiful, open source, versions for windows, linux, and mac. Very easy to configure.
In Oct 2013, Dan couldn't get it to run gcode files although it's got some nice manual control features.
RepSnapper
https://github.com/timschmidt/repsnapper
In Oct 2013, build of master on osx failed.
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:
Other
Other options for gcode streaming here.