Recently Updated Pages
1. Introduction: From Python to C
1.1 Key Differences Overview Aspect Python C Compilation Interpreted Compiled Type Syste...
7.4 Efficient IoT Messaging with MQTT
MQTT (Message Queuing Telemetry Transport) is a lightweight messaging protocol designed for const...
1.5 Additional References
What Is a Real-Time Operating System (RTOS)? – DigiKey Maker.io Real-Time Operating System (RTOS...
1.4 FreeRTOS
So what is FreeRTOS? [4] FreeRTOS is one of the most widely used RTOS implementations in the worl...
1.3 Microcontroller Architecture
Besides the differences in the type of OS used, there are also differences in the microcontroller...
1.2 Introduction to RTOS
GPOS The types of OS we often use (Windows, Linux, Mac, Android, iOS) can be classified as GPOS, ...
1.1 Learning Objectives
After completing this module, students are expected to be able to: Understand the difference bet...
7.2 Local Network Connectivity with Wi-Fi
Wi-Fi is a technology based on the IEEE 802.11 standards that enables wireless data exchange. The...
7.1 Introduction: The IoT Communication Stack
For an IoT device to be useful, it needs to communicate. This communication happens in layers, mu...
4.5 Prevention and Handling Strategies
Overcoming Deadlock Since detecting and recovering from a deadlock in an embedded system is ver...
4.4 Common Problems in Synchronization
Deadlock A deadlock is a situation where two or more tasks are blocked forever, each waiting fo...
4.3 Synchronization Mechanisms in FreeRTOS
FreeRTOS provides several synchronization primitives, the most common of which are Mutexes and Se...
4.2 Introduction: The Problem of Shared Resource Access
In multi-tasking systems, multiple tasks often need to access the same resource simultaneously, s...
4.1 Learning Objectives
After completing this module, students are expected to be able to: Understand the importance of ...
PlatformIO Guide
About PlatformIO is a versatile, open-source ecosystem designed for embedded development, providi...
5.8 Advanced Project: A Multi-Sensor Data Logger
In this chapter, we will build a complete data logging application that utilizes all the core con...
5.7 Choosing the Right Tool: A Practical Comparison
Deciding which synchronization mechanism to use is a key skill in embedded programming. Use the f...
5.6 Synchronization Mechanisms: A Comparative Guide
FreeRTOS provides three primary mechanisms for safely managing shared resources between tasks and...
5.5 The Core Challenge: ISRs and Tasks Synchronization
Understanding the Problem: Shared Data and Race Conditions When a hardware interrupt occurs, the...
5.4 Deep Dive: ESP32 Hardware Interrupts
Configuring Hardware Timers on the ESP32 The ESP32 microcontroller comes with four general-purpo...