# Micro-ros C++ application

**URL:** <https://discourse.openrobotics.org/t/micro-ros-c-application/21344>\
**Category:** ROS General\
**Tags:** ros2, embedded, micro-ros\
**Created:** [July 13, 2021, 2:10pm UTC](https://discourse.openrobotics.org/t/micro-ros-c-application/21344 "2021-07-13T14:10:38Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![vmayoral](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/vmayoral/32/3665_2.png) [@vmayoral](https://discourse.openrobotics.org/u/vmayoral)\
**Post date:** [July 13, 2021, 3:27pm UTC](https://discourse.openrobotics.org/t/micro-ros-c-application/21344/4 "2021-07-13T15:27:52Z")

</div>

Welcome @evi001 to the community,

> [@evi001](#):
>
> Do I have to rewrite the application in C? So far I’ve found only micro-ROS C-based examples.

You have two avenues forward in here:

1. If your objective is to run stuff in the ZCU102, why don’t you simply run your micro-ROS Agent and ROS 2 logic natively in the ZU+ APUs (or just run everything natively in ROS 2)? This can be easily done if your ZCU102 FS is Ubuntu/Debian-based, just install ROS 2 from deb files. This is well documented. If instead you’ve got a PetaLinux-based fs, use [meta-ros](https://github.com/ros/meta-ros). Add the layers into your PetaLinux project and build them altogether to get a new FS with ROS 2 support. You can ask new questions at [https://answers.ros.org/](https://answers.ros.org/). If you’re struggling, I’d encourage you to stay tuned to the [Hardware Acceleration Working Group](https://github.com/ros-acceleration) activities. The ZCU102 is one of the community boards we’re supporting and we’re hoping to release tools soon to automate embedded flows.

2. You could run everything with micro-ROS as a client. I had a quick look and found rclcpp micro-ROS examples ([GitHub - micro-ROS/micro-ROS-demos: Sample code using rclc and rclcpp implementations.](https://github.com/micro-ROS/micro-ROS-demos)), however, this doesn’t seem to be advertised in [the architecture](https://micro.ros.org/docs/overview/features/). The underlying default RTOS (at least last time I checked) is NuttX, which has some degree of C++ support. However layers between the RTOS and rcl need also to expose such capability. I don’t see rclcpp in the last diagram so I’ll defer to @FraFin @Jaime_Martin_Losa , @Ingo_Lutkebohle and @ralph-lange (amongst many others) who know more about this than me.

---

_[View the full topic](https://discourse.openrobotics.org/t/micro-ros-c-application/21344)._
