OctoPrint can't connect to my printer

OctoPrint only shows one port "AUTO" to connect to

The underlying operating system (e.g. OctoPi) isn't even seeing your printer's serial port. This is something you have to solve outside OctoPrint first before you can proceed.

Check the following:

  • Make sure the cable you are using for the connection between your printer and OctoPrint is a fully connected cable and not a power-only charging cable. If in doubt, try multiple cables and/or buy one specifically suited for data transfer.
  • Verify that your printer is even detected as a serial device. On OctoPi and Linux in general you can accomplish that by opening a shell (e.g. via SSH/Putty), plugging in your printer and running dmesg. That should show you something similar to this:
    [513895.227132] usb 1-1.3: new full-speed USB device number 4 using dwc_otg
    [513895.370986] usb 1-1.3: New USB device found, idVendor=2341, idProduct=0042, bcdDevice= 0.01
    [513895.371000] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=220
    [513895.371011] usb 1-1.3: Manufacturer: Arduino (www.arduino.cc)
    [513895.371021] usb 1-1.3: SerialNumber: 55330313635351815101
    [513895.423706] cdc_acm 1-1.3:1.0: ttyACM0: USB ACM device
    [513895.425080] usbcore: registered new interface driver cdc_acm
    [513895.425093] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
    Note how it says that it found ttyACM0 for driver cdc_adm - that is /dev/ttyACM0 and that's what would now show under OctoPrint's port selection menu as it matches the default search patterns. If no serial device is added here and you only see lines about a new USB device but no driver claiming it, your printer is not exposing a serial interface and likely not compatible to OctoPrint as-is. If a serial device is found but the device name doesn't show up in OctoPrint, you might have to add it to OctoPrint's configured additional ports, e.g. if you see something like cdc_acm 1-1.3:1.0: someSerialPort: USB ACM device you'd need to add /dev/someSerialPort.
  • Verify that you can connect to your printer from a different computer using a different host software like Pronterface
  • If an option: Swap your printer's controller board to rule out issues with it.

If nothing of the above helps, open a topic in #support and be sure to fill out ALL of the template and also include the results of the above steps including the dmesg output. Be prepared to learn that there's nothing to be done apart from a hardware swap as your printer is either incompatible or broken.

OctoPrint shows me more than one port to connect to but connecting fails

There are a number of possible reasons for this:

  • You selected "AUTO" as port but your printer doesn't support auto connect. Try selecting the printer port manually, like it tells you to in the Terminal tab.
  • Your printer is resetting on connect and not getting ready fast enough for OctoPrint to perform a communication handshake in time. Make sure "Wait for start on connect" is checked under Settings > Serial Connection > Firmware & Protocol > Protocol Fine Tuning:

    If that doesn't help, try increasing the Connection timeout under Settings > Serial Connection > Intervals & Timeouts > Timeouts > Connection timeout:
  • Your printer does not support the communication protocol that OctoPrint speaks. You might need to install a plugin to be able to run your printer, e.g. the GPX plugin for Makerbot printer up to Gen 3 and various FlashForge, QIDI and other brand printers, or the M33Fio plugin for M3D Micro printers. If no plugin is available, it might be possible to write one, but that can only be done by someone with access to the printer model in question - a job for the community, that's what the plugin system is in place for!
  • You are trying to connect with the wrong baudrate. If you are seeing something like
    Recv: ?+??Qj????)???Rj??Q??.aV????????
    when trying to connect this is the most likely cause.
  • The SD card in your printer contains corrupt data that makes your firmware hiccup or crash. Try removing the SD card from your printer and see if you connect successfully without it. If so swap the card.