ChibiOS

ChibiOS/RT is a compact and fast real-time operating system supporting multiple architectures and released under the GPL3 license. ChibiOS/RT is designed for embedded applications on 8, 16 and 32 bit microcontrollers; size and execution efficiency are the main project goals. As reference, the kernel size can range from a minimum of 1.2Kib up to a maximum of 5.5KiB with all the subsystems activated on a STM32 Cortex-M3 processor. [Read more…]

Wide box Tiny box List
Ascent Descent

Using STM32’s GPIO with ChibiOS’ PAL Driver

A microcontroller is a small computer integrated in a small chip designed to control electronic circuits: control involves interaction! A MCU must be able to interact with the external circuitry in order to address or sense it. The MCU is equipped with different peripherals designed to interact with external circuits.

Anyway all the MCU interactions must necessarily go through those small wires coming out from the microcontroller package: these metal contacts are named pins and they are used to solder the chip on a Printed Circuit Board (PCB). The name pin come out from continue reading...

A close look to ChibiOS demos for STM32

A close look to ChibiOS demos for STM32

In this article we are going to take a deep look to ChibiOS default demos explaining how they works. We will also see how to create a new project and how to modify it in in order to create our own applications.

ChibiOS default demo are usually composed by some different folders and files. As example, in figure we can see the resources of the default demo for STM32 Nucleo F401RE. In general all the ChibiOS’ projects are characterised by a similar anatomy.

They all have some folders, some configuration headers, a source file named main.c and a makefile. Additional notes continue reading...

Developing on STM32: introducing ChibiStudio

Developing on STM32: introducing ChibiStudio

In this article we are going to set-up a ready-to-use Eclipse-based toolchain named ChibiStudio for the development on STM32. We will also explore this development toolchain explaining some basic operations necessary for daily development. So we will introduce the ChibiOS project, we will setup ChibiStudio taking a tour of some parts of it, we will import some ready to use projects and perform our first flash and run. Note that to proceed with this tutorial is necessary the installation of ST-Link drivers: this procedure has been shown in the previous article From 0 to continue reading...

Detecting obstacles using an ultrasonic sensor HC-SR04

Detecting obstacles using an ultrasonic sensor HC-SR04

HC-SR04 is a commonly used ultrasonic sensor which is capable to detect obstacles in a range of 2-300cm. The sensor looks like a small PCB having two metal cylinders on the front-side and a small circuit on the back-side (see Fig.1).

In this article we will provide a simple demo to use HC-SR04. This requires a preliminary read of the sensor user manual: HC-SR04 User Manual

The sensor has 4 PIN:

VCC, which must be connected to 5V; Trig, which is an input PIN to trigger the measurement; Echo, which is an output PIN which sent out a square wave; GND, which must be continue reading...

How to drive a HD44780 with I2C backpack with a STM32

How to drive a HD44780 with I2C backpack with a STM32

The HD44780 is a de-facto standard controller for display. We have already use it providing a source code to use a 16×2 LCD with a STM32. In this article we will step over introducing an I2C backpack for that display. Of course we will explain how to edit old code in order to get it work with this new hardware configuration.

Even if it is still popular, this controller was made commercially available in the late eighties. At that time serial communications were not so widespread because their were costly and involved constraint about clock speed. Because of that, the continue reading...