Hi there 👋

In this blog I document things I am learning or find interesting

Rust async on embedded - Spawning tasks

In my previous post I experimented creating a simple async executor to run on my STM32F401RE MCU. Now I want to improve it to make it actually usable for my next project. The main goal for the new executor is to be able to run multiple tasks, meaning that it should be capable of polling multiple futures. This will allow me to have long lived tasks running at the same time and to offload tasks to run in the background without blocking the parent task. ...

May 1, 2026 Â· 11 min Â· 2274 words Â· Me

Rust async on embedded - Building a basic runtime

After working on my previous post Bare metal Rust. From zero to UART, I was thinking about how much sense it would make to use async in these programs, because — at least in my simple experiments — most of the run time is spent waiting for delays to expire time, or waiting for inputs. I have used async in rust extensively but I never went on a deep dive into the inner workings, so attempting to run futures in embedded sounds like a very fun project. ...

April 17, 2026 Â· 13 min Â· 2710 words Â· Me

Bare metal Rust - From zero to UART

I have always found exciting discovering how something works at a deep level, without black boxes or convenient abstractions. With how complex technology got over time, it is not practical or possible to have an in depth understanding about all layers of computer programs, so we end up interacting via high level languages, frameworks and libraries that abstract all the interesting stuff away. In this post I will document a little project to scratch that itch, I will set a specific goal and will try to accomplish it with as least tooling as possible. ...

April 7, 2026 Â· 10 min Â· 1976 words Â· Me