Skip to content

Feature Request: Zephyr RTOS Support and Module Integration #18

Description

@ShahazadAbdulla

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?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions