Hi, I’m Michał Wilczyński 👋

A Linux Kernel Engineer who enjoys poking at hardware until it works. By day, I wrangle the kernel for Tizen smart devices at Samsung. Before that, I was at Intel taming 100G networking drivers.

This blog is my field notebook for low level adventures in drivers, performance tuning, eBPF, and bringing safe Rust to the kernel.

Bringing Rust to the Linux PWM Subsystem

Introduction: Why Rust for PWM? For the past few months, I’ve been on a mission to introduce a basic set of safe Rust abstractions to the Linux kernel’s PWM subsystem. If you’ve ever controlled the brightness of an LED or the speed of a fan, you’ve used PWM. It’s a fundamental part of how software interacts with hardware. The primary goal was to see if I could build an API that lets developers write PWM drivers in 100% safe Rust, gaining all the benefits of the language’s memory safety and powerful type system. As a practical demonstration, I also wrote a functional PWM driver for the T-HEAD TH1520 SoC, which is found on the popular Sipeed Lichee Pi 4A board. ...

November 9, 2025 · 9 min · Michał Wilczyński