Radio HATs Getting Started Guide
zoe and zoe2 are retired projects. This guide is retained for people using existing boards.
This guide covers the Raspberry Pi host setup shared by the zoe HAT and zoe2 HAT. The boards connect directly to the Pi's GPIO UART and therefore do not need a USB serial driver.
1. Install the hardwareβ
Shut the Raspberry Pi down and remove power before fitting or removing a HAT. Start with a current Raspberry Pi OS installation so that the UART configuration matches current tooling and boot-file locations.
2. Release the primary UARTβ
The primary UART is normally available to the Linux serial console. Disable the console while leaving the UART hardware enabled:
- Run
sudo raspi-config. - Choose Interface Options β Serial Port.
- Answer No when asked whether a login shell should be accessible over serial.
- Answer Yes when asked whether the serial-port hardware should be enabled.
- Reboot.
Use /dev/serial0 in applications. It is the stable alias for the primary UART across Raspberry Pi models; do not assume it always maps to /dev/ttyAMA0.
See the current Raspberry Pi UART documentation for model-specific details.
3. Reduce local interferenceβ
For a dedicated gateway, prefer wired Ethernet and keep other 2.4 GHz transmitters away from the Zigbee radio. If the Pi does not need its on-board Wi-Fi or Bluetooth, add these overlays to /boot/firmware/config.txt on current Raspberry Pi OS releases:
dtoverlay=disable-bt
dtoverlay=disable-wifi
Then disable Bluetooth modem initialisation and reboot:
sudo systemctl disable hciuart
sudo reboot
Older releases used /boot/config.txt; follow the path documented by the OS installed on the Pi.
4. Board-specific setupβ
zoeβ
zoe uses an earlier E18-series radio module. Do not flash a zoe2 image onto zoe. Use firmware built specifically for the installed zoe radio.
If the optional RTC is populated, enable IΒ²C with raspi-config, install i2c-tools, then scan bus 1:
sudo apt update
sudo apt install i2c-tools
sudo i2cdetect -y 1
The RTC should appear at address 0x68.
zoe2β
zoe2 uses the CC1352P2_CC2652P_other_* Z-Stack target:
| Role | Firmware pattern |
|---|---|
| Coordinator | CC1352P2_CC2652P_other_coordinator_*.zip |
| Router | CC1352P2_CC2652P_other_router_*.zip |
Confirm the Electrolama zoe2 entry in the upstream tested-adapter table. zoe2 uses an active-low BSL input on DIO_15 and requires manual bootloader entry.
When running cc2538-bsl directly on the Pi, use /dev/serial0 as the port and make sure the Linux serial console and Zigbee services are stopped.
5. Configure the host applicationβ
Continue with Home Automation Setup, using /dev/serial0 as the coordinator path. Hardware, firmware or UART failures are covered by TI CC Series Radios Troubleshooting.