FreeRTOS Integration and Task Scheduling on STM32 Platforms

FreeRTOS provides deterministic task scheduling capabilities essential for time-critical embedded applications. When integrated with STM32F4-series microcontrollers running at 168MHz, the kernel manages multiple execution contexts through a preemptive priority-based scheduler. Configuration begins within STM32CubeMX by enabling the middleware c ...

Posted on Thu, 05 Nov 2026 16:35:50 +0000 by piznac

Implementing Unit Tests in C with the Greatest Framework

Overview and Core PrinciplesThe Greatest framework is designed as a single-header C testing library that emphasizes minimalism and efficiency. Its architecture targets resource-constrained environments such as embedded systems where memory overhead is a critical concern. By avoiding external dependencies and complex build configurations, the fr ...

Posted on Tue, 03 Nov 2026 16:10:46 +0000 by dominicd

Visualizing Serial Data with JXChart

JXChart is a PC-based UART data visualization tool designed to display serial communication data as real-time graphs. It facilitates the observation and logging of data streams by rendering them into curves. To use JXChart, you need a PC with serial port functionality, or a USB-to-serial adapter. The software supports data exchange via standard ...

Posted on Mon, 26 Oct 2026 16:52:25 +0000 by KingIsulgard

Implementing Independent Key Controls for LEDs on Microcontrollers

Understanding and implementing independent key controls for LEDs on microcontrollers What are independent keys? Tactile switches: These function as electronic switches that close when pressed and open when released. The mechanism involves internal metal springs that flex to make or break connections. Note: GND is the negative terminal. When a k ...

Posted on Sat, 24 Oct 2026 16:18:37 +0000 by xeidor

HC-SR04 Distance Measurement using 8051 Timer Gate Mode

Simulating ultrasonic ranging in Proteus with an 80C52 microcontroller requires precise timing to capture the ECHO pulse duration. This implementation utilizes a crystal frequency of 11.0592 MHz and leverages the hardware GATE control feature of the 8051 timers to measure the high-level duration of the pulse without CPU-intensive polling. Measu ...

Posted on Fri, 16 Oct 2026 16:00:45 +0000 by BittenApple

STM32 Flash Memory Operations and Programming Guide

Flash Memory Organization STM32F1 series microcontrollers incorporate three flash memory sections: program memory, system memory, and option bytes. The flash memory interface peripheral enables erase and programming operations for both program memory and option bytes. Common applications for flash read/write operations include: Storing non-vol ...

Posted on Mon, 12 Oct 2026 16:48:21 +0000 by shadiadiph

Analyzing the U-Boot SPL Linker Script for ARM64 Architecture

The build system for U-Boot SPL determines the linker script used during the final linking stage. Based on the logic in scripts/Makefile.spl, if a board-specific script (e.g., board/sunxi/u-boot-spl.lds) is not present, the build system defaults to the architecture-specific script located at arch/arm/cpu/armv8/u-boot-spl.lds. The if_changed_dep ...

Posted on Fri, 09 Oct 2026 16:45:46 +0000 by SauloA

Troubleshooting Repetitive Lcd_ColorBox Calls Causing HardFaults on Embedded SPI LCDs

/********************************************** Function: Draws a solid color rectangle on the LCD Input: x1 - X-axis starting coordinate y1 - Y-axis starting coordinate w - Rectangle width (pixels) h - Rectangle height (pixels) fill - 16-bit RGB color value Output: None ********************************************** ...

Posted on Fri, 09 Oct 2026 16:29:36 +0000 by arfa

Core C Programming for Embedded Development

Core Components of a C Program A typical C application comprises preprocessor directives, functions, variables, expressions, and comments. Data Types The memory footprint of data types varies depending on the architecture (e.g., 32-bit vs 64-bit systems). Integer Types TypeSizeValue Range char1 byte-128 to 127 or 0 to 255 unsigned char ...

Posted on Tue, 06 Oct 2026 16:40:08 +0000 by Iklekid

Key Concepts and Implementation Details for 8051 Microcontrollers

Special Functon Register and Bit Declarations The sfr and sbit keywords are used for declarations in 8051 microcontroller programming. sfr declares an entire special function register, while sbit declares a single bit within a register. sfr output_port = 0xA0; sbit indicator_bit = output_port ^ 3; The #define preprocessor directive is also use ...

Posted on Mon, 05 Oct 2026 16:47:54 +0000 by MattAdamson