Arduino April 23, 2025

FreeRTOS task notification with Arduino

Task notifications in FreeRTOS offer a lightweight and efficient way to communicate between tasks compared to using queues. In this guide, you’ll learn how to use task notifications with Arduino to synchronize tasks or send signals without the overhead of traditional message passing systems like queues. We’ll walk you through a practical project where task notifications are used to signal one task from another, making your code more efficient and responsive. By the end of this tutorial, you’ll have a solid understanding of how task notifications work and when to use them in your Arduino projects.

Read More
Arduino April 23, 2025

FreeRTOS mutex with Arduino

When working with multiple tasks in embedded systems, protecting shared resources from simultaneous access is critical to prevent data corruption. In this tutorial, we’ll explore how to use FreeRTOS mutexes in Arduino to ensure that shared resources are accessed safely. You’ll learn how to implement mutexes using FreeRTOS APIs, protecting shared variables or peripherals that could otherwise be accessed by multiple tasks concurrently. By the end of this article, you’ll understand how to manage critical sections and safeguard your Arduino projects against race conditions and inconsistent states.

Read More
Arduino April 23, 2025

FreeRTOS Queue With Arduino

In embedded systems development, effective inter-task communication is essential for managing multiple tasks concurrently. In this tutorial, we’ll explore how to use freeRTOS queues with Arduino to send and receive data between tasks. You’ll learn how to create and configure a queue, and then implement a project where tasks use the queue to exchange information. This hands-on project will demonstrate how to leverage the power of freeRTOS for task synchronization and data management, allowing your Arduino projects to become more efficient and responsive.

Read More
Arduino April 23, 2025

Building a thermometer with Arduino using freeRTOS

If you're looking to deepen your understanding of freeRTOS and real-time multitasking, building a thermometer with Arduino is an excellent hands-on project. In this tutorial, we’ll guide you through the process of structuring your project using freeRTOS tasks and queues. You’ll learn how to set up different tasks for reading temperature data, processing the values, and updating the display. By the end of this guide, you’ll have a solid understanding of how to manage multiple tasks concurrently, using freeRTOS to build a responsive and efficient thermometer application.

Read More
Arduino April 23, 2025

Learn C++ with Arduino: Interfacing 8x8 LED Dot Matrix MAX7219

Learning C++ through hands-on projects is a great way to build practical programming skills. In this article, we’ll help you get started by building an Arduino program to interface with an 8x8 LED dot matrix using the MAX7219 driver. You’ll learn how to initialize the MAX7219, control individual LEDs, and create patterns or text on the matrix. Step-by-step instructions and code examples will guide you through the process, making it an excellent way to enhance your C++ knowledge while working with hardware. By the end, you’ll be able to create custom animations and displays on the LED matrix!

Read More
STM32 April 23, 2025

STM32 GPIO usage using HAL driver and STM32CubeIDE

STM32 microcontrollers offer versatile GPIO pins that can be used for a variety of tasks such as controlling LEDs, reading sensors, or interfacing with other devices. In this tutorial, we’ll walk you through how to control digital input and output ports of STM32 using the HAL GPIO library and STM32CubeIDE. You’ll learn how to configure GPIO pins for input or output, read input states, and toggle output states with simple code examples. By the end of this guide, you’ll be able to efficiently utilize STM32 GPIOs to interact with external hardware in your projects.

Read More
STM32 April 23, 2025

STM32 timer with STM32CubeIDE and HAL

Timers are crucial for managing time-based tasks in embedded systems, and STM32 microcontrollers offer a variety of hardware timers to meet these needs. In this article, you’ll learn the basics of STM32 hardware timers and how to configure them using STM32CubeIDE and the STM32 HAL (Hardware Abstraction Layer). We’ll guide you through setting up a timer, configuring it for periodic events, and utilizing timer interrupts. By the end of this guide, you’ll have a foundational understanding of STM32 timers, ready to use them for applications like PWM generation, delays, and time-based event handling.

Read More
STM32 April 23, 2025

STM32 I2C Master using HAL

The STM32 microcontrollers provide a robust I2C module for communication with peripheral devices. In this tutorial, you’ll learn how to configure and use the I2C interface on STM32 as a master using the STM32 HAL (Hardware Abstraction Layer). We’ll guide you through the process of setting up the I2C module in STM32CubeIDE, configuring it to communicate with an I2C slave device, and reading data from the slave. The tutorial also includes logging the received data to a console for easy monitoring. By the end of this guide, you’ll be equipped to handle I2C communication for your STM32 projects.

Read More
ESP32 April 23, 2025

Controlling ESP32 GPIO with ESP-IDF

The ESP32 features a wide range of General Purpose Input/Output (GPIO) pins that can be used for a variety of tasks, such as reading sensors, controlling LEDs, or interfacing with other peripherals. In this tutorial, we’ll walk you through how to control the ESP32's digital input and output ports using the ESP-IDF framework. You’ll learn how to configure GPIOs for input or output modes, read digital signals, and set pin states. With step-by-step instructions and example code, you’ll be able to control hardware components like LEDs, buttons, and relays using the powerful GPIO features of the ESP32.

Read More
ESP32 April 23, 2025

ESP32 Timers with ESP-IDF

Timers are essential for managing time-based events and tasks in embedded systems, and the ESP32 provides powerful hardware timers to make this task easier. In this article, you’ll learn how to configure and control the ESP32’s hardware timers using the timer driver in ESP-IDF. We’ll explore how to set up one-shot or periodic timers, handle timer interrupts, and use timers for a variety of time-sensitive applications such as PWM generation, timeouts, or scheduled tasks. By the end of this guide, you’ll have a solid understanding of how to utilize ESP32 timers for precise control in your projects.

Read More