🎄 Official support for Zephyr Project

Hi @jpnorair! Indeed, the Zephyr integration is a bit unusual. In a nutshell, Zephyr has a pretty sophisticated structure and each Zephyr module is shipped as a standalone package. It might be a tedious task, but I believe it’s possible to point PlatformIO to custom Zephyr packages using the platform_packages option, for example:

[env:nucleo_f401re]
platform = ststm32
framework = zephyr
board = nucleo_f401re
platform_packages =
    platformio/framework-zephyr @ file:// /path/to/zephyr/zephyr/sources
    platformio/framework-zephyr-mbedtls @ file:// /path/to/zephyr/modules/crypto/mbedtls
    platformio/framework-zephyr-hal-st @ file:// /path/to/zephyr/modules/hal/st
    platformio/framework-zephyr-canopennode @ file:// /path/to/zephyr/modules/lib/canopennode
    .... and so on for all Zephyr packages

Please keep in mind that each Zephyr module should contain a valid package.json file. Besides, the framework-zephyr package should also contain PlatformIO build scripts (you can copy them from the original package).

2 Likes