A collection of examples, tutorials, and common fixes for working with micro-ROS on Zephyr RTOS.
This repository aims to serve as a comprehensive starting point for those interested in working with micro-ROS and Zephyr. As this is a highly specialized domain with limited resources available online, my goal is to provide clear and practical guidance for newcomers.
This project was inspired by my experience during a Robot Navigation course at university, where I decided to combine my growing knowledge of ROS with my background in embedded systems to explore this niche field.
Here, you will find examples, tutorials, and solutions to common issues that I have developed throughout my learning journey.
- ROS2 Jazzy (for running micro-ROS Agent)
- Python 3.10+
- CMake 3.20.5+
sudo apt install --no-install-recommends git cmake ninja-build gperf \
ccache dfu-util device-tree-compiler wget python3-dev python3-venv python3-tk \
xz-utils file make gcc gcc-multilib g++-multilib libsdl2-dev libmagic1cmake --version
python3 --version
dtc --versionpython3 -m venv ~/zephyrproject/.venvsource ~/zephyrproject/.venv/bin/activateOnce activated, your shell prompt will be prefixed with (.venv).
You can deactivate the environment at any time by running:
deactivateNote:
Remember to activate the virtual environment every time you start working.
pip install westwest init -l samples/
west updateThis allows CMake to automatically load the boilerplate code required for building Zephyr applications.
west zephyr-exportUse West to install the required Python packages:
west packages pip --installIf you are building for an Espressif board (e.g., ESP32, ESP32-C3, ESP32-S3, ESP32-C6), it is necessary to run the following command:
west blobs fetch hal_espressif