PotatoPrint: OctoPrint on the AML-S905X-CC

Purpose and motivation 🔗

Raspberry Pis are still too expensive. Luckily we have the AML-S905X-CC (Le Potato). No prebuilt OctoPrint images exist for it, but we can get everything working smoothly with Armbian.

Materials 🔗

Steps 🔗

  1. Download and flash a potato Armbian image to the micro SD card. I went with Jammy CLI

  2. Insert the micro SD card, connect your peripherals if you don’t plan to configure over ssh, power up and boot

  3. Complete the default setup: shell selection, locale selection, user/pass, etc

  4. Exit the root session and login as the newly created user – OctoPrint doesn’t support running as root

  5. Run the Armbian configuration utility to stand up anything else e.g. wireless networking

    sudo armbian-config

    I strongly recommend enabling avahi (under ‘System’ in the configurator ncurses menu) so you can use http://lepotato.local in a browser

  6. Install Python dependencies

    sudo apt update && sudo apt install python3-pip python3-venv python3-dev -y
  7. Create and activate an OctoPrint virtual environment

    python3 -m venv octoprint
    source octoprint/bin/activate
  8. install OctoPrint:

    pip3 install octoprint
  9. create an OctoPrint service to automatically start OctoPrint on boot. At path:

    /etc/systemd/system/octoprint.service

    write contents:

    [Unit]
    Description=octoprint service
    After=network.target
    
    [Service]
    Type=simple
    User=USERNAME
    ExecStart=/home/USERNAME/octoprint/bin/octoprint serve
    
    [Install]
    WantedBy=multi-user.target

    replace USERNAME above with the account created during setup

  10. Enable the service

    systemctl enable octoprint.service
  11. Connect the Potato to your printer and reboot

  12. Navigate to your Potato in a browser. 5000 is the default port

  13. Happy printing 😎