Communication / Control

Please note that GRBL is limited in how long of a line it will accept. If your job is previewing correctly, but not running properly, check to see that line lengths are w/in its limits (50 for older versions, 70 for 0.8c dev or later) as discussed here. Certain programs may trim or round such off automatically (see below). Forum User TonyB has created a JavaScript (wrapped up in HTML so as to open from a local copy in a web browser) to round off decimals in files, available here.

Note that communicating w/ a micro controller is fundamentally the same as using a terminal program to communicate w/ another system. This means that some of the same trouble-shooting techniques and features apply, such as a delay between sending and receiving.

While the new Carbide Motion Board for the Shapeoko 3 affords the option of using Carbide3D's Carbide Motion control software, any G-code program will work.

Also see Grbl Gru on the Previewing G-Code page which now also supports TinyG. (Troubleshooting connection information here: http://www.shapeoko.com/forum/viewtopic.php?f=6&t=4710&p=43501#p43501 )

Communication / Control is at the heart of how a CNC operates, as described in this page.

Most run on Windows or Mac OS X or Linux. Discussion of Raspberry Pi g-code senders for Grbl.

Please vote for the tools you use in the poll.

Discussion of Carbide Motion Machine Control Software, Universal G-Code Sender, ChiliPeppr, and bCNC http://www.shapeoko.com/forum/viewtopic.php?f=6&t=6329&p=49406#p49406

Note that the Windows application GrblGru (listed on the home page and on the Previewing G-Code page) will also communicate with and control a machine. It has also gained the ability to reflash.

Note that Linux users may need to add their account to the “dialout” group to access the serial port. Shapeoko 3 connected to Debian Linux - Install & Setup notes

Troubleshooting techniques for Comm / Control programs:


 * Have you tried other gcode senders?
 * Do you have a different PC you could use just for testing, like a laptop?
 * It could be static electricity as I have had that problem myself, but not with the same symptoms..
 * If you try to run the comm/control program and the G-Codes without powering your steppers, will the PC crash then too?

Grbl
Official list: https://github.com/gnea/grbl/wiki/Using-Grbl

https://github.com/crispy1989/tightcnc

http://www.serialcominstruments.com/cnc.php SerialComCNC --- German program for Windows for controlling Grbl. https://github.com/grbl/grbl/issues/657

https://github.com/cheton/cnc --- web-based CNC milling controller for the Arduino running GRBL

https://github.com/nsiatras/sourcerabbit-gcode-sender --- cross platform G-Code sender written in Java, can be used on computers with a small amount of RAM and less powerful CPUs. 

https://github.com/martin2250/OpenCNCPilot --- video

https://github.com/svenhb/GRBL-Plotter --- supports Grbl 0.9 and 1.1

https://gitlab.com/Pilatomic/grbl-overseer --- touch friendly. Multiplatform (tested on Windows, Linux and Android)

https://github.com/Denvi/Candle

Note that most things listed under Raspberry Pi below will work on other platforms.

CLI
https://github.com/grbl/grbl/blob/master/doc/script/stream.py https://github.com/grbl/grbl/blob/master/doc/script/simple_stream.py

https://github.com/McNugget6750/SimpleG --- Windows CLI sending tool

https://www.npmjs.com/package/clinc --- A minimalist, scriptable command-line interface for GRBL v0.9.

https://github.com/welch/shapeoko --- Python

c.f., the Processing script GCtrl (listed above).

Other
https://github.com/TPMoyer/Grbl4P --- GUI interface to GRBL V1.1 CNC control using Processing 3.

https://github.com/Crazyglue/grbl-parser

https://www.mediafire.com/file/ok7nc1t8em983b3/Diba+controller+2.5.01.rar (Windows) --- GUI application for GRBL 0.9J with 2D G-Code visualizer

Laser-specific
http://github.com/arkypita/LaserGRBL https://github.com/arkypita/LaserGRBL/releases

https://laserweb.yurl.ch/

Chrome
https://github.com/sir-buckyball/chrome-gcode-sender

Android
Note also the Chrome sender above under Grbl

https://github.com/zeevy/grblcontroller

https://gitlab.com/Pilatomic/grbl-overseer --- multiplatform, also runs on desktops

https://play.google.com/store/apps/details?id=org.kasdev.cnccommander&hl=en

https://play.google.com/store/apps/details?id=in.co.gorest.grblcontroller github

https://play.google.com/store/apps/details?id=appinventor.ai_ploy_panmaneecnc.GRBL

Raspberry Pi
Several of the comm/control programs run on the Raspberry Pi.

GrblServer is notable for being specific to it and using Node.js: https://github.com/cho45/GrblServer

Similarly, there is New minimal control software: RasPyCNCController, available at: https://github.com/fsantini/rasPyCNCController which has image files available from: http://www.francescosantini.com/threed.html --- now supports touch screens and the Contour Design ShuttleXpress. Has support for Grbl's check mode.

http://opensourceecology.org/wiki/GcodeCommunications#Universal_G-code_Sender_on_Raspberry_Pi

https://github.com/winder/Universal-G-Code-Sender/issues/47 --- instructions for installation: http://www.shapeoko.com/forum/viewtopic.php?f=4&t=7942&p=63292#p63292

https://github.com/cncjs/cncjs Shapeoko 3 XXL + Raspberry Pi 3 + CNCJS + Tablet

Recommended OS: http://wiki.protoneer.co.nz/Raspberry_Pi_CNC#bCNC_.5BPython.5D.5BRecommended.5D

https://www.v1engineering.com/dip-a-toe-in-the-pool-v1pi/

Windows Machine Simulation
Grbl Gru supports Grbl and TinyG. --- for Windows users who don't mind closed-source, it should definitely be considered. Listed on the Previewing G-Code page.

TinyG

 * tgFX --- A GUI controller for the TinyG motion controller (discontinued, see Chilipeppr or GrblGru instead)

Additional Programs

 * https://github.com/aiten/CNCLib
 * https://3rd-dimension.github.io/
 * https://github.com/GridSpace/grid-host --- part of Kiri:Moto
 * https://github.com/welch/shapeoko --- Python utilities to communicate with the Shapeoko desktop CNC machine and its GRBL controller: gcat (send a gcode file to the grbl controller), gdraw (use keypresses to interactively move the shapeoko), gsh (send gcode commands to the grbl controller)
 * http://cheton.github.io/cnc.js/ --- a web-based CNC milling controller for the Arduino running GRBL. https://www.npmjs.com/package/cncjs Raspberry Pi instructions: http://community.carbide3d.com/t/shapeoko-3-xxl-raspberry-pi-3-cncjs-tablet/2458 Use with Linux: http://community.carbide3d.com/t/options-for-linux/5863/13
 * http://www.caliper2pc.de/download/en_download.html --- interface to connect digital calipers to a PC via USB affords a digital readout.
 * https://sourceforge.net/projects/gcodedownloader/

Note that since Grbl runs on an Arduino it's possible to use programs intended for use with that platform such as NetBeans Platform 8.1.

Uncategorized
https://github.com/pknoe3lh/cncgcodecontroller

Obsolete / Moribund / Abandoned?

 * https://github.com/natevw/js-cnc


 * G-code sender PythonCNCGUI --- HMI/GUI done in Python using Opengl for graphics is used to interface to modified Grbl CNC code on an Arduino over USB. Operating System Notes: Currently runs well in Linux with Ubuntu and Python2.5. Also in process it now runs in Windows XP 32-bit with Python2.7.


 * G-code sender GUIGcodeWriter_1.0.py --- Arduino G Code Sender Program. Python, python serial, and tcl/k (tkinter).


 * GrblHoming --- Gcode sender, monitor and homing tool for GRBL for Windows and Linux systems. See also: https://github.com/zapmaker/GrblHoming and https://github.com/zapmaker/GrblHoming/tree/Letartare


 * https://github.com/martin2250/CNCTool --- see https://github.com/martin2250/OpenCNCPilot