You are not logged in.

#1 2016-09-15 20:59:21

Diigiit Sales
Registered: 2014-05-26
Posts: 99

Odroid OctoPrint Quick Setup Guide

Up to now, we've been using our Lulzbot Mini V1 3D printer to create small experimental parts. The setup was pretty straight forward with Cura 3D installed on Ubuntu. The slicer was sending GCode to the 3D printer thru an USB cable. That's it. The problem with this setup is that you can't shutdown your desktop computer while it is printing (at least with Lulzbot Mini V1) !

Then we received an important contract that was requiring us to print tens of Odroid-C2 enclosure every day. We had to purchase a couple of Lulzbot Mini to print them but didn't want to have a desktop attached to each printer for space and cost.

OctoPrint was the way to go (in fact OctoPi which is a Raspberry Pi version of OctoPrint). Since OctoPrint is a Python program, it can be installed pretty much the same way on an Odroid-C2 or on an Odroid-XU4. OctoPrint is installed on the Odroid and accessed remotely using a web page (OctoPrint client). Sliced models are uploaded using client web page and stored on the Odroid server. You can access as many Odroid server (3D printer) you want from a single desktop using for instance one browser tab for each printer.

The following link is the reference we have used to create this guide:
https://discourse.octoprint.org/t/setti … pbian/2337

This is slightly the same installation procedure with some small change.

Here is what we have used to create this Wifi 3D Lulzbot Printer:

  • Lulzbot Mini 3D Printer V1.1

  • Odroid-C2 computer

  • Odroid-C2 Linux 8GB eMMC

  • Odroid Wifi module 4

  • USB cable

  • For setup only: USB keyboard, mouse, HDMI cable

So here what you should do to have OctoPrint working. We did not install any camera but if you need it, please refer to the previous link.


Upload Linux on the Odroid-C2 eMMC module (this may be already done). Plug the video cable, keyboard, mouse and Wifi module and start your computer. Log in. Open a terminal an upgrade:

sudo apt-get update; sudo apt-get upgrade

You should restart you computer after that. If upgrade creates boot or display problem, reinstall eMMC and skip upgrade and use another Odroid Linux image.


Inside the desktop, right click on Wifi icon (upper right corner of the screen). Select your wifi connection and enter SSID and password so that you can reach internet. Right click on more time on the Wifi icon and select "Edit Connections". Edit your Wifi connection and in the General tab, make sure to check "Automatically connect to VPN when using this connection". You can also connect using wired connection.


Please refers to ssh documentation for installation and configuration

sudo apt-get install openssh-server

Make sure ssh is started each time your Odroid-C2 is going to boot:

sudo update-rc.d ssh defaults
cd ~
sudo apt update
sudo apt install python-pip python-dev python-setuptools python-virtualenv git libyaml-dev build-essential
mkdir OctoPrint && cd OctoPrint
virtualenv venv
source venv/bin/activate
pip install pip --upgrade
pip install https://get.octoprint.org/latest
sudo usermod -a -G tty odroid
sudo usermod -a -G dialout odroid

and then start OctoPrint server

 * Running on
wget https://github.com/foosel/OctoPrint/raw/master/scripts/octoprint.init && sudo mv octoprint.init /etc/init.d/octoprint
wget https://github.com/foosel/OctoPrint/raw/master/scripts/octoprint.default && sudo mv octoprint.default /etc/default/octoprint
sudo chmod +x /etc/init.d/octoprint

Edit /etc/default/octoprint and change the following lines:



sudo update-rc.d octoprint defaults

Now you can start stop octoprint with the following command:

sudo service octoprint start

next check that everything is ok

sudo service octoprint status

Since you need to access Octoprint from a remote desktop, you need to install a HTTP server.

sudo apt-get install haproxy

and edit /etc/haproxy/haproxy.cfg

here lulzbot-m1 is the name of your computer

        log /dev/log    local0
        log /dev/log    local1 notice
        chroot /var/lib/haproxy
        stats socket /run/haproxy/admin.sock mode 660 level admin
        stats timeout 30s
        maxconn 4096
        user haproxy
        group haproxy
        log local0 debug

        log     global
        mode    http
        option  httplog
        retries 3
        option redispatch
        option  dontlognull
        option http-server-close
        option forwardfor
        maxconn 2000
        timeout connect 5s
        timeout client  15min
        timeout server  15min

frontend public
        bind :::80 v4v6
        default_backend octoprint

backend octoprint
        reqrep ^([^\ :]*)\ /(.*)     \1\ /\2
        option forwardfor
        server lulzbot-m1

Edit /etc/default/haproxy and add one line such as


Last edited by Diigiit Sales (2016-10-22 17:19:23)


Board footer