
Basic knowledge
This section is a good starting point for those who aren’t familiar with embedded systems: it contains a series of articles not related to a specific topic. They should be read to build a background knowledge required to work with embedded systems.
Demystifying C: Types
Digital Basics
In digital electronics, a signal can only have two states ON or OFF. While the signal can be encoded, stored and processed as this article will show, fundamentally there are those two logic level states. Logic level refers to a specific voltage or state where a digital signal exists. ...
Microcontrollers 101
In this article we are going to introduce microcontrollers and explain what they are and why those are so popular nowadays. We are going to look into the minimum set of tools that you would need to approach this topic.
A Microcontroller unit or MCU is a single chip that integrates one or ...
What is the difference between a bootloader and a debugger
Since I have started to hold seminars and hands-on to newbie developers and engineering students, one of the most controversial things people don’t get used to is the debugging. Many of them often confuse between a bootloader and an on-chip debugger because both are used to test the firmware ...
C Library design for embedded applications: tips and hints
Write reusable code is one of the most powerful and time-saving thing that an embedded programmer should learn. Compose well-arranged libraries makes things easiest, especially when we want to add old code in a new project. Citing one of the most talented programmers I have ever met, “Well done ...
Registers and bit masks
When I started with embedded my knowledge about programming was (and probably still is) very elementary. I often used logical operator like logical NOT (!), logical OR (| |) and logical AND (&&) but was almost ignoring the bitwise operators.
Handling registers is actually so simple that at ...