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?
There are several programs that could serve as a console to connect to a printer, put let's start somewhere: the USB connection.
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
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
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.
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 may be running at the same time, as the first program accessing it will claim all uses for the COM port till it is shut down.
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.
After running Repetier Host the first time, you need to configure your printer.
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
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.
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.
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
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:
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.