Zigbee support on the micro:bit v2

I'm using Zephyr 3.2.99 via the nRF Connect SDK 2.3.0.

When I select the micro:bit v2 board (bbc_microbit_v2) and my `prj.conf` contains only `CONFIG_ZIGBEE=y` I get the following Kconfig warning:

warning: IEEE802154_NRF5_FCS_IN_LENGTH (defined at drivers/ieee802154/Kconfig.nrf5:65) has direct dependencies IEEE802154_NRF5 && IEEE802154 with value n, but is currently being y-selected by the following symbols:
- NET_L2_ZIGBEE (defined at C:/ncs/v2.3.0/nrf\subsys\zigbee/Kconfig:29), with value y, direct dependencies NETWORKING && ZIGBEE (value: y), and select condition NETWORKING && ZIGBEE (value: y)

It works if I select the nRF52833 DK board, which has the same SOC.

I believe it boils down to CONFIG_DT_HAS_NORDIC_NRF_RADIO_ENABLED not being enabled for the micro:bit. It clearly has a suitable radio, but is this a limitation of the micro:bit board that makes the radio unusable, or is this a Kconfig bug?

(Zephyr claims not be responsible, see https://github.com/zephyrproject-rtos/zephyr/issues/55894)

Parents
  • Hi,

    You are correct that the issue can be traced to the IEEE 802.14.5 radio not being enabled on the MicroBit. The radio needs to be configured and enabled in devicetree. This can be solved by creating a devicetree overlay file with the following:

    / {
    	chosen {
            zephyr,ieee802154 = &ieee802154;
        };
    };
    
    &ieee802154 {
    	status = "okay";
    };
    

    If you name the overlay app.overlay or bbc_microbit_v2.overlay, it should automatically be included in the build.

    I tested the Zigbee Template sample with this overlay on the MicroBit v2, and it worked.

    Best regards,
    Marte

Reply
  • Hi,

    You are correct that the issue can be traced to the IEEE 802.14.5 radio not being enabled on the MicroBit. The radio needs to be configured and enabled in devicetree. This can be solved by creating a devicetree overlay file with the following:

    / {
    	chosen {
            zephyr,ieee802154 = &ieee802154;
        };
    };
    
    &ieee802154 {
    	status = "okay";
    };
    

    If you name the overlay app.overlay or bbc_microbit_v2.overlay, it should automatically be included in the build.

    I tested the Zigbee Template sample with this overlay on the MicroBit v2, and it worked.

    Best regards,
    Marte

Children
Related