Antmicro’s Remote Device Fleet Manager (RDFM) is a fully-featured, modular, highly configurable Over-The-Air (OTA) update system designed to securely manage and update devices remotely - from simple setups to complex, multi-node, multi-OS systems. It allows you to perform configurable OTA updates and remote management of running edge computing systems in multiple deployment scenarios and on different operating systems (Android, Linux, Zephyr), all via a management server that can be hosted on any infrastructure of your choice - on-premises, in the cloud, or in a hybrid setup.

RDFM’s advanced OTA update and management capabilities make it particularly suitable for systems that function as part of a large, distributed fleet, in conditions where maintaining reliability and optimal performance is of the essence, and where stable connection is limited by significant distance or environmental factors, as in the case of operating at sea, in space, or otherwise remote locations.

It has become an integral part of Antmicro’s commercial projects where our customers use it across different industries and applications - from resource-constrained devices running Zephyr to next-gen AI space computers. This diversity of use cases has prompted the development of new features and improvements in RDFM - recently, we have introduced configurable actions and reverse shell access to devices, which further extend its functionality beyond the already advanced OTA update tasks it can handle. The versatile capabilities of RDFM described in this article are illustrated with an advanced use case of remote management for satellite fleets, based on an update system created and deployed for our customer Aethero’s family of space-rated NxN and NxA Edge Computing Modules.

Read on to explore how RDFM can be used for seamless remote management and updating of your physically distributed systems, and follow our example scenario of management flows for a satellite device simulated in our open source simulation framework, Renode.

Managing a satellite fleet with RFDM

Demonstrating OTA update and management of a satellite with RDFM

In this section, we will showcase how RDFM is used for OTA updates of a virtual satellite and demonstrate RDFM’s device management features: the newly introduced configurable actions and a reverse shell. In the demo, device management and updates are done directly in the RDFM Management Server Web GUI. On the backend, the RDFM setup consists of the following:

  • API server.
  • Device and its RDFM client (for example, an RDFM Linux client, MCUmgr client, or Android client).
  • Frontend application which renders data from the server.
  • External authentication server.
  • S3-compatible bucket storage (RustFS).

For more information about the RDFM system architecture, refer to the official documentation. You can also find more examples of running RDFM demos in the meta-antmicro directory.

Deploying OTA updates to a fleet of satellites

In this demonstration, you can see the update flow for “Satellite A” that belongs to the “Pleiades Mission” group. The group name, as well as key information such as the software version of a device and its MAC address, are also available in the Devices tab. An OTA update of the satellite group requires changing its update policy to a new target version - in the video below, it’s called “updated”. Once applied, RDFM will automatically start the update process applying the appropriate release package to all devices belonging to the group.

As shown in the video - the update progress is tracked on the Devices page, and once it finishes - the system sends a notification. After all devices are rebooted and the update is applied, a new software version “updated” will be displayed on all devices in the group.

In the example above, we’re updating one satellite. RDFM, naturally, allows you to easily deploy updates to more devices by adding them to the group configuration. After that, the system will automatically propagate updates to all devices included in that group.

Executing custom actions: on-demand update check and recalibrating image sensors

RDFM actions allow execution of predefined sets of commands remotely via the RDFM server. One example of a configurable action that we’re performing for a connected satellite is the manual update check, which, on demand, looks for any updates available to download outside of a scheduled update window. Another action could be recalibrating a satellite image sensor to ensure that all its functionalities are preserved after the performed software update.

Actions can be used to perform a variety of tasks on remote devices. Building on the example of managing a satellite - you can configure them to trigger both simple and more complex operations customized to the device’s specific workflows, such as capturing and processing images, initiating a local AI inference sequence, or broadcasting coordinates.

Using reverse shell to view and edit files on a remote device

The reverse shell functionality allows you to start a remote command-line session on any device in a fleet. In the video below, you can see that we’re starting a new session on Satellite A, which was updated in the previous steps.

In this case, we log into the device’s shell and remotely open and edit the hello-from-rdfm.txt file with vim.

This is a simple example of RDFM’s remote device management capabilities that can be used for much more advanced use cases, including resource monitoring, log inspection, or service orchestration.

RDFM as a critical component in managing edge devices in space

For space-faring hardware, the reliability and quality of remote updates are often mission-critical - once deployed, the device can’t be physically accessed for bugfixging, security patches, or just regular software updates, and even remote connection will sometimes not be possible for prolonged periods, depending on the distance from Earth. When building products for customers in the space sector, perhaps best illustrated with our CubeSat Edge Computing System and the Aethero NxN and NxA ECM space computers currently operating in Low-Earth Orbit aboard their Deimos and Phobos satellites, the software stack will often include a customized version of RDFM to manage, monitor and carefully update the device both in the testing and post-deployment phase. In the case of Aethero’s compute modules, our tailor-made version of RDFM, integrated with a dedicated webUI fleet management portal, performs field updates, including delta updates, both for the NVIDIA Jetson Orin/Thor-based main computer running Linux and the companion MCUs running Zephyr RTOS that control the payload.

RDFM is an OS-agnostic tool that can support various types of platforms typically used as space-faring hardware, from Zephyr-enabled MCUs, such as STM32G474CET6 MCU that powers the CECS On-Board Computer used in our CubeSat Edge Computing System, through the highly capable edge AI NVIDIA Jetson family, to reconfigurable FPGA SoC systems such as Antmicro’s SoM for the radiation-hardened RISC-V-based PolarFire SoC or the AMD Zynq UltraScale+.

Its advanced capabilities also extend beyond dynamic package updates - its telemetry module that we introduced last year allows gathering performance and diagnostic data from remote devices, helping detect issues and identify optimization opportunities in a more visual way. Combined with our custom-made hardware, such as Snapdragon baseboards and Antmicro’s rapid prototyping services, RDFM can also be used as part of the development flow for designing early versions of embedded devices that collect, process, and communicate sensor data.

OTA updates and device management in a fully simulated environment

Testing how your space-faring devices are going to behave after an update is definitely an essential functionality. Running RDFM on devices simulated in Antmicro’s open source Renode framework allows teams to verify scheduled Over-The-Air updates and fleet management operations at any stage of the mission as if it was on real hardware across a wide range of Renode-supported targets, as well as quickly identify any issues using Renode’s advanced testing and tracing features.

Similarly, RDFM can be integrated with various CLI systems of your choice - we demonstrated an example workflow of updating a Renode-simulated device via RDFM set up with GitLab CI in one of our previous RDFM-related articles. In the demonstrations above, the entire process of updating a satellite fleet also happens in Renode simulation, exemplifying how you can test end-to-end update scenarios at the earliest stages of your product development.

Robust and secure management of your device fleets with RDFM and Antmicro’s open source tools and services

RDFM allows us to design complete fleet management systems, customized to suit the specific use cases of our customers; with OTA updates across fleets of multi-OS devices, configurable actions and a reverse shell, RDFM facilitates remote operations of varying complexity on your devices, and offers flexible deployment on infrastructure that best meets your operational and security requirements - in a public cloud, on-premise, or in a hybrid cloud setup.

If you’re interested in RDFM’s application in space scenarios, Antmicro is showcasing the framework’s advanced capabilities by performing a sequence of OTA updates and device actions for Aethero’s NxA space computer running on a custom version of our open hardware NVIDIA Jetson Orin baseboard at this year’s NVIDIA GTC Berlin on October 20-22.

If you would like to customize and adopt cloud-based fleet updates using RDFM, set up infrastructure for remote management of your devices, or perform OTA AI model deployment in addition to your regular software updates, reach out to us at contact@antmicro.com.