What’s wrong with my Raspberry Pi?
![](https://mpham906529407.wordpress.com/wp-content/uploads/2023/01/pi.jpg?w=814)
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.
![](https://mpham906529407.wordpress.com/wp-content/uploads/2023/01/img_4048.jpg?w=1000)
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
nano lib/python3.10/site-packages/homeassistant/package_constraints.txt
Set bleak and dbus-fast to latest versions
bleak==0.19.5
dbus-fast==1.83.1
Do the same thing with the Bluetooth component manifest
nano lib/python3.10/site-packages/homeassistant/components/bluetooth/manifest.json
Create Home Assistant service
nano /etc/systemd/system/hass.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
mysql
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';
exit
Config Home Assistant to use MySQL
nano /home/homeassistant/.homeassistant/configuration.yml
Setup recorder
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!
![](https://mpham906529407.wordpress.com/wp-content/uploads/2023/01/img_4040.jpg?w=1000)
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!