EmbeddedRelated.com
The 2026 Embedded Online Conference
Square root in fixed point VHDL

Square root in fixed point VHDL

Jari Honkanen
Still RelevantAdvanced

We will design and implement a fixed point square root function in VHDL. The algorithm is based on the recursive inverse square root algorithm based on Newton Raphson and offers parametrizable pipeline depth, word length and the algorithm is built on records and procedures.


Quaternions and the spatial rotations in motion enabled wearable devices. Exploiting the potential of smart IMUs attitude estimation.

Quaternions and the spatial rotations in motion enabled wearable devices. Exploiting the potential of smart IMUs attitude estimation.

Pablo Perez Garcia
TimelessIntermediate

Have you always wondered what a quaternion is? this is your post. Attitude or spatial orientation analysis is a powerful element in wearable devices (and many other systems). Commercially available sensors can provide this information out-of-the-box without requiring complex additional implementation of sensor fusion algorithms. Since these are already on-chip solutions devices can serve as a way to explore and analyze motion in several use cases. Mathematical analysis for processing quaternion is presented along with a brief introduction to them, Although they are not really easy to visualise, a couple fairly simple examples are provided which may allow you to gain some intuition on what's the logic behind them.


From Embedded Software Engineer to Musician

From Embedded Software Engineer to Musician

Jean Labrosse
Still RelevantIntermediate

In his first blog post on EmbeddedRelated, Jean Labrosse, the author of the uC/OS series and founder of Micrium, discusses his transition from an embedded software engineer to a musician.


Jumping from MCUs to FPGAs - 5 things you need to know

Jumping from MCUs to FPGAs - 5 things you need to know

Duane Benson
Still RelevantIntermediate

Are you a microcontroller expert beckoned by the siren song of the FPGA? Not long ago, that was me. FPGA-expert friends of mine regularly extolled the virtues of these mysterious components and I wanted in. When I made the leap, I found a world seemingly very familiar, but in reality, vastly different. I found that my years of C programming and microcontroller use often gave pre preconceived interpretations of FPGA resource material which resulted in eye-roll class mistakes in my code. I’ve gleaned five things of vital importance to help you make that transition faster than I did.


Assembly language is best - except when it isn’t

Assembly language is best - except when it isn’t

Colin Walls
Still RelevantIntermediate

A look at why writing in C often produces more efficient code than hand-written assembly language.


C to C++: 5 Tips for Refactoring C Code into C++

C to C++: 5 Tips for Refactoring C Code into C++

Jacob Beningo
Still RelevantIntermediate

The article titled "Simple Tips to Refactor C Code into C++: Improve Embedded Development" provides essential guidance for embedded developers transitioning from C to C++. The series covers fundamental details necessary for a seamless transition and emphasizes utilizing C++ as a better C rather than diving into complex language features. The article introduces five practical tips for refactoring C code into C++. Replace #define with constexpr and const: Discouraging the use of #define macros, the article advocates for safer alternatives like constexpr and const to improve type safety, debugging, namespaces, and compile-time computation. Use Namespaces: Demonstrating the benefits of organizing code into separate logical groupings through namespaces, the article explains how namespaces help avoid naming conflicts and improve code readability. Replace C-style Pointers with Smart Pointers and References: Emphasizing the significance of avoiding raw pointers, the article suggests replacing them with C++ smart pointers (unique_ptr, shared_ptr, weak_ptr) and using references


Why Should Unit Tests Feel Like Simulations?

Why Should Unit Tests Feel Like Simulations?

Amar Mahmutbegovic
Still RelevantIntermediate


Getting Started With Zephyr: Devicetrees

Getting Started With Zephyr: Devicetrees

Mohammed Billoo
Still RelevantBeginner

This blog post provides an introduction to the "Devicetree", another unique concept in The Zephyr Project. We learn about the basic syntax of a device tree and how its structure and hierarchy mirror hardware, from the SoC to the final board. We also see how hardware described in a devicetree can be referenced and controlled in the source code of a Zephyr-based application.


NULL pointer protection with ARM Cortex-M MPU

NULL pointer protection with ARM Cortex-M MPU

Miro Samek
Still RelevantIntermediate

This post explains how you can set up the ARM Cortex-M MPU (Memory Protection Unit) to protect thy code from dragons, demons, core dumps, and numberless other foul creatures awaiting thee after thou dereference the NULL pointer.


Bellegram, a wireless DIY doorbell that sends you a Telegram message

Bellegram, a wireless DIY doorbell that sends you a Telegram message

Sergio R Caprile
Still RelevantIntermediate

A wireless button that uses the M5 STAMP PICO and Mongoose to send a Telegram message when pressed. The code is written in C


The 2026 Embedded Online Conference