Introduction: Octolibre - Running Octoprint on the Libre Computer's Le Potato

About: Hobbyist and local source for 3d printing and electronics services and parts.

With the ongoing Raspberry Pi shortage, 3d printing is in need of alternative single board computers that fit in the same space. Libre Computer's "Le Potato" fits in that space, but has previously been difficult to deploy as an alternative. Applying current images of Ubuntu 22.0.4 distribution from Libre and paukstelis' Octoprint_Deploy simplifies the process considerably. Finding the right WiFi dongle for Le Potato has also been difficult, but we have found at least one available, assuredly operational USB wifi adapter.

This Instructable is created using Ubuntu Desktop and all open source software.

Supplies

Libre Computer "Le Potato"

Your 3D Printer

Desktop or Laptop Computer

Ethernet Cable

Your 3d printer's matching USB Cable

[Optional]

Edimax "EW-7811" USB wifi adapter. (or other 802.11n)

USB Camera

USB Keyboard

HDMI Monitor

Step 1: Prepare a Micro SD Card

Insert a micro SD card of 8GB or larger capacity. The faster your card, the shorter your preparation and boot up time.

Locate and Download Libre Computer's Ubuntu 22.04 Disk Image. You may choose desktop or server, this instructable uses server.

Right Click the file and select "Open with disk image writer" [Ubuntu] or use your favorite disk imaging software.


Select your SD card from the menu and click "Start Recording."

Wait for the process to finish, insert the card into your Le Potato, connect the ethernet cable and power supply. You may also choose the optional monitor and keyboard to quickly obtain the IP address of the device as shown in the next step.

Step 2: Boot Le Potato and SSH Into It

Obtain the IP address of your Le Potato by logging in directly (console) or discovering your IP with the network. The default Login is "ubuntu" & password "ubuntu." On first login, you will be required to change your password whether your first log in is console or via SSH.

Console login will reveal the IP address:


Create an SSH session into the device using terminal [ubuntu/linux] or your favorite windows SSH client.

ssh ubuntu@<device ip>

Step 3: Attach Your Wifi Adapter

Install network manager onto the board with apt.

sudo apt install network-manager

[You may conclude this step if you intend to use only your ethernet cable.]

Plug your wifi adapter into a USB port on the Le Potato.

Determine if your adapter is suited for use with nmcli d

nmcli d

If the adapter is useful, it will appear in the results.

Next use network manager to show you nearby wifi

nmcli d wifi list

Sudo to connect to your wifi using the same network manager tool.

sudo nmcli d wifi connect <your wifi ssid> password <your wifi password>

To obtain the wireless address type nmcli d

nmcli d

Quit your current session and disconnect your ethernet cable.....

exit

Then create a new ssh session using the wireless address.

ssh ubuntu@<your device wireless address>


Step 4: Install Octoprint_Deploy

Install git

sudo apt install git

Clone the Octoprint Deploy script to your device

git clone https://github.com/paukstelis/octoprint_deploy.git

Sudo the octoprint_deploy script

sudo octoprint_deploy/octoprint_deploy.sh

You can find more information about octoprint_deploy at: https://github.com/paukstelis/octoprint_deploy


Step 5: Create Your "Base Instance" of Octoprint

If you haven't already, run the Octoprint Deploy Script

sudo octoprint_deploy/octoprint_deploy.sh

Select "prepare system" from the menu,

Select "Ubuntu" from the next menu

Check your answers and type "y" to begin.

this operation could take some time depending on your network speed and sd card.

When complete, select the following options:

Use haproxy: Yes

Choose the proper streamer: ustreamer (2)

Setup your admin account, I chose admin/admin temporarily to avoid any interruption:

You can use the menus in the deploy script. I prefer to use the octoprint interface. If you choose octoprint, select "no" in the terminal session until you return to the main menu of octoprint_deploy.


On your desktop computer, browse to the base instance of octoprint on the device:

Log in and follow the menus, do not attempt attach a camera or printer at this time.

When you complete the initial setup, return to your terminal session, if you haven't yet, select no until you reach the main menu of octoprint deploy:


Step 6: Create an Octoprint Instance and Attach

If you don't already have the octoprint_deploy menu up, start the menu:

sudo octoprint_deploy/octoprint_deploy.sh

Select menu item 1 - New Instance

Enter a name for your octoprint instance, in this case I chose e2pro:

If your printer and camera are connected to USB on Le Potato, unplug them now.

When prompted to detect your printer enter "y"

Autodetect may or may not detect your printer. In the case of the Ender 2 pro, it could not detect a serial number. This only means that you must always plug the printer into the same serial port.

My super-thrifty $7 ebay webcam also fails to detect, but both the printer and the camera are fully functioning as long as they are plugged into the same port they were when this step was taken.

To demonstrate that the detection system works properly on the board, I connected an SKR board and a good quality c270 clone camera. This is the result:

Press enter to select the next available port number for access to the camera. Make a note of your port number, then enter your camera resolution in the same format as depicted (640x480, 1280x720, 1920x1080 etc) and your frame rate.

When the process is finished you will be returned to the octoprint_deploy menu. You can now open your browser and proceed to the final step.

Step 7: Octoprint Final Settings

Open a browser to http://<octoprint IP address>:5001

Log in using the log in credentials created in step 5 (admin/admin)

Check that your port connection has the name you chose for your printer instance and connect.

If your camera does not show, click on the settings button then select the Webcam & Timelapse tab. Check your addresses are correct and on port 8001, and give particular attention to the FFMPEG path. /usr/bin/ffmpeg

Thank you for reading, I hope this helps many.