You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Feature Request: Zephyr RTOS Support and Module Integration #18
Is your feature request related to a problem? Please describe.
Currently, Pico-ROS has excellent support for ESP-IDF via the picoros-espidf-component. However, when attempting to build Pico-ROS for Zephyr RTOS, the integration becomes highly manual and fragile. Building the Micro-CDR and zenoh-pico dependencies through standard Zephyr CMake (ExternalProject_Add or add_subdirectory) results in missing header generation (e.g., user_types.h) and complex linking errors, as noted in previous discussions (Issue #5).
Describe the solution you'd like
Native support for Zephyr RTOS, ideally structured as a standalone Zephyr module. This would allow developers to seamlessly pull Pico-ROS into their Zephyr workspace via west.yml and enable configuration through Zephyr's standard Kconfig system, matching the developer experience currently available for ESP-IDF.
Describe alternatives you've considered
I am currently working around this by falling back to the ESP-IDF component, but my target architecture strictly requires Zephyr.
Context & Offer to Contribute
I am currently benchmarking Pico-ROS against micro-ROS and Raw Zenoh for high-frequency ros2_control hardware interfaces (GSoC 2026 proposal context). Zephyr integration is a critical path for this architecture.
I plan to actively work on porting this to a proper Zephyr module in the coming weeks. Before I dive into the CMake refactoring and submit a Pull Request, are there any specific architectural guidelines, roadmaps, or blockers from the maintainer team regarding Zephyr support that I should be aware of?
Hi @ShahazadAbdulla. Thanks for opening this issue.
Nobody on the team worked with Zephyr before so we would be happy to take PRs.
If you can manage to do it in this repository without introducing too much Zephyr specific parts and troubles for other targets that would be great. In other case, it would be better to do it in a separate repo like picoros-espidf-component and we can link it in the main readme.
Let us know if we can support your effort in any way.
Given the complexities of Zephyr system and Kconfig, I completely agree that keeping it seperate is the safest architectural choice to avoid problems in the main repo.
I will build this out as a standalone Zephyr module like picoros-zephyr-module and such modeled after the esp-idf component. Once I have a stable, tested integration that cleanly pulls in the Pico-ROS core and handles the Micro-CDR header generation natively via Zephyr CMake, I will drop the repository link here so we can review it and add it to the main README.
Thanks for the support, I will keep you updated on this.
Activity
g4sp3r commentedon Apr 11, 2026
Hi @ShahazadAbdulla. Thanks for opening this issue.
Nobody on the team worked with Zephyr before so we would be happy to take PRs.
If you can manage to do it in this repository without introducing too much Zephyr specific parts and troubles for other targets that would be great. In other case, it would be better to do it in a separate repo like
picoros-espidf-componentand we can link it in the main readme.Let us know if we can support your effort in any way.
ShahazadAbdulla commentedon Apr 14, 2026
Hi @g4sp3r
Thanks for the quick response.
Given the complexities of Zephyr system and Kconfig, I completely agree that keeping it seperate is the safest architectural choice to avoid problems in the main repo.
I will build this out as a standalone Zephyr module like picoros-zephyr-module and such modeled after the esp-idf component. Once I have a stable, tested integration that cleanly pulls in the Pico-ROS core and handles the Micro-CDR header generation natively via Zephyr CMake, I will drop the repository link here so we can review it and add it to the main README.
Thanks for the support, I will keep you updated on this.
Alvin0523 commentedon Jun 19, 2026
hey @ShahazadAbdulla im interested in this too! Will take note and give it a try when it is out !