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 this article, we explore the ChibiOS/Shell, a fully configurable Command Line Interface (CLI) provided by ChibiOS. This tool allows users to interact with the operating system, execute tasks, and access system features through available serial drivers, utilizing either USB or UART ...
In this article, we will explore how to import and use a printf-like function for embedded systems provided by ChibiOS/HAL. This function, known as chprintf, is not included by default in projects and must be manually added to the makefile for use. The chprintf library is designed to work with ...
In ChibiOS/HAL, multiple drivers can leverage the UART. The simplest method to utilize this peripheral is via the Serial Driver. This driver utilizes I/O Queues for buffering input and output streams, providing several
...This article delves into the fundamentals of the Universal Asynchronous Receiver-Transmitter or UART a cornerstone of serial communication in computing and electronics. Starting from the historical evolution of the RS-232 standard, which laid the groundwork for modern serial communication, the ...
In this article, we will look at how to interface an ADXL355 accelerometer using SPI. To fully grasp the content of this article, you should be familiar with the fundamentals of SPI, including concepts like clock polarity and clock phase, as discussed in our previous article SPI 101: A ...
In this article, we explore the practical use of the Serial Peripheral Interface (often abbreviated SPI) with ChibiOS/HAL. The SPI, a synchronous, full-duplex communication protocol, is widely used in microcontroller data exchange, allowing for simultaneous data send and receive operations in ...
This article provides a comprehensive guide on multithreading in ChibiOS/RT, covering aspects like thread scheduling, priority inversion, and configuration guidelines for optimizing RTOS
...ChibiOS is a powerful solution specifically designed for developing production firmware for various microcontrollers. It stands out in the open source community due to its ready-to-use formula and its composition of interconnectable, yet independent products. As subsystems are often used in ...
Pulse Width Modulation is a powerful technique used in various applications in the world of electronics. It allows for the generation of square waves with a variable duty cycle, which can be used to control the amount of power delivered to a device.
In this article, we will delve into the ...
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 ...