Animation of a 3D cube interaction inside an egui window

Integrating VTK into egui (for EM simulations)

Introduction I am currently working on an EM simulator for which I will need 3D visualisation capabilities. As usual I have decided to “overcomplicate” matters by using a very “unique” assortment of programming languages and libraries to do this (both for fun and to learn new things). Naturally, I want to use Rust for this project. This is not only because simulation software needs to extract as much performance from the hardware as possible, but also because I really appreciate Rust’s rich and rigid type system when building large projects as it helps keep things organised. And then there is the rich library ecosystem associated with Rust which usually comes in very handy but turns out to be somewhat limited in this particular case (at the time of writing). If easy library access were my primary factor under consideration, Python would likely be the best choice for this project. ...

June 1, 2025 · 6 min · Gerhard de Clercq
Renode Screenshot

Initial bare-metal testing with Renode

Introduction This is a follow up to my blog post on Bare-metal Rust bootstrapped by C. In this post, I want to discuss how I used the Renode emulator to verify that my setup works. I won’t go into too much detail about how to use Renode. I just want to discuss the part that was relevant for my tests. Installation The first step of getting started with Renode is obviously to install it. This is fairly simple, simply go to https://renode.io/#downloads, download the corresponding package for your operating system and install. I won’t bore you with any additional details :) ...

March 6, 2022 · 5 min · Gerhard de Clercq

Bare-metal Rust bootstrapped by C

Introduction As you might have noticed, Rust is already quite popular in the embedded space. And getting started with embedded Rust, even on a bare-metal level, isn’t all that difficult. However, I’m not a fan of the standard method as it has a bit too much magic for me. When it comes to embedded, I like to know exactly what is going on and that includes knowing the very first code which is run and “kicks off” the main code. As such, I have explored how to do this for the STM32F4-Discovery using C code which then fires up a Rust main function. In this blog post, I will give an overview of the process that I followed. ...

February 19, 2022 · 11 min · Gerhard de Clercq