Welcome on PLAY Embedded

On PLAY Embedded you can find useful resources to get started with embedded systems: media, examples and accurate descriptions are also provided. Come on, learn by doing!

Wide box Tiny box List
Ascent Descent

A Radio Frequency transceiver library: nRF24L01 and ChibiOS/RT

A Radio Frequency transceiver library nRF24L01 and ChibiOS/RT

The nRF24L01 is one of the most popular RF transceiver as it is very cheap and it could be found already configured on small PCBs with needed passive components. This means that only a MCU is needed to design a radio system with the nRF24L01.

The nRF24L01 is a highly integrated, ultra low power 2Mbps RF transceiver IC for the 2.4GHz ISM band. It provides an hardware protocol accelerator, the Enhanced ShockBurst, enabling the implementation of advanced and robust wireless connectivity with low cost MCUs.

By this article we want to provide a full library for nRF24L01 continue reading...

ChibiOS/HAL design: an object-oriented approach

ChibiOS/HAL design an object-oriented approach

We already introduced ChibiOS/HAL in early tutorial Hello ChibiOS and we used it in almost every article ChibiOS related. We had often ignored its design or how it works, indeed read its documentation is all you need to use it. Anyway, this article is for those who want to go into detail and see how stuff works. Starting from ChibiOS 3.0, ChibiOS/HAL became essentially a separate product that is not rigidly attached to the OS and can be used on bare metal or in conjunction with any other RTOS.

ChibiOS/HAL aspires to provide a hardware abstraction allowing nevertheless a continue reading...

C Library design for embedded applications: tips and hints

C Library design: 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 code should be like a LEGO: must fit perfectly and without any effort”. So a good library should be quite abstract, with a simple hierarchy and should provide some well documented APIs.

Even if this is a generic embedded article, we will provide some concrete example.

When we want continue reading...

How to use an HD44780 based Liquid Crystal Display

How to use an HD44780 based Liquid Crystal Display

The HD44780 is a controller for display developed by Hitachi commonly used to manage alphanumeric dot matrix LCD. This controller is a standard de-facto for this kind of display. It is often used in industrial test equipment, networking equipment, vending machine and in embedded projects.

Compatible LCD screens are manufactured in several standard configurations. Common sizes are one row of eight characters (1×8), as well as 16×2, 20×2 and 20×4 formats. Larger custom sizes are made with 32, 40 and 80 characters and with 1, 2, 4 or 8 lines. The most commonly manufactured continue reading...

Using DHT11 with ChibiOS/RT

Using DHT11 with ChibiOS/RT

The DHT11 is a basic, low-cost digital temperature and humidity sensor. It uses a capacitive humidity sensor and a thermistor to measure the surrounding air, and spits out a digital signal on the data pin (no analog input pins needed).

The communication on data pin occurs according to a non-standard protocol known as One-Wire protocol.

In this article we want to provide a demonstration for DHT11 compatible with ChibiOS/HAL 3.0, but also explain concepts inside that demo. Following that purpose we need for the DHT11 datasheet.

DHT11 Datasheet

Typical circuit requires a continue reading...