We're hiring!
*

Meet Boardswarm, a new Open Source tool for board management and distributed development

Martyn Welch avatar

Martyn Welch
June 17, 2025

Share this post:

Reading time:

At Collabora we have a lot of experience dealing with automating and controlling development boards. Whether that be through our work with KernelCI, testing of platforms we support like Apertis, or dealing with kits for day-to-day development.

We use LAVA for Continuous Integration (CI) tasks, where we typically want to spin up a prescribed set of modified binaries. These binaries are built for one or more platforms to test if these binaries function as expected and are able to pass a set of predefined tests. However the way LAVA functions does not lend itself to giving developers access to interactively work with the board. Developers potentially need to interact with many boards during development, for instance, to understand the subtle differences in operation between similar but not identical boards or SoCs (System on Chips). It may not be feasible or desirable for all these devices to be plugged in at the developer's desk. In fact, it may not be desirable for the developer to be physically located with the board; the distributed nature of Collabora's development team can make borrowing boards, especially if only needed for a short time, time-consuming and costly.

Not being satisfied with the solutions available to solve this problem, Collabora has begun developing an open source tool called Boardswarm which aims to improve the management of and access to development boards. This could involve a single developer interacting with specific boards, shared access for a development team, or streamlining the integration of boards into a LAVA board farm. Boardswarm is a relatively new tool, though it's being actively used and developed, thus it is gaining maturity and functionality as time progresses.

Figure 1: Boardswarm - Simple topology.


Boardswarm implements a server and client model, where the server is connected to one or more development boards and a user or service interacts through the client to access development boards connected to one or more servers. The aim is for the server to be relatively thin whilst providing enough abstraction to translate the functionality provided by boards from many vendors into a standardised API. We think of this as a "device as a service" model.

It is typical for Boardswarm to be connected to the serial console of the devices and for it to have control over their power. However, its functionality is also growing with support for an increasing number of interfaces beyond serial and power. It allows control over board signals and implements support for various boot protocols, such as MediaTek BROM, DFU, and the Rockchip USB protocols, importantly exposing a common API for all these protocols.

Boardswarm is designed to be distributed, with the server acting as a proxy for further Boardswarm instances. This enables an instance of Boardswarm to act as a hub for multiple other Boardswarm instances, maybe instances running in physically different racks of development boards but accessible via a unified location, simplifying cabling. This distributed architecture also allows functionality for a single development board to be distributed between several proxied Boardswarm instances. This would allow one instance to concentrate on power switching whilst another takes care of serial consoles if this topology is preferable. The functionality controlled by each instance is then combined into a unified view by the proxy instance.

Figure 1: Boardswarm - Unifing topology.


The Boardswarm client can be launched in a semi-integrated TUI mode, where the user can interact with the serial console and perform basic control operations via escaped command codes. Alternatively the serial and a broader suite of operations can be accessed via separate calls to the client, enabling Boardswarm to be easily integrated into LAVA or to enable tasks to be automated via scripting in your scripting language of choice.

We use all these modes of operation at Collabora. We are increasingly integrating boards into Boardswarm as a step on the way to LAVA deployment, something that we've also demoed the last few years at Embedded World. A number of our developers have freed up desk space and reduced the need to swap boards on their desks by shifting boards onto shelving or a cupboard (or even wall mounting them!), then accessing the devices via Boardswarm. Configuring a VPN or forwarding a port has even made it possible for other developers to work with one of these boards remotely. Lastly, the ability to combine Boardswarm with scripts makes it easier and quicker to write some custom testing code to perform extended tests on a board in development or automate frequently performed tasks.

Paired with a few network services, Boardswarm already provides quite a compelling option for board management and development, which we hope to continue improving to cover more use cases. We look forward to seeing Boardswarm more widely adopted and used.

 

Comments (0)


Add a Comment






Allowed tags: <b><i><br>Add a new comment:


 

Search the newsroom

Latest News & Events

Meet Boardswarm, a new Open Source tool for board management and distributed development

17/06/2025

Improving access, flexibility, and CI integration for development boards, making it easier for developers to work with embedded hardware,…

Industry week in focus: ISC, AWE & InfoComm take the stage

02/06/2025

Next week Collabora will be covering a lot of ground, attending 3 separate events in 3 different time zones: ISC High Performance, Augmented…

Breaking language barriers 2.0: Moving closer towards fully reliable, production-ready Hindi ASR

29/05/2025

After cleaning up and expanding Whisper-Hindi to 3,000 hours, we now have explicit timestamp prediction, faster I/O, and fine-tuned models…

Open Since 2005 logo

Our website only uses a strictly necessary session cookie provided by our CMS system. To find out more please follow this link.

Collabora Limited © 2005-2025. All rights reserved. Privacy Notice. Sitemap.