Articles: #kit

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.

Real-Time Application Development on Linux with PREEMPT RT
29th September, 2025 34min
While Linux is optimized for throughput and efficiency, real-time applications require bounded worst case latencies. However, with the merging of PREEMPT RT, mainline Linux converts to a real-time operating system (RTOS). Through presenting the application developer’s perspective and the changes PREEMPT RT introduces to the kernel, we review Linux’ real-time capabilities. Additionally, we investigate dynamic worst case execution time (WCET) analysis using a StarFive VisionFive 2 as a case study. Finally, we compare Linux to other RTOSes and argue that the lack of static WCET analysis is Linux’ main drawback for real-time applications.

Real-Time Linux on RISC-V
27th June, 2025 8min
Setting up Linux v6.12 on a StarFive VisionFive 2 with PREEMPT_RT. Also: How to setup your Linux laptop as a simple NAT router.
Talks: #kit

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

KIT: Cottonwood
4th September, 2025
A Graph search library for large graphs, written in Rust.

KIT: Real-Time on Linux
30th June, 2025
Brief introduction to developing real-time applications on linux. Additionally, what does PREEMPT_RT do and what implications does the hardware have?

KIT: Fraktale Bildkodierung
5th June, 2025
Compress images using fractals.

Fraunhofer IOSB, KIT: Magnesia
4th September, 2024
Extensible OPC UA Client.
Software Projects: #kit

kicad_firmware_generation
22nd July, 2025
DLR: Extract Information from KiCad Schematics and Generate Firmware.

magnesia
15th April, 2024
Extensible OPC UA Client

Cottonwood
11th July, 2025
A Graph search library for large graphs, written in Rust.

earable_pdr
17th December, 2024
Pedestrian Dead Reckoning with Open Earable.

mc_map_marker
20th November, 2024
Remember locations on your Minecraft server.

Project Orange
8th February, 2022
Top-Down Shooter in a Week
