Follow our illustrated blog on Embedded Software Architecture

How to build a hybrid solar/wind energy harvester?

Coming Soon

Finally, we are almost there. Our first product – a joint development result of cooperation between IACS and RTOS.BE – is about to be commercialized. The Energy2Switch is a DC switch board with 2 channels rated up to 50V and 40A. Continuous power is limited at 1500W per channel, which boils down to 40A @ […]


The embedded hierarchy — Part 1

Good programming skills is not the only quality a software engineer needs to have in order to write extendable, reusable and manageable software. Understanding the domain is equally important because it enables you to build good abstractions, and to do correct configuration management (version control). This is no different in embedded software: creating or even […]


Reverse engineering the bug of my Opel Zafira’s volume knob (with movie!)

The bug Some articles ago we proudly introduced the Opel Zafira’s electronic handbrake in order to explain de-bounced buttons. We now have some more bad news for the guys from Opel: the volume knob of the car has a bug. We admit… it is a very minor bug, but still, it is a bug. And […]


Debounced Buttons

A button-driven handbrake Buttons (or switches, or keys) are quite common in the world of the embedded systems. In most cases buttons trigger a software action and – in our context – we will use buttons for configuring the settings of the charge controller. We can also use the buttons as a debugging utility. The […]


Driving LEDs by GPIO: finally resolved!

Introduction Probably one of the most fascinating things you had to do in your early embedded career was controlling some LEDs by means of GPIO (General Purpose I/O). This – of course – is so easy i.e. until your project manager passes by: “I want this LED to blink a little faster” “Why is the […]


MCU pin configuration, GPIOs and a word on software architecture

Basic peripheral setup: pin configuration All MCUs have pins. They might come in different package types such as QFP (Quad Flat Package – Figure left) or BGA (Ball Grid Array – Figure right). But for us, embedded software engineers, pins or balls, we don’t really mind: MCUs have pins and we need to configure them. […]