I read that G-code commands can be sent through a console/terminal over USB. What is a console/terminal and how do you use that?
2 Answers
There are several programs that could serve as a console to connect to a printer, put let's start somewhere: the USB connection.
Step 1: Connection with USB
When connecting the printer via USB for the first time, we will get a notification that some unknown item is connected. If we use windows we can learn what device it decided we now have via the device manager
(Windows Key
then typing in manager
and Enter
). It should be a COM Port as this picture shows.
In this case, we have connected to COM4
. To change the COM port, we can do so via a Rightclick
->properties
, then the connection settings
and advanced
. In the new window, we can change the COM port number to anything from 1 to 256, but it is recommended to keep the number somewhat low.
Make sure you run the printer's power supply and the connection via USB, as you can't use motor control commands if you have the power supply for the printer off.
Step 2: Using the COM-port
Now, we need a program that can use the COM port to connect to the printer. There are, as said, several out there. One such is Repetier Host, which comes with slicer and a good graphical interface. Another is Ultimaker Cura, which has the same capacities but lacks logging of all the commands exchanged. Because many are familiar with it as a slicer, I will look at it first. As a third option, I will take a look at Pronterface.
CAVEAT: Only one program that actively uses the COM port can be properly run at the same time, as the first program accessing the port will claim all uses for the COM port till it is shut down - any program or even other instances of the same program trying to access the port after that will have no control of the port.
Ultimaker Cura
After launching Ultimaker Cura, choose your printer. many printers are available as presets by now, so just import the printer you use or make a custom profile. At the moment the latest version of Cura is 4.1.0, and will look like this:
After switching to Monitor
, it will automatically connect to the Printer via the COM port, in my case 4.
Once more we test the connection via Home and then use the Send G-Code prompt, confirming lines via Enter
.
Repetier Host
After running Repetier Host the first time, you need to configure your printer. Ctrl
+P
opens the config window for the printer. We need to know the Baud Rate of our printer, so I looked up the documentation of my Ender3, which told me 115200 is the right setting. Most printers seem to run on this setting. The other tabs decide the speeds, extruder number and limits and the bed shape. The rest isn't needed for this. My settings for the Ender3 are these:
Ok, we made our settings and saved via OK
.
Now, we press the Connect button on the left side of the menu:
It should change to the blue Disconnect button and display other parts of the print now, showing that we have connected. Note that at the bottom of the screen a log is filled with all the commands and exchanges.
On the right side, we now can choose the Tab Manual Control
Before sending any commands, it is a good idea to press the Home button. This also serves as an extra test to see if the printer is connected correctly. Now we can use the Prompt G-Code to send our commands. The commands will be put into the log below.
Pronterface
This is the first time that I used Pronterface. The first thing to do after downloading the Printrun package and running the Pronterface application is to press Port
, then set the right Baudrate (115200 seems to work for many machines) and press connect
.
The GUI will saturate and the right log will show lots of things tested in connection. Note that in the lower right of the GUI, there is a temperature curve log, which can be very handy for troubleshooting, as it shows the change over a little time.
Below the log, we find the input for commands, and if we send a command, we get a log entry of it:
In addition to this answer, the OctoPrint 3D print server software contains a terminal which you can use to send G-code commands from a browser:
OctoPrint
In the bottom string input box (under the check mark items) you put in a G-code command, which will be send to the printer when you hit the Send button. If the printer gives a reply to that command, it will be displayed in the log window above the check mark interface items.