Open Source Firmware Conference 2025

Announcing dutctl: A Streamlined Device Management for Open Firmware Development
2025-10-07 , Main

dutctl is a command-line utility and service ecosystem for managing test devices in open-source firmware development environments. By providing a unified interface to interact with development boards across different platforms, dutctl eliminates the fragmentation of device management tools that has long plagued firmware development workflows.


What is dutctl?

dutctl is an open-source command-line tool and service ecosystem designed specifically for managing development and test devices in firmware development environments. It provides a unified interface for interacting with various development boards, test fixtures, and embedded platforms, regardless of their underlying communication protocols or management interfaces.

The project consists of:
- A command-line client (dutctl) for direct device interaction
- A server component for managing remote device access
- Device agents that run close to hardware and expose a consistent API
- A flexible plugin architecture for extending functionality

The Problem dutctl Solves

Firmware development has long suffered from fragmented tooling. Each hardware vendor typically provides their own management utilities, each with different interfaces, capabilities, and quirks. This creates several challenges:

  1. Developers must learn multiple tools and interfaces
  2. Automation becomes difficult across heterogeneous device fleets
  3. Collaboration is hindered by inconsistent tooling
  4. CI/CD pipelines become complex and brittle
  5. Device sharing across teams is manual and error-prone

dutctl addresses these issues by providing a consistent, programmable interface to diverse hardware, enabling standardized workflows regardless of the underlying devices.

Who Can Use dutctl

dutctl serves several key user groups in the open firmware community:

  • Firmware Developers: Streamline daily development tasks with consistent device control
  • QA Engineers: Build reliable test automation across diverse hardware
  • DevOps Teams: Integrate hardware testing into CI/CD pipelines with per-commit verification
  • Open Hardware Projects: Provide consistent management interfaces for your custom boards
  • Educational Institutions: Simplify device access for students learning firmware development

Whether you're working on coreboot, LinuxBoot, OpenBMC, or custom firmware projects, dutctl helps manage your development and test devices more efficiently.

Key Features

  1. Unified Command Interface: Control various devices through consistent commands
  2. Remote Device Management: Access and control devices over the network
  3. Bidirectional Command Streaming: Real-time interaction with device outputs
  4. Multi-Architecture Support: Test on different architectures in parallel
  5. Extensible Plugin System: Add support for new hardware components and protocols
  6. Scalability: Enable distributed device fleets and team collaboration

Try & Contribute

We invite the open firmware community to:

  1. Try dutctl: Download and integrate it into your firmware development workflow
  2. Provide Feedback: Help us refine the tool to better meet community needs
  3. Contribute: Add support for your hardware platforms and use cases

The Code is available on https://github.com/blindspotsoftware/dutctl

See also: Slides (1.9 MB)

Jens is a software engineer from Bochum, Germany with over 6 years firmware development experience at 9elements. He founded Blindspot Software in 2023 to accelerate firmware development through smart and automated tools.