Blog:
Accelerating Robot Prototyping with ROS 2 on Toradex Hardware:
A Technical Perspective from SiBrain
Solving the Technical Challenges of Modern Robotics Systems
Robotic systems present an embedded computing challenge, as they require real-time communication with low latency, multi-sensor integration, and deterministic performance, all as part of a complex middleware stack. ROS 2 (Robot Operating System 2) has become a de-facto standard for robotics due to its Data Distribution Service (DDS) communication architecture, modular package ecosystem, and support for embedded Linux.
This blog post documents our technical exploration of bringing a ROS 2-based robotic prototype onto Toradex’s Verdin iMX8M Plus System on Module, a platform well-suited for robotics due to its NPU, heterogeneous cores, and camera interfaces.
The goal of this post is not to serve as a step-by-step robotics tutorial, but rather to document our engineering evaluation of ROS 2 workflows on Toradex hardware. We highlight what worked, what didn’t, and how Yocto-based builds compare to Torizon’s containerized approach, in terms of speed, maintainability, and deployment. We also provide example commands so readers can reproduce key steps.
ROS 2 is not an operating system in the traditional sense; rather, it is an open-source software framework that helps developers build robotic applications. You can think of it this way: Linux is the processor’s OS, while ROS 2 is the OS of the actual robot.
A reason why ROS 2 is widely used in robotics is because of its support for real-time communication. This is enabled by DDS, which allows developers to tune how messages are delivered depending on the needs of each task. ROS 2 also benefits from a large ecosystem of ready-to-use packages for navigation, perception, visualization, and hardware drivers.
For our project, we chose ROS 2 Humble because it offers long-term support and runs well on ARM-based embedded hardware like the Toradex Verdin iMX8M Plus. Using ROS 2 made it easier to organize the robot’s software, integrate multiple sensors, and reuse existing tools while still having the flexibility to build our own features.
- Yocto Scarthgap 5.0 with the meta-ros layer.
- ROS 2 Humble distribution.
- A range of onboard sensors:
- DHT20 (temperature/humidity)
- Ambient light sensor
- IMU (accelerometer, gyroscope, magnetometer)
- Ultrasonic range finders
- 8 m indoor LiDAR
- USB camera
We packaged the application in a Debian-style build on an Ubuntu base container, which enabled quick iteration. The robot ran successfully on the Toradex Dahlia and Mallow carrier board with the Verdin iMX8M Plus System on Module.
- Kernel patching & driver integration were needed for custom sensors.
- Maintaining custom Yocto layers required significant overhead.
- System updates had to be manually managed.
Although we achieved functional results, it became clear we were duplicating tooling that Toradex already provides through Torizon OS.
Torizon OS is Toradex’s open-source industrial Linux platform, built on Yocto but designed for ease of development and maintenance.
- Stable Base OS
- Long-term support (LTS) with regular security patches.
- No need to maintain custom Yocto builds.
- Containerized Deployment
- Encapsulated ROS 2 stack in Docker containers.
- Eliminated conflicts with the base OS.
- Identical environments across development and deployment devices.
- Developer-Friendly Tooling
- Torizon IDE extension for Visual Studio Code.
- Remote debugging, cross-compilation, and CI/CD integration.
- Future-Proof with OTA Updates
- Built-in Over-The-Air (OTA) updates for application and system.
- Secure boot and SBOM generation for compliance.
With this, iteration cycles shrank drastically. Instead of rebuilding entire Yocto images, we now develop inside an Ubuntu-based ROS container and deploy via Torizon in minutes.
- Prerequisites
- Toradex board (e.g., Verdin iMX8MP SOM on Mallow carrier board).
- Toradex Easy Installer flashed with Torizon OS.
- Host PC running Ubuntu 22.04 with ROS 2 Humble.
- Flash Torizon OS
- Use Toradex Easy Installer to flash Torizon OS from the online server.
- Boot the board and open the debug console.
- Login:
- Username: torizon
- Password: torizon
- Running a Prebuilt ROS 2 Package
# Step 1: Pull Sibrain’s prebuilt ROS 2 base imagedocker pull sibrain/rosbase
# Step 2: Run container with host networkingdocker run --network host -it sibrain/rosbase:latest
# Step 3: Setup ROS environmentsource /opt/ros/humble/setup.bash
# Step 4: Run demo talker noderos2 run demo_nodes_py talker
From your host PC (on the same network):ros2 topic list ros2 topic echo /chatter
- Running a Custom ROS 2 Package
We use two containers:- rosbase → ROS setup container
- hello_ros → Custom package container
docker pull sibrain/rosbase docker pull sibrain/hello_ros
# Step 2: Start containersdocker run -d --name rosbase_running --network host -v ros_opt:/opt -it sibrain/rosbase:latest docker run -d --name hello_ros --network host -v ros_opt:/opt -it sibrain/hello_ros
# Step 3: Build custom ROS packagedocker exec -it hello_ros bash cd src/ source /opt/ros/humble/setup.bash colcon build source install/setup.bash
# Step 4: Run custom noderos2 run ros_py_pkg py_node From your host PC: ros2 topic list ros2 topic echo /helloros
This workflow enables rapid testing of both generic and application-specific ROS packages on Toradex hardware.
For robotics teams starting with Toradex hardware, we strongly recommend using Torizon OS with ROS 2 containers to accelerate prototyping and achieve faster time-to-market. Torizon OS abstracted complexity by providing faster prototyping, maintained updates, and OTA deployment. This would not have been possible if we had followed our initial approach to use Yocto builds. Additionally, ROS 2 containers offered reproducibility, portability, and minimal integration effort.
- Publish ROS 2 containers in the Torizon Demo Gallery.
- Provide a ROS 2 template for the Torizon IDE.
- Showcase upcoming demos at trade events, including a ROS 2 drone prototype.
With ROS 2 + Torizon on Toradex hardware, you can focus on robot intelligence and innovation instead of infrastructure maintenance.
We also recommend reading the How Torizon and ROS 2 Empower your Robotics Projects blog post to get a deeper look at how you can start your ROS 2 project with Torizon and SiBrain’s blog post on their step by step development process for the robot prototype.






