What’s wrong with my Raspberry Pi?
My Pi was a great device: a pretty good processor – which has very low power consumption, over 20 GPIO pins to connect multiple sensors, modules, .. and the most important: a huge community! I was able to run my own Kubernetes (single node cluster), a Home Assistant Core server, a Treafik server, and several Alexa skills. Everything inside a cigarette-pack size PC!
However, it also comes with many limitations:
- Overheating: the mainboard doesn’t come with any heat-sink / cooling-fan. My Pi usually reports 60-70°C under normal load.
- Missing GPU causes worse graphic performance.
- My Pi comes with 1GB RAM, which is pretty low for my tasks.
- The MicroSD ages very fast! Losing Samsung/Transcend card every 4-5 months.
- Home Assistant becomes slower – Every restart took about 3 minutes, saving an automation took 30 seconds.
It’s time to change to another system!
First try: HP ThinClient T620
Honestly, I wanted to upgrade to a Rasberry Pi 4, but it’s pretty expensive right now – about 200-250€ for model B with 4GB RAM! So I’ve decided to buy an used HP ThinClient T620 from eBay – 50€ for a MiniPC with 4GB RAM and 16GB SSD.
I was lucky, it came with a mSATA socket, allowing me to install 2 SSDs on board. Thanks to Parkytowers for many useful informations.
Everything was smooth, but soon after trying to switch from Ethernet to Wifi, many problems started.
Seems that Ubuntu doesn’t like my Broadcom BCM4352 wireless card. I fixed by installing bcmwl-kernel-source, dkms. It finally connected to my Wifi network, but then stopped working immediately after restart, also the external USB Wifi dongle didn’t work anymore! Uninstalling drivers didn’t help, wasted my Sunday troubleshooting & fixing the problem, in the end, Ubuntu didn’t start anymore.
So I had to edit files from the SSD – which was formatted with Ext4 FS. My Mac wasn’t happy with that, so I brought back my Dell Venue tablet which I installed Fedora years ago to take/edit files.
And after wasting a lot of time on the T620, a new idea came up: Why not use the Dell tablet instead?
8 year old tablet with great specs!
Dell Venue Pro 11
- Intel Core M 5y1c processor.
- 256GB SSD & 4GB RAM – quite good for a Homelab
- 38W battery could be used as a backup UPS
- 1080p Touchscreen for quick troubleshooting. No need to bring a display and keyboard when it doesn’t connect to network.
Worths a try!
Create Ubuntu USB installer
- Download Ubuntu Desktop
- Flash downloaded ISO to an USB drive with balenaEtcher
- Plug the USB drive in and start the installer
After the installation steps, it recognized everything: Wifi, Bluetooth LE, Touchscreen, Battery keyboard, Zigbee stick,… !
Setup Home Assistant server
Create a dedicated user to run Home Assistant server:
sudo useradd -rm homeassistant -G dialout
Install required packages:
sudo apt install -y python3 python3-dev python3-venv python3-pip bluez libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libopenjp2-7 libtiff5 libturbojpeg0-dev tzdata ffmpeg bluez
Prepare Home Assistant environment
mkdir /srv/homeassistant chown homeassistant:homeassistant /srv/homeassistant sudo -u homeassistant -H -s cd /srv/homeassistant python3 -m venv . source bin/activate
Install Home Assistant
python3 -m pip install wheel pip3 install mysqlclient pip3 install homeassistant
I’ve got some errors with bleak and dbus-fast package, just need to upgrade them
Set bleak and dbus-fast to latest versions
Do the same thing with the Bluetooth component manifest
Create Home Assistant service
Setup a simple service
[Service] Type=simple User=homeassistant ExecStart=/srv/homeassistant/bin/hass -c "/home/homeassistant/.homeassistant" Restart=always [Install] WantedBy=multi-user.target
Enable and start Home Assistant service
sudo systemctl daemon-reload sudo systemctl enable hass sudo systemctl start hass
To restart Home Assistant
sudo systemctl restart hass
To troubleshooting Home Assistant
sudo journalctl -fu hass.service
Now Home Assistant should be up and run at http://127.0.0.1:8123
Setup MySQL server (optional)
Using MySQL could be a better choice for Home Assistant, allows us to save & query data more efficiently
sudo apt install mysql-server sudo apt install default-libmysqlclient-dev libssl-dev sudo systemctl enable mysql.service sudo systemctl start mysql.service
Create MySQL user & database for Home Assistant
SET GLOBAL default_storage_engine = 'InnoDB'; CREATE DATABASE hass CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'hass'@'localhost' IDENTIFIED WITH mysql_native_password BY '***Your password***'; GRANT ALL ON hass.* TO 'hass'@'localhost';
Config Home Assistant to use MySQL
recorder: db_url: mysql://hass:***You password***@localhost/hass purge_keep_days: 365
Restart Home Assistant
sudo systemctl restart hass
It took me only 2 hours to setup and migrate everything: Configurations, Integrations, Zigbee networks, … The result was awesome:
- Restarting Home Assistant took 3 seconds (126 devices & 748 entities).
- No lags on Tapo camera streams at all!
- 5W consumption average!
- Board temperature: about 35-40°C.
- Bluetooth LE was fast and stable.
- Some custom integrations which required headless Chromium are very fast.
- The touchscreen could be used a Dashboard as well!
For next steps, probably I will take a Dell dock, which gives Ethernet and more USB ports (or maybe hang it on wall as a Smarthome dashboard?), upgrade to Intel AX210 card with Wifi 6e & Bluetooth 5.3, or even take a 4G/LTE card.
A pretty cool Touchscreen Homelab to me!