<p><strong>This is just a stub answer. I will try to expand on it later.</strong></p>
<p>The 8-bit microcontrollers used on many 3D printers do not have a USB interface, and so a USB to serial interface chip is used to allow a computer to communicate with the serial port (UART) on the microcontroller. In order for the computer to communicate with the printer, a device driver is needed to allow the operating system to communicate with the <strong>interface chip</strong>.</p>
<p>The appropriate device drivers should be supplied with your printer, and you should install these drivers before you try to do anything else. The drivers will make the printer look as if it has a serial interface, and the highest speed that most 8-bit microcontrollers can manage is 112800bps.</p>
<p>If the software that you are using has a terminal interface, you can send any G-code commands to the printer. For a list of G-code commands, see <a href="https://reprap.org/wiki/G-code" rel="nofollow noreferrer"><strong>here</strong></a>. Note that this list includes commands for CNC machines as well as 3D printers.</p>
<p>For normal printing, G-code commands are sent to the printer using a print manager, such as Repetier-Host. Some slicers may have built-in print managers.</p>

CC BY-SA 4.0
2020-07-27T08:20:24.523Z
Some boards use ATmega32U which has native USB and can communicate up to 1.5 Mbps without issues of data loss.
FarO
CC BY-SA 4.0
2020-08-03T06:58:16.180Z
The old common baud rate was 115200 baud. All those boards can handle 250000 just fine.
towe
CC BY-SA 4.0
2020-07-26T18:38:21.867Z
2020-07-26T18:38:21.867Z
Mick
<p>In Cura, if you plug your favourite 3D Printer you will most likely get an option to Print via USB. If you have never heard of what I'm talking about, please see this video: <div class="youtube-embed"><div>
                <iframe width="640px" height="395px" src="https://www.youtube.com/embed/4UKH9jCkJXA?start=0"></iframe>
            </div></div></p>
<p>I wanted to know some information on how this works:</p>
<ul>
<li>Is the communication through UART or through Serial?</li>
<li>How can I establish a connection to the 3D Printer?</li>
<li>Is there a list of commands I am able to send?</li>
<li>What is the default baudrate for 3D printers?</li>
<li>How is the G-Code of the print sent to the 3D Printer?</li>
</ul>

CC BY-SA 4.0
2020-07-26T12:33:34.547Z
With the Ender models, I think they use an Arduino-compatible ATMega chip, which would use serial.
marcellothearcane
CC BY-SA 4.0
2020-07-26T13:50:30.553Z
I’m voting to close this question because it is not a genuine question, but is merely plugging a YouTube video.
Mick
CC BY-SA 4.0
2020-07-26T17:30:37.103Z
I'm not so sure, @Mick . I think it's a genuine question.
ifconfig
CC BY-SA 4.0
2020-07-26T18:28:15.037Z
@ifconfig OK. I've retracted the close vote. I'll try to draft some sort of answer.
Mick
<g-code>
How does 3D printing over USB work?
ConvergingPanda
# How does 3D printing over USB work?

(Asked by: username_0 on 2020-07-26)

In Cura, if you plug your favourite 3D Printer you will most likely get an option to Print via USB. If you have never heard of what I'm talking about, please see this video:

I wanted to know some information on how this works:

* Is the communication through UART or through Serial?
* How can I establish a connection to the 3D Printer?
* Is there a list of commands I am able to send?
* What is the default baudrate for 3D printers?
* How is the G-Code of the print sent to the 3D Printer?

**Tags:** g-code
> **Comments:**
> **username_1**: With the Ender models, I think they use an Arduino-compatible ATMega chip, which would use serial.  
> **username_2**: I’m voting to close this question because it is not a genuine question, but is merely plugging a YouTube video.  
> **username_3**: I'm not so sure, @Mick . I think it's a genuine question.  
> **username_2**: @ifconfig OK. I've retracted the close vote. I'll try to draft some sort of answer.  

---

## 1 answers

### Answer by username_2 on 2020-07-26. Score: 4 | Accepted answer

**This is just a stub answer. I will try to expand on it later.**

The 8-bit microcontrollers used on many 3D printers do not have a USB interface, and so a USB to serial interface chip is used to allow a computer to communicate with the serial port (UART) on the microcontroller. In order for the computer to communicate with the printer, a device driver is needed to allow the operating system to communicate with the **interface chip**.

The appropriate device drivers should be supplied with your printer, and you should install these drivers before you try to do anything else. The drivers will make the printer look as if it has a serial interface, and the highest speed that most 8-bit microcontrollers can manage is 112800bps.

If the software that you are using has a terminal interface, you can send any G-code commands to the printer. For a list of G-code commands, see [**here**](https://reprap.org/wiki/G-code). Note that this list includes commands for CNC machines as well as 3D printers.

For normal printing, G-code commands are sent to the printer using a print manager, such as Repetier-Host. Some slicers may have built-in print managers.

> **Comments:**
> **username_4**: Some boards use ATmega32U which has native USB and can communicate up to 1.5 Mbps without issues of data loss.  
> **username_5**: The old common baud rate was 115200 baud. All those boards can handle 250000 just fine.  

---

