Support Raspberry Pi Zero 2 W

Recently, support for Pi Zero was dropped (Drop Raspberry Pi 1/Zero W support by agners · Pull Request #1638 · home-assistant/operating-system · GitHub), but also a couple of days ago a new version of this board was released, it’s called Raspberry Pi Zero 2 W, and it has the same power as Pi 3 (which is supported by Home Assistant OS) - https://www.raspberrypi.com/products/raspberry-pi-zero-2-w/
I’d like to ask for a dedicated OS image for that board. It is not very powerful for production systems, but as a dev system, it will work just fine.

Finally got one as well :package:

Since the SoC is quite similar to Raspberry Pi 3, I read that Raspberry Pi 3 device tree works, it its own device tree though. So I downloaded the rpi3-64 7.0.rc1 HAOS image, then coping bcm2710-rpi-3-b.dtb and naming it bcm2710-rpi-zero-2.dtb on the first FAT partition of the SD card, and lo and behold, HAOS booted :tada:

In my quick test I setup WiFi using nmcli did work, but I could only see 2.4GHz WiFi networks, so I guess there is a firmware update or something similar required.

Currently there seem to be no official Raspberry Linux kernel tag with Zero 2 W support, but they did work on adding Raspberry Pi Zero 2 W support already, so the next release should be ready for it. We’ll see.

2 Likes

The Pi Zero 2 W does not support 5GHz bands. It’s 2.4GHz only.

Oh I see. That explains it then :sweat_smile:

I was not able to get this version to boot. Could you send detail instructions including how you ran nmcli . my email is [email protected].

Marty

Good morning,

I am also interested in having the instructions, can you detail them in the discussion?

Thank you very much

Note: 512MB of RAM is really low for Home Assistant OS these days! While it does work and I was able to go through the on-board process, it is rather slow at times. Also you probably won’t be able to use Add-ons since that would overwhelm the system. I cannot recommend this setup! :smiley:

Also, today when I reinstalled, I did get quite some brcmfmac errors on the console (Broadcom WiFi driver). So it seems that things are not quite ready yet for Pi Zero 2 W…

  • Download Home Assistant OS img.xz for rpi3-64.
  • Flash the image to a SD card using Etcher or a similar tool
  • Once flashed, browse the first FAT partition of the SD card. It should contain a file named: bcm2710-rpi-3-b-plus.dtb
  • Make a copy of that file in the same location and name it bcm2710-rpi-zero-2.dtb

Now to configure network, you can use a micro USB OTG cable to connect a keyboard and use nmcli, or just create a file in that same location above:

  • Create a directory named CONFIG
  • In that directory, create a directory named network
  • In that directory, create a file named wifi-network with the following content
[connection]
id=my-network
type=802-11-wireless

[802-11-wireless]
mode=infrastructure
# Make sure to use a SSID of a 2.4GHz network
ssid=MY_SSID
#hidden=true

[802-11-wireless-security]
auth-alg=open
key-mgmt=wpa-psk
psk=MY_WLAN_SECRET_KEY

[ipv4]
method=auto

[ipv6]
addr-gen-mode=stable-privacy
method=auto

Make sure to save it with Unix line endings!

Properly eject the SD card, insert it into the Raspberry Pi Zero 2 W, and power the device on. It will take a while until the device will be ready for on-boarding.

5 Likes

Thank you very much for the instructions :slight_smile:

Just have a question for the configuration of the wifi you do not create a file wpa_supplicant.conf in the boot partition with the following elements ?

country=country
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
scan_ssid=1
ssid="My_Wifi_Network
psk="the_password_of_my_network
key_mgmt=WPA-PSK
}

That does not work with Home Assistant OS. This method is specific to Raspberry Pi OS.

Awesome find to copy/rename the .dtb
I do have the feeling that its not (yet) flawless.

For instance:

  • Supervisor does not work constantly. Several times is kept on loading forever.
  • I was not able to install additional addons for instance: /hassio/addon/core_letsencrypt and /hassio/addon/core_check_config/info
  • Not able to upgrade from Home Assistant 2021.11.4 to Home Assistant 2021.11.5
  • Restarting home assistant server does not work via browser /config/server_control

Feels like I some rights/packages are missing.

Update to core-2021.11.5 via clean install.

Same issue with Supervisor and restarting home assistant server does not work via browser /config/server_control still occur

Hello,

For those who are interested, I just tested using the
@agners method but using the home assistant image in 6.6

haos_rpi3-6.6.img.xz

This home assistant / Supervisor works :slight_smile:

I don’t have the latest version but, in my opinion, it’s a good solution while waiting for the development of an “official” version

2 Likes

@BadGones0l are you also able to install package? I do see them be addons wont install properly.

Yes it works…Now you can install addons on HA 6.6…

how do i start the wifi setup using “nmcli”?

I tried the steps explained here above, but it does’nt connect to my network.
I have a TP link deco M5 set, could anything prevent it from connecting?

You have to use CONFIG/network/wifi-network method…

I tried that method but it doesn’t Connect to WiFi and my monitor also has no signal.
When i put the sd file back in my laptop, the config folder is gone…

On my display i can see home assistant is starting up.
Now it shows:

Welcome to the Home Assistant command line.

Waiting for Supervisor to startup…
System information
IPv4 addresses for wlan0:

OS Version: Home Assistant OS 6.6
Home Assistant Core: Landingpage

Home Assistant URL: http://homeassistant.local:8123
Observer URL: http://homeassistant.local:4357
ha >

if i type ‘network info’ it shows:
docker:
address: 172.30.32.0/23
dns: 172.30.32.3
gateway: 172.30.32.1
interface: hassio
host_internet: false
interfaces:
-connected: false
enabled: false
interface: wlan0
ipv4:
adress: []
gateway: null
method: disabled
nameservers: []
IPv6:
address: []
gateway: null
method: disabled
nameserver: []
primary: false
type: wireless
vlan: null
wifi: null
supervisor_internet: false

how can i turn wifi on and connect it by using the command line?
because the ‘wifi-network’ file in CONFIG\network did’nt work for me.

Thanks agners… Clear instruction… But, I got this error when i select OPEN WEB UI

A new HA 7.0 is out and it is fully working with raspberry pi zero 2W… You can get it from here https://github.com/home-assistant/operating-system/releases