<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.opensourceecology.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Justinclift</id>
	<title>Open Source Ecology - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.opensourceecology.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Justinclift"/>
	<link rel="alternate" type="text/html" href="https://wiki.opensourceecology.org/wiki/Special:Contributions/Justinclift"/>
	<updated>2026-04-22T05:22:59Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.13</generator>
	<entry>
		<id>https://wiki.opensourceecology.org/index.php?title=GcodeCommunications&amp;diff=175292</id>
		<title>GcodeCommunications</title>
		<link rel="alternate" type="text/html" href="https://wiki.opensourceecology.org/index.php?title=GcodeCommunications&amp;diff=175292"/>
		<updated>2018-07-20T18:14:58Z</updated>

		<summary type="html">&lt;p&gt;Justinclift: Added CNCjs to the G-Code listing page.  Both UGS and CNCjs work well for GRBL, TinyG, g2core.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Intro==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== CNCjs ==&lt;br /&gt;
https://cnc.js.org&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Gctrl ==&lt;br /&gt;
[[Gctrl]](cross-platform)&lt;br /&gt;
&lt;br /&gt;
== Gcodesender ==&lt;br /&gt;
[http://www.shapeoko.com/wiki/index.php/Assembly_step_15 gcodesender](Windows). &lt;br /&gt;
&lt;br /&gt;
==Printrun==&lt;br /&gt;
[http://reprap.org/wiki/Printrun Printrun] is a gcode sender that&#039;s supposed to have good support for RAMPS.&lt;br /&gt;
&lt;br /&gt;
In Oct 2013, Dan used it for manual control and entering gcodes, but couldn&#039;t get it to send a file.&lt;br /&gt;
&lt;br /&gt;
To get going, change baud rate to 250000 and click connect.&lt;br /&gt;
&lt;br /&gt;
== ReplicatorG ==&lt;br /&gt;
http://replicat.org/&lt;br /&gt;
&lt;br /&gt;
Seems not to have support for marlin.&lt;br /&gt;
&lt;br /&gt;
== grbl-controller ==&lt;br /&gt;
&lt;br /&gt;
http://zapmaker.org/projects/grbl-controller-3-0/&lt;br /&gt;
&lt;br /&gt;
== Repetier ==&lt;br /&gt;
&lt;br /&gt;
Beautiful, open source, versions for windows, linux, and mac. Very easy to configure.&lt;br /&gt;
&lt;br /&gt;
In Oct 2013, Dan couldn&#039;t get it to run gcode files although it&#039;s got some nice manual control features.&lt;br /&gt;
&lt;br /&gt;
== RepSnapper ==&lt;br /&gt;
https://github.com/timschmidt/repsnapper&lt;br /&gt;
&lt;br /&gt;
In Oct 2013, build of master on osx failed.&lt;br /&gt;
&lt;br /&gt;
== Universal G-code Sender ==&lt;br /&gt;
[https://github.com/winder/Universal-G-Code-Sender Universal G-Code Sender].&lt;br /&gt;
&lt;br /&gt;
This is recommended for grbl. As of Oct 2013, it&#039;s supposed to have imperfect support for Marlin.&lt;br /&gt;
&lt;br /&gt;
=== Universal G-code Sender on Raspberry Pi ===&lt;br /&gt;
[[File:GCodeOnRPi.png|thumb|300px|Raspberry Pi with grbl and steppernug]]&lt;br /&gt;
&lt;br /&gt;
[[RaspberryPi]] is a very small, low-cost, single-board open-source computer. Although Universal G-code Sender is distributed as a self-contained &amp;quot;One-jar&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
These instructions were developed on a Raspbian Wheezy installation downloaded from [http://www.raspberrypi.org/downloads]. Here is the OS identification:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pi@raspberrypi ~ $ uname -a&lt;br /&gt;
Linux raspberrypi 3.2.27+ #250 PREEMPT Thu Oct 18 19:03:02 BST 2012 armv6l GNU/Linux&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install java and comms driver prerequisites&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install openjdk-7-jre&lt;br /&gt;
sudo apt-get install librxtx-java&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;Note&#039;&#039; I installed openjdk-7-jdk, but I don&#039;t think it&#039;s necessary; the jre should be adequate.&lt;br /&gt;
&lt;br /&gt;
download UniversalGcodeSender-v1.0.5-all32.zip from https://github.com/winder/Universal-G-Code-Sender/tree/master/releases &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
unzip UniversalGcodeSender-v1.0.5-all32.zip&lt;br /&gt;
jar -xf UniversalGcodeSender-all32.jar&lt;br /&gt;
cd lib&lt;br /&gt;
jar -xf swing-layout-1.0.4.jar&lt;br /&gt;
cd ../main&lt;br /&gt;
export CLASSPATH=$CLASSPATH:.:/usr/share/java/RXTXcomm.jar:../lib&lt;br /&gt;
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/jni&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To make the Arduino Uno comm port (ttyACM0) visible, you need to start the application with a command-line parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
java -Dgnu.io.rxtx.SerialPorts=/dev/ttyACM0:/dev/ttyUSB0:/dev/ttyAMA0 com.willwinder.universalgcodesender.MainWindow&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Be patient, it takes about 20 seconds to start the application.&lt;br /&gt;
&lt;br /&gt;
[[File:UniversalGcodeSender.png|500px|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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&#039;t fit:&lt;br /&gt;
&lt;br /&gt;
[[File:GCodeSender tvres.png]]&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
Other options for gcode streaming [https://github.com/grbl/grbl/wiki/Using-Grbl here].&lt;/div&gt;</summary>
		<author><name>Justinclift</name></author>
	</entry>
</feed>