element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Arduino
  • Products
  • More
Arduino
Blog Arduino Portenta H7 is the best for MicroROS
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Arduino to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: Dabakama_Mindset
  • Date Created: 5 Mar 2025 8:20 PM Date Created
  • Views 4805 views
  • Likes 7 likes
  • Comments 2 comments
  • robotics
  • ROS2
  • ROS
  • arduino
  • microros
Related
Recommended

Arduino Portenta H7 is the best for MicroROS

Dabakama_Mindset
Dabakama_Mindset
5 Mar 2025

Overview 

The Portenta H7 is part of Arduino's Pro series and stands out as one of the most powerful microcontrollers on the market. This is due to its STM32H7 dual-core processor, onboard wireless module supporting Wi-Fi and Bluetooth, and a graphical accelerator that enables external display output—making it an excellent choice for Micro-ROS applications.

image

Micro-ROS is an open-source framework designed to bring ROS 2 capabilities to microcontrollers, enabling seamless interoperability with traditional robotics systems. Micro-ROS nodes run on powerful microcontrollers like the Portenta H7, while a Micro-ROS agent operates on a host computer to facilitate high-level communication and coordination with other ROS 2 nodes.

Setup

image

(Source: micro-ROS/micro_ros_arduino: micro-ROS library for Arduino)

The Portenta H7 is one of the officially supported boards by Arduino for deploying Micro-ROS, making the setup process straightforward. Micro-ROS applications can be developed using the Arduino IDE, which provides a wide range of libraries and examples, simplifying development and integration.



Performance 

image

(Source: micro-ROS/micro_ros_arduino: micro-ROS library for Arduino)

In this demo , I would be comparing ESP32 and the Portenta H7 on initializing McroROS. Additionally, I run a full Micro-ROS application on the Portenta H7.

Using the provided publisher example from the Arduino IDE, the Portenta H7 initializes Micro-ROS seamlessly, while the ESP32 encounters numerous compilation errors. This is expected, as the Micro-ROS library for ESP32 (v2.0.2) lags behind the current ESP32 library version (v3.1.1). Even when using the latest ESP32 library, the board manages to compile the code but fails to allocate the necessary resources for a Micro-ROS application. This failure is indicated by the built-in LED and further constrained by the ESP32's 280MHz clock speed.

Thanks to the power of the STM32H7, running at 480MHz with dual-core processing, the Portenta H7 can function as both a publisher and subscriber within a ROS 2 environment. Additionally, its onboard wireless module supports Wi-Fi and Bluetooth, enabling seamless wireless applications.

To fully test Micro-ROS on the Portenta H7, I assembled an RC car using a recycled board, controlled remotely via a Steam Deck.

Watch the video here: https://youtu.be/QnQJRikoqec


image



image

(Two subscribers and one publisher being run by Portenta H7)

In the photo above, the Micro-ROS setup on the Portenta H7 is publishing data from an ultrasonic sensor to the /obstacle_avoidance_publisher topic. Additionally, it has two subscribers: motor_value_topic and wheel_speed_value, which handle motor navigation. The Steam Deck acts as the Micro-ROS agent, processing ROS 2 applications to manage these three nodes while also controlling the motor’s PWM using the up and down arrow buttons.



Final Verdict


image

The Portenta H7 is a strong candidate for Micro-ROS applications, thanks to its powerful dual-core processor. In my tests, it successfully ran two subscribers and one publisher within a single node. However, this is when it started to reach its limits, as I noticed some delays in motor response at higher publishing frequencies. Reducing the publishing rate helped mitigate the latency.

The biggest downside is its price—at $113 CAD, it is relatively expensive. However, if you just need something to support your ROS project that acts as a ROS Node without needing a full OS like Ubuntu, the Portenta H7 can get the job done. In addition to its low power nature (due to not needing an OS) it has numerous GPIO pins, DFU for a more accurate calculation due  to its Cortex M7 and an official support from Arduino giving you less time to troubleshoot and more time in innovation.





  • Sign in to reply

Top Comments

  • rsc
    rsc 6 months ago +1
    A good choice for a roadtest.......
  • Cliffyd43
    Cliffyd43 5 months ago

    I stopped buying Arduino boards. Times are tough all over for everyone so I buy the knock off boards for $3-10. I just ordered the "Cheap Yellow Display" (ESP LVGL) for $14.00. Touch screen, SD card slot, outputs for speakers, battery etc. I figured for $14.00 why the hell not!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • rsc
    rsc 6 months ago

    A good choice for a roadtest.......

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube