MyRoboPath
microcontrollers15 min readUpdated 2026-03-16Advanced

micro-ROS on ESP32: Seamless ROS 2 Integration on Microcontrollers

Run native ROS 2 nodes directly on microcontrollers: publish sensor topics and subscribe to cmd_vel using micro-ROS and the XRCE-DDS Agent.

Kenji Takahashi
Kenji Takahashi
Principal Embedded Systems Engineer

Key Engineering Takeaways

  • micro-ROS brings ROS 2 to resource-constrained microcontrollers with as little as 32KB RAM.
  • Communicates with host computer via Serial UART, WiFi UDP, or CAN bus through the Micro XRCE-DDS Agent.
  • Publish standard `sensor_msgs/msg/Imu` and subscribe directly to `geometry_msgs/msg/Twist` from your motor controller.
Prerequisites
  • ROS 2 Humble installed
  • ESP32 PlatformIO or Arduino

micro-ROS Architecture & Micro XRCE-DDS

Instead of inventing custom JSON or serial string protocols (which break when scaling), **micro-ROS** implements the OMG Micro XRCE-DDS standard. Your ESP32 becomes a first-class citizen of the ROS 2 computational graph.
Tags:#micro-ROS#ROS 2#ESP32#XRCE-DDS#Embedded Linux#Robotics Middleware