Skip to main content
  1. Tutorials/

Installing Home Assistant OS on a Dell OptiPlex Micro

Status In Progress
Difficulty Entry level
Time ~45 min
Stack
Home Assistant Dell OptiPlex

This tutorial walks through turning a Dell OptiPlex 3060 Micro into a dedicated Home Assistant hub. It covers everything from downloading the image to first boot, SSH setup, and what to add next.

Executive Summary
#

Home Assistant OS is a purpose-built operating system that runs the full Home Assistant stack on your own hardware. The Dell OptiPlex 3060 Micro is a great fit: small, quiet, low power, and widely available used. The install process involves flashing an image to a USB drive, adjusting two BIOS settings, and booting the machine.

Prerequisites
#

ItemNotes
Dell OptiPlex 3060 MicroOr similar x86-64 micro PC
USB flash drive, 32 GB or largerThis becomes the permanent boot drive and will be erased
A separate computerTo download and flash the image
USB keyboard and monitorFor the initial BIOS setup only
Ethernet cableRequired, do not use Wi-Fi for this
Balena EtcherFree flashing tool at etcher.balena.io

Implementation
#

Step 1: Download Home Assistant OS
#

Go to the official Home Assistant installation page for generic x86-64 hardware:

https://www.home-assistant.io/installation/generic-x86-64

Download the latest Home Assistant OS image. The filename will look like:

haos_generic-x86-64-17.1.img.xz

This is a compressed disk image containing the complete Home Assistant operating system ready to be written directly to your USB drive.

Step 2: Flash the Image to a USB Drive
#

The USB flash drive will become the permanent boot drive. Use Balena Etcher to write the image.

  1. Install Balena Etcher from etcher.balena.io
  2. Plug your USB flash drive into your computer
  3. Open Balena Etcher and click Flash from file, then select the .img.xz file
  4. Click Select target and choose your USB flash drive

Everything on the selected drive will be erased. Double-check you have the correct drive selected before continuing.

  1. Click Flash! and wait for it to finish. This takes about 5 to 10 minutes.
  2. Eject the USB drive and plug it into the Dell.

Step 3: Configure the BIOS
#

Two BIOS settings need to be changed before the Dell will boot from USB. Plug in a keyboard and monitor, then power on the Dell.

Disable Secure Boot

Press F2 at the Dell logo to enter the BIOS. Navigate to Secure Boot and set it to Disabled. HAOS will not boot with Secure Boot enabled.

Set Boot Mode to UEFI

Confirm the boot mode is set to UEFI and not Legacy/BIOS mode. HAOS requires UEFI.

Save your changes with F10 and exit.

Boot from USB

Power the Dell back on and press F12 repeatedly at the logo to open the one-time boot menu. Select your USB drive from the list and press Enter.

Step 4: Install Home Assistant OS
#

Once the Dell boots from your USB drive, the installer runs automatically. You will see text scrolling on the screen. Do not interrupt this process. It typically takes 5 to 15 minutes. When complete the system will reboot on its own and display:

Home Assistant
...
System is ready!
Use browser or app to configure.

The USB flash drive is the boot drive going forward. Leave it plugged in permanently.

Step 5: First Boot and Setup
#

With the Dell connected to your router via Ethernet, open a browser on another device on the same network and go to:

http://homeassistant.local:8123

If that does not resolve, find the Dell’s IP address from your router’s admin page and connect directly using http://YOUR_IP_ADDRESS:8123.

Click Create my smart home and follow the prompts to create your admin account, set your home location and time zone, and let Home Assistant scan your network for existing devices.

Step 6: Enable SSH Access
#

SSH gives you terminal access to Home Assistant from another machine on your network and is useful for troubleshooting and advanced configuration.

  1. Go to Settings > Add-ons and click Add-on Store
  2. Search for Advanced SSH & Web Terminal and install it
  3. Go to the Configuration tab and set the following:
    • Username: root
    • Password: a strong password of your choice
    • SFTP: on

SFTP requires the username to be root. Using any other username with SFTP enabled will cause a FATAL error on startup.

  1. In the Network section, note the SSH port. The default is 22222.
  2. Click Save, then go to the Info tab
  3. Enable Start on boot and Show in sidebar, then click Start

Connect from another machine:

ssh root@YOUR_IP_ADDRESS -p 22222

You can also click Terminal in the Home Assistant sidebar to open a browser-based terminal without a separate SSH client.

Step 7: Create Your First Backup
#

Do not skip this. Home Assistant stores your entire configuration including automations, integrations, dashboards, and device history. Losing it means starting over.

Go to Settings > System > Backups and create a manual backup before you start configuring anything. Get into the habit of taking a backup before any major change and storing a copy off the machine.

Lab Notes & Troubleshooting
#

Home Assistant will not load in the browser. First startup can take up to 10 minutes. If homeassistant.local does not resolve, connect using the IP address directly from your router’s device list.

The Dell will not boot from USB. Re-flash the drive with Balena Etcher. At startup press F12 to manually select the USB drive. In the BIOS confirm Secure Boot is disabled and boot mode is UEFI.

SSH add-on will not start. Check the log for a FATAL error mentioning SFTP. If present, go to the Configuration tab, set the username to root, save, and restart the add-on.

I forgot my Home Assistant password. Use the Forgot password? link on the login screen.

Summary
#

You now have a stable, locally hosted Home Assistant instance running on dedicated hardware. The OptiPlex gives you plenty of headroom for add-ons, devices, and growth as your setup expands. Next steps from here are Z-Wave and Zigbee add-ons if you have those devices, ESPHome for DIY sensors, HACS for community integrations, and Node-RED for advanced automations.

Resources
#


Disclaimer: Content on this site is provided as-is with no guarantees of accuracy, completeness, or fitness for any particular purpose. Always test in a safe, non-production environment before applying anything documented here to systems you rely on. I am not responsible for data loss, damage, or security issues resulting from following these guides. Software and services change over time and steps that worked when this was written may not work in the future.