This is an old revision of the document!

Connection methods

There are 3 different ways to connect Octoprint to Smoothie:

  • Ethernet
  • USB
  • UART pins
Connecting via Ethernet

Octoprint can't connect via network natively, so we'll use socat (a fork of famous netcat) to create a local pipe to route traffic to Smoothie

First install it:

sudo apt-get install socat

Now try this command (replace SMOOTHIE_IP with your Smoothieboard address, like

sudo socat pty,waitslave,link=/dev/ttySmoothie,perm=0660,group=tty tcp:SMOOTHIE_IP:23

You'll see no output (that's ok).

Leave the command running and proceed to Octoprint Web UI

Go to OctoPrint SettingsSerial Connection:

Set Additional serial ports to /dev/ttySmoothie

Save, then reopen the same settings page.

Set Serial Port to /dev/ttySmoothie

Set Baudrate to maximum: 250000

Save and close

Now try to connect to the printer. If it connects, we should finalize the configuration and add socat to system startup

Add the following line to /etc/rc.local, substituting SMOOTHIE_IP with Smoothie IP address:

socat pty,waitslave,link=/dev/ttySmoothie,perm=0660,group=tty tcp:SMOOTHIE_IP:23

If unsure how to do it, just run this, substituting SMOOTHIE_IP with Smoothie IP address:

sudo sed -e "s|exit 0|socat pty,waitslave,link=/dev/ttySmoothie,perm=0660,group=tty tcp:SMOOTHIE_IP:23\n\0|" /etc/rc.local >/tmp/rc.local
sudo mv /tmp/rc.local /etc/rc.local

Reboot and check if it works.

P/S: try to print some file from Octoprint (not from Smoothie's SD card).
You may notice that it streams gcode awkwardly slow even on a fast network connection.
That's how it happens for some of the users. That means you should prefer USB to Ethernet connection.
It might be woking for you. Please leave a note somewhere if the speed is fine via socat

Connecting via USB / UART