ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A

micro-ROS and BeagleBone AI

Hi! I recently learned about micro-ROS and would like to know if it will work on the BeagleBone AI.


Is this something for ROS answers? Anyway, the BB-AI has a full grown ARM Cortex-A15 dual core, so why do you want to tun ro run microROS on it instead of the “real ROS”? Yes, the BB-AI is a little short on RAM, but still has e.g. about 2000x the RAM of the ESP32 microROS was made for.

1 Like

Hi @fsuna064! Welcome to the micro-ROS world :slight_smile:

Do you wish to compile the Client or the Agent on the BB-AI? It’s possible to have both, thanks to its resources offer, more than compatible with the memory requirements of the micro-ROS Client. The Agent, while being heavier, it’s also compatible with this hardware.

In this sense, you could also compile the whole ROS 2 stack, as @Humpelstilzchen is correctly suggesting, but it’s also true that cross-compilng micro-ROS is easy as pie while the other task might be more laborious in case such compilation is not available already.

As a side note, micro-ROS wasn’t made for the ESP32, but rather for being crosscompiled on a diverse suite of MCUs encompassing a generous range of CPUs, flash memories, SRAMs, exposed perihperals and I/O pins, so as to be able to address the needs of a market portion as large as possible.


Sorry, I meant ESP32 only es an example for one of the target platforms. Still I don’t see the point in running microRos when the board can handle the default ROS just fine.

I’m asking about micro-ROS because I was trying to run the Universal_Robots_ROS_Driver but ran into issues where the motion of the robot wasn’t very smooth (compared to the simulation in Gazebo on my laptop) and I needed to modify the resources/ros_control.urscript in ur_robot_driver for the step time as well as the max frequency in src/rtde/rtde_client.cpp in ur_client_library in order to get a smoother motion. I’m not sure it’s due to CPU limitations but I’m not sure what else would be causing this issue… I had also had problems with the CPU being overloaded and needed to add some swap space. Also my setup was running in a Docker container with ROS 1 cross-compiled for ARM.

Thanks again!

@fsuna064 Isn’t it possible to run ROS 2 natively in the BeagleBone AI?