About Me

Freelance software developer and architect specialising in real-time, distributed and embedded systems, with 18+ years of experience with embedded Linux in both user- and kernel space.

Past engagements include leading an embedded software team and serving as Platform Manager at Kistler Instrumente AG (Switzerland), a Post-doc at KU Leuven, and several years of freelancing as a U-Boot and Linux kernel developer and trainer in cooperation with DENX Software Engineering.

I hold a PhD in Robotics from KU Leuven and a Dipl.-Inf (FH) in Computer Engineering from the University of Applied Sciences Konstanz. My PhD thesis (supervised by Prof. Herman Bruyninckx) addressed domain-specific languages for constructing complex, reusable robot systems under hard real-time constraints (available here).

Working with me

I am a pragmatic developer comfortable in both individual contributor and technical lead roles. I believe that critical but constructive code and architecture reviews are essential to consistently good outcomes, and I make a point of getting the right people involved early.

I work equally well in local and internationally distributed teams. Languages: German and English (native), Portuguese (professional).

Development

  • Embedded software design and development in C/C++, complemented by Python or Lua scripting
  • Concept work, feasibility studies, and technology selection — with a track record of building consensus across teams
  • Architecture and implementation of distributed and real-time systems using Xenomai, rt-preempt or bare-metal RTOS
  • Upstreaming and clean-up of patches to FOSS projects
  • Support and training for teams using microblx real-time function blocks
  • Linux device driver development and performance optimisation
  • BSP development: porting U-Boot and the kernel to new hardware
  • Embedded system architecture: boot time optimisation, robust update strategies (SWUpdate), filesystem selection, Yocto
  • Test concept development and implementation

Training

A hands-on 3-day embedded Linux training covering most of the above — from toolchains and U-Boot to real-time and microblx. Get in touch if interested.

Platform Management

Experience building and leading international development teams as Platform and Project Manager, including establishing "corporate development communities" and the associated processes. Available for consulting in this area.

Software

I am an active open source developer and contributor. I believe that investing time in upstreaming — even under schedule pressure — pays off through reduced maintenance burden and the quality assurance that comes with public review.

lsdbus: lightweight Lua 5.x bindings for sd-bus, enabling clean D-Bus access from Lua without heavy dependencies.

microblx: a lightweight, composable framework for building real-time control and signal processing applications.

rFSM: a minimal, extensible Statecharts formalism for Lua, developed during my PhD.

SWUpdate contributions: UBI volume rename support, hwid regexp matching.

Das U-Boot: various contributions; maintainer of the USB subsystem until 2009.

mini_fo: an early Linux overlay filesystem developed for my diploma thesis at DENX, used in several products and projects (like OpenWRT) before being superseded by overlayfs.