Welcome to PLAY Embedded, the go-to place for embedded systems enthusiasts! Since 2015, we have been dedicated to helping you learn, create, and innovate in this exciting field. Our wide range of articles, tutorials, and resources will support your journey into embedded systems. Our goal is to build a lively community of like-minded individuals who learn together, share experiences, and contribute to the field's growth. We aim to nurture future embedded systems engineers and professionals with our accessible and engaging content.
We know learning complex subjects can be tough. That is why our articles break down embedded systems concepts into easy-to-understand pieces. We cover topics from basic concepts and programming languages to hardware platforms and hands-on projects. At PLAY Embedded, we focus on Free and Open Source projects like ChibiOS. Our ad-free blog is a labor of love, created in our spare time without any financial interest. We value your feedback and suggestions, so don't hesitate to get in touch with us or join our community on LinkedIn.
Below you will find our latest articles. If you are new here, we recommend checking out our How to Start guide to begin your embedded systems journey. Don't forget to have fun!
The founders
In the world of digital communication, Serial Peripheral Interface (also known as SPI) stands out as a versatile and widely adopted protocol enabling communication among connected devices. The SPI offers a straightforward and efficient means of communication between microcontrollers, sensors, ...
In embedded systems, the clock is an essential element responsible for synchronizing all the different parts of the system and ensuring that they work together correctly. Modern microcontrollers are complex systems having different domains running often at different speeds. However, the clock ...
In this article, we will explain what race conditions are and provide examples to help you understand their impact on multi-threading applications.
We will also introduce a powerful tool to prevent race conditions: the mutex. We will explain what a mutex is, how it works, and provide ...
Digital outputs are an essential part of embedded systems development, and one of the best ways to experiment with them is by using LEDs. In this article, we will take a hands-on approach to digital output using LEDs hooked together with resistors as a peripheral. Along the way, we will explain ...
When it comes to lighting, LEDs have become increasingly popular in recent years due to their numerous advantages over traditional light sources such as incandescent bulbs and fluorescent tubes. One of the most significant advantages of LEDs is their energy efficiency. Unlike incandescent ...
Breadboards are an essential tool for anyone interested in electronics. They allow you to quickly connect through-hole components together and experiment with electronics. In this article, we will explore the different types of breadboards, including solderless breadboards and ...
Digital inputs are one of the primary ways embedded systems interface with the external world, allowing device-to-device communication and MCUs to respond to user inputs or environmental changes. In our previous article, we covered the fundamentals of the PAL driver of ChibiOS/HAL, which ...
Bitmasking is a common technique that leverages bitwise operators to selectively modify specific bits or bitfields within a larger data structure, such as a register or memory location. Using bitwise operations such as AND, OR, XOR, NOT, and bit shifting it is possible to extract, modify, or
...Embedded system applications are becoming increasingly complex, and as a result, developers are constantly looking for new ways to make their firmware nimbler, simpler and more efficient. One of the most critical aspects of programming embedded systems is the use of interrupts to handle ...
The General Purpose Input/Output (GPIO) is a crucial peripheral in microcontrollers, enabling communication with the external world by sending and receiving signals through its input/output lines. GPIOs are highly configurable and versatile, with a single microcontroller often capable of ...
In this article, we will demonstrate how to create multiple threads using parametric functions. This means that while the function executed by each thread is the same, the specific behavior is influenced by passing different parameters each time.
To illustrate how parametric threads work, we ...
The board files are a critical component of a ChibiOS-based project. They define how peripherals are connected to the microcontroller and provide information related to key elements that depend on the board in use. This article will discuss what board files are in ChibiOS, their role in a ...