UPDATE: As of December 11, 2022, Home Assistant no longer officially supports Ubuntu, and requires Debian instead. Instructions below have been updated to bypass the OS check and recommend Debian instead.
My apartment is filled with smart home tech, from a smart air conditioner to smart lights and smart security cameras. One issue I had with my current system is that the only way I could view my security cameras, was through their mobile app (Tuya Smart Life). One workaround, however, is to use the API through Home Assistant.
I already own multiple Raspberry Pis, but they’re tied up in other projects (Octoprint and NUT). I went on Amazon to go pick myself up another Raspberry Pi and was shocked to see prices ranging from $150 to $300. There had to be another solution. After a bit of digging, I landed on the Libre Computer Le Potato. I’d never heard of Libre Computer before and there is very little information about them, but they seem to be a very capable competitor with a form factor almost exactly the same as the Pi, and prices that have remained stable and affordable (as low as $20 for the entry level version). They even offer some extra features like eMMC storage and an IR receiver.
I decided to go with the AML-S905X-CC v1 (Le Potato) 2GB version for $40. While your requirements will vary based off of how many devices, automations, etc. you have running in Home Assistant, I would recommend at least 2GB RAM, so look into either the AML-S905X-CC (Le Potato) 2GB ($40) or the ROC-RK3328-CC (Renegade) 4GB ($55).
While this tutorial is written for the Le Potato, the process should be the exact same for other Libre Computers, with the exception of downloading the OS image specifically for your board.
Home Assistant OS does not have an official version for the Libre Computer, so we will be running Home Assistant in Supervised mode. In order to use Supervised mode, we have to provide our own OS, in this case, Ubuntu Server. While Home Assistant does not officially support Ubuntu and recommends Debian instead, Libre has not released their Debian distro yet, so we will have to use Ubuntu for now. Keep an eye on this post for the status of Debian on Libre Computers.
Head over to the Libre Computer Ubuntu Distro‘s page and download the Ubuntu Server image for your board (ubuntu-22.04.1-preinstalled-server). Note that for the La Potato, the board revision matters. The v2 image will not run on a v1 board.
Once you have the image downloaded, unzip the archive with a tool like 7-Zip, then flash the image to a MicroSD card with a tool like Balena Etcher. The SD card doesn’t matter too much, but the lower the RAM you have on your board, the more Ubuntu will rely on the SD card as swap memory, so it may help to get a larger and higher performance MicroSD card, or an eMMC module in such a case.
Insert your MicroSD card in to the Libre Computer, then connect your ethernet and power (make sure to use a good power supply, 5V 2.5A recommended). Wireless dongles seem to have limited support on the Libre Computer depending on the image, but I don’t see why you shouldn’t be able to get one working in Ubuntu.
If you decide to use a wireless dongle, you will need to login to the console directly and configure it from the command line. Otherwise, your Libre Computer should automatically boot up and start an SSH server for you to use.
Before we setup Home Assistant, you need to change the default password and run some updates on Ubuntu.
Log into your Libre Computer over SSH with a tool like PuTTY, using your Libre Computer’s IP address. The default username and password are both ‘ubuntu’. When you first login, it will force you to change your password, then re-login.
After you are logged in with your new password, run the following commands to update your Ubuntu installation:
sudo apt-get update sudo apt-get upgrade
Installing Home Assistant
Now we’re ready to install Home Assistant. We’ll start by installing the Home Assistant dependencies with the following commands:
sudo su apt-get install apparmor jq wget curl \ udisks2 libglib2.0-bin network-manager \ dbus systemd-journal-remote unzip -y curl -fsSL get.docker.com | sh
Once we have the dependencies installed, we can install the Home Assistant agent and Supervised package. We’ll be downloading the Aarch64 deb package from the OS-Agent releases page.
At the time of writing, the latest OS Agent is version 1.4.1, but please check and substitute the link and file name in the commands below with the current version from the releases page.
wget https://github.com/home-assistant/os-agent/releases/download/1.4.1/os-agent_1.4.1_linux_aarch64.deb sudo dpkg -i os-agent_1.4.1_linux_aarch64.deb
After the agent is installed, we will finish the installation by installing the supervisor package.
wget https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb sudo BYPASS_OS_CHECK=true dpkg -i homeassistant-supervised.deb
When prompted, choose “qemuarm-64” as your machine type.
Using Home Assistant
Now we wait. It takes quite a long time for Home Assistant to start when it is first installed. Once it’s ready, you should be able to visit http://<your-ip-address>:8123 to manage your home assistant installation.
If you don’t see anything on the web interface after a while, verify that you’re connecting to the right IP address, and try running the command
to start up Home Assistant.
That’s all. You now have a cost effective Home Assistant server.