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?
  • 1
    $\begingroup$ With the Ender models, I think they use an Arduino-compatible ATMega chip, which would use serial. $\endgroup$ Jul 26, 2020 at 12:33
  • $\begingroup$ I’m voting to close this question because it is not a genuine question, but is merely plugging a YouTube video. $\endgroup$
    – Mick
    Jul 26, 2020 at 13:50
  • 1
    $\begingroup$ I'm not so sure, @Mick . I think it's a genuine question. $\endgroup$
    – ifconfig
    Jul 26, 2020 at 17:30
  • 1
    $\begingroup$ @ifconfig OK. I've retracted the close vote. I'll try to draft some sort of answer. $\endgroup$
    – Mick
    Jul 26, 2020 at 18:28

1 Answer 1


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. 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.

  • 1
    $\begingroup$ Some boards use ATmega32U which has native USB and can communicate up to 1.5 Mbps without issues of data loss. $\endgroup$
    – FarO
    Jul 27, 2020 at 8:20
  • 1
    $\begingroup$ The old common baud rate was 115200 baud. All those boards can handle 250000 just fine. $\endgroup$
    – towe
    Aug 3, 2020 at 6:58

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .