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