From One-Off Integrations to a Reusable Robotics Software Stack
Project in a Nutshell: We built a reusable software platform that combines real-time motion control, modern robotics software, and 5G connectivity on a single embedded controller. The stack was validated on a service robot, but it was designed to be portable across different industrial and mobile robots. Instead of stitching drivers, gateways and custom code for every new project, OEMs and integrators can start from this ready foundation and focus on their product logic and use cases.
Challenge
The project began as an attempt to verify that EtherCAT motion control, ROS 2 robotics software and 5G connectivity could work together as one reusable software stack, not just as a lab demo. In real deployments, these layers are often stitched together with one-off gateways and project-specific drivers, which creates recurring issues:
- Unreliable real-time motor and I/O control in non-deterministic networks.
- Fragmented software stacks from different vendors.
- Complex, difficult-to-implement remote control at scale.
As a result, many implementations get stuck in the pilot stage. We decided to create a reusable reference stack that can be adapted to different robots and machines.
This project grew out of Promwad’s long-term work in embedded control, industrial networking and robotics software. By combining this experience into a single platform, we turned accumulated know-how into a reusable software stack ready for modern, connected robots.
Solution
This project was mainly about software and middleware. The physical robot — our in-house platform on Qualcomm® RB3 — served as a convenient testbed, while the main result is a reusable stack and libraries for EtherCAT, ROS 2 and 5G.
Motor-control firmware on Hilscher netX90
We developed real-time firmware for the Hilscher netX90 EtherCAT controller, including field-oriented control, CiA 402 profiles, and support for multi-axis BLDC drives. The firmware exposes motion parameters and diagnostics via EtherCAT process data, enabling reuse across other robots and machines, not just on this platform.
EtherCAT + ROS 2 integration on RB3
On the embedded host, we implemented an EtherCAT master and integrated it with ROS 2 using ros2_control. Velocity commands from ROS 2 navigation and teleoperation nodes are converted into EtherCAT drive setpoints. At the same time, encoder feedback is sent back to ROS 2 for odometry and monitoring — EtherCAT drives become a vendor-neutral ROS 2 resource that is configured rather than hard-coded.
Remote control over 5G with gRPC service
To enable safe remote operation, we added a gRPC-based control service on top of the ROS 2 graph. It uses compact Protobuf messages for commands and telemetry, handles robot discovery and link-quality monitoring, and separates external clients from ROS 2 DDS, which simplifies security and deployment over VPNs, 5G and wired networks.
Reusable Linux image and libraries
All components are packaged into a custom Yocto-based Linux image and BSP layers for Qualcomm RB3. The image includes the EtherCAT stack, ROS 2 packages, the gRPC service, sensor drivers and startup scripts, so the whole system boots and runs autonomously on the controller. The result is a reusable software core for EtherCAT-based robots: manufacturers and OEMs can adapt it by changing configuration and peripheral drivers instead of rewriting core logic.
The project confirmed a few important points for industrial robotics teams:
Business Value
Reusable platform, ready to adopt
The outcome is a complete software stack — motion firmware, ROS 2 integration, a remote control layer, and a reproducible system image — that can be reused across robots rather than rebuilt from scratch.
Faster delivery for OEMs and integrators
Teams can start from a working reference platform, reduce integration risk and move from pilot to deployment faster.
A solid base for further development
The architecture is designed to evolve: it can be extended with deterministic networking (TSN), safety functions and edge AI modules as product requirements grow.
More of What We Do for Robotics
- Robotics Engineering: discover our robotics development services for a wide range of applications.
- Nvidia Robotics Platform with Industrial Protocols: a case study on building a first-of-its-kind platform that supports widely used industrial networking protocols.
- SRCI with PROFINET: explore our study of the SRCI interface for PLC-based robot control across multiple manufacturers.
FAQ
What industrial software do you develop for robotics and automation?
We build embedded Linux software, firmware, middleware and user-space applications for industrial devices and robotics platforms — from proof of concept to deployment-ready systems.
Can you integrate industrial networks like EtherCAT into robotics software stacks?
Yes. We work with industrial networks such as EtherCAT and design integration layers that connect deterministic motion control with higher-level robotics software.
Do you develop embedded Linux for controllers and industrial devices?
We deliver custom embedded Linux distributions, BSP-level integration, drivers and system services tailored to industrial controllers and robotics hardware.
Can you help replace project-specific integration with a reusable platform?
Yes. We design modular, configuration-driven software stacks that can be ported across robots and machines, reducing integration time and long-term maintenance effort.
What parts of the stack can you cover end-to-end?
From low-level firmware and drivers to middleware, APIs and application services — including secure remote access and industrial protocol integration.
































