Octoprint is a popular web interface for 3D printers that provides remote control and monitoring capabilities.
There are 3 different ways to connect Octoprint to Smoothie:
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 (all the following examples are for OctoPi):
sudo apt-get install socat
Now try this command (replace SMOOTHIE_IP
with your Smoothieboard address, like 192.168.0.10
):
sudo socat pty,wait-slave,link=/dev/ttySmoothie,perm=0660,group=tty tcp:SMOOTHIE_IP:23
You’ll see no output (that’s ok). Leave the command running. We’ll finalize that later.
Proceed to Octoprint Web UI.
Go to OctoPrint Settings → Serial Connection:
/dev/ttySmoothie
/dev/ttySmoothie
250000
Now try to connect to the printer. If it connects, we should finalize the configuration and add socat
to system startup.
Open /etc/rc.local
:
sudo nano /etc/rc.local
Go down with the ↓ key until you reach the end of the file. The last line is usually exit 0
.
Before this line add the following (replace SMOOTHIE_IP
with Smoothie IP address):
socat pty,wait-slave,link=/dev/ttySmoothie,perm=0660,group=tty tcp:SMOOTHIE_IP:23 &
Save & exit: Ctrl+O
, Enter
, Ctrl+X
.
Reboot and check if it works.
It might be working for you. Please leave a note somewhere if the speed is fine via socat
.
Still, you can upload to SD (slow too: 1 MB/min for some users) and use Octoprint to start/stop jobs and control printer status.
Detailed instructions are described on Octoprint wiki at Setup OctoPrint with Smoothie.
Set the “Ignore any unhandled errors from the firmware” setting in Octoprint to ensure smooth operation with Smoothie.