Articles: #dlr

How to Sensor with Embedded Linux' Devicetree (on Raspberry Pi)
20th October, 2026 6min
TODO

Slay the Daemons on Embedded
4th October, 2026 15min
My name is Chris and I'm afraid of daemons. Well, not literally but I am engineering the firmware for an embedded, real-time device. And I chose to use Debian Linux with systemd. What I'm afraid of are background processes, daemons, performing actions I don't anticipate. This article explains how I create a linux image for my device with only a handful purposeful daemons.

Automatic Firmware Generation for Spaceflight Hardware based on Schematics
19th August, 2026 15min
The interaction between hardware design and firmware implementation requires strict consistency in embedded systems. Firmware must exactly match the schematic-level component configuration and connectivity. In current workflows, this consistency is largely ensured through manual inspection and extensive testing. In this work, we introduce a schematics-aware approach to automate firmware generation. We propose the Group Netlist, a design- and PCB tool-agnostic abstraction of hardware. Using a reference implementation, we demonstrate our proposal for the open-source PCB design suite KiCad. As added benefit our approach serves for hardware verification purposes that we demonstrate through a fault-injection analysis. Considering relevant cases, our tool detects 75% of otherwise undetected injected faults and requires negligible overhead (less than 0.2% codebase addition and on average a 4.8% runtime increase). Lastly, we verify our tooling by successfully using it in the development workflow of an embedded satellite module.

Userspace's Role in Linux Networking
26th June, 2026 12min
On Linux what does networking? What parts are implemented in the kernel and what parts require userspace tools or daemons? How much of networking is inherent to the kernel and how much is up to distributions? What tools may be combined and what others cause conflicts? I've always wondered these questions and more about Linux' networking stack. For this article I finally took the time to thoroughly research userspace's role in Linux networking.

Mistakes in the Docs: UART on Raspberry Pi 5 Compute Module
8th June, 2026 4min
We have a Raspberry Pi Compute Module 5 IO Board without a monitor or network connection. How do you see what the system is doing? How to read the Linux and bootloader log? A simple answer is UART. Turns out, UART isn't so simple on the Raspberry Pi 5 and its documentation, datasheet and raspi-config is wrong in a couple of places.

Automatic Firmware Generation for Spaceflight Hardware based on Schematics
16th February, 2026 119min
Any satellite's Power Conditioning and Distribution Unit (PCDU) fulfills the same purpose, providing the subsystems with electrical power. However, because each satellite has a unique set of subsystems, differing PCDUs must realize differing power distributions. How do you efficiently develop firmware for such similar hardware? One approach is to group components and their PCB layout into a snippet, e.g., an Analog to Digital Converter (ADC) with supportive components. Each PCDU can reuse the same snippets arranged differently to create different power distributions. While this drastically speeds up the hardware design process, previous works failed at translating this speedup to the firmware development process. We propose the Group Netlist, a novel representation of the logical functions of hardware. This machine-readable file format enables automatic firmware generation while remaining agnostic to both programming-language and schematics editor. The electrical engineer annotates the schematics to produce not just the PCB layout but also the Group Netlist. Contrary to initial expectations, we show that the Group Netlist has uses beyond firmware generation. This includes but is not limited to harness specification and snippet based design analysis. We provide the reference implementation kicad_firmware_generation as a ready-to-use product for different projects even outside space-exploration.
Talks: #dlr

DLR, KIT: Reliable Embedded Systems for Spaceflight
19th June, 2026
kicad_firmware_generation, Time Sensitive Networking and Zephyr for Spaceflight

DLR, KIT: kicad_firmware _generation
20th February, 2026
Automatic Firmware Generation for Spaceflight Hardware based on Schematics

