A new blog about embedded systems

This is going to be my new blog about embedded systems development.

I’ve been working with embedded systems for more than 20 years, much earlier than all this maker/tinker movement with Raspberry Pis and Arduinos all around us. You can read more about me in the About page.

When I started learning and working with embedded Linux I created a blog (in Portuguese) about it. I discovered that I learn better when I write about the things that I am learning, and of course, sharing is always rewarding (and fun).

And now I decided to create this blog to publish articles in English. I’ll be writing here mainly about embedded systems development, including topics related to embedded Linux, device drivers development, embedded Android, real-time operating systems, FreeRTOS, bare-metal development, programming in C/C++/Rust, debugging tools and techniques, etc.

I’m also very interested in the security aspect of embedded systems. As embedded systems engineers, we were educated to design hardware and firmware for embedded devices. But we are not prepared for this “new world” of connected devices. We didn’t learn about security and how to develop secure devices. But we should. Security is now a requirement, especially for connected devices.

We need to talk about the ‘S’ in IoT, right? 🙂

So I will also write here about all my past and future experiences with security on embedded devices, from the attacker’s and defender’s point of view. I’m not a specialist in this field, but I’m learning a lot in the last years. And I do not know many blogs focused on embedded systems security, so let’s just start one!

I’m planning to write about different topics like cryptography, secure boot, embedded Linux hardening, secure software development (C/C++, Rust), exploitation in other CPU architectures like ARM and MIPS, reverse engineering firmware and devices, hacking tools, TPM (trusted platform module), ARM Trustzone and TEE (trusted execution environment), hardware hacking, etc. All applied to embedded devices running Linux, Android, RTOS (Real-Time Operating System) or even bare-metal code!

I hope you enjoy this blog. I sure will. 🙂