Tagged articles
43 articles
Page 1 of 1
Liangxu Linux
Liangxu Linux
Mar 26, 2026 · Fundamentals

Master STM32 Projects: From Schematics to Stable, Maintainable Code

This guide walks through the essential steps of STM32 development—from reading schematics and configuring CubeMX to structuring code, debugging with tools like J‑Link RTT, and optimizing performance, providing practical tips to avoid common pitfalls and build reliable embedded systems.

CubeMXDebuggingSTM32
0 likes · 6 min read
Master STM32 Projects: From Schematics to Stable, Maintainable Code
Liangxu Linux
Liangxu Linux
Mar 23, 2026 · Fundamentals

Why Using STM32 HAL Beats Hand‑Coding Registers for Fast Prototyping

The article argues that beginners should skip exhaustive register manuals, use STM32's HAL library and CubeMX to quickly build functional projects, then deepen their understanding of registers only when performance or special needs arise, emphasizing practical experience over premature low‑level study.

CubeMXHALLearning Path
0 likes · 5 min read
Why Using STM32 HAL Beats Hand‑Coding Registers for Fast Prototyping
Liangxu Linux
Liangxu Linux
Jan 27, 2026 · Fundamentals

Master STM32 GPIO: All 8 Modes Explained with Code Samples

This tutorial walks through STM32's eight GPIO operating modes—four inputs and four outputs—detailing their electrical behavior, typical use cases, configuration steps, and providing complete HAL code examples to help embedded developers choose the right mode for reliable designs.

CGPIOHAL
0 likes · 16 min read
Master STM32 GPIO: All 8 Modes Explained with Code Samples
Liangxu Linux
Liangxu Linux
Jan 26, 2026 · Fundamentals

Why I2C Needs Pull‑Up Resistors and How to Choose the Right Value

This article explains the open‑drain nature of I2C, why pull‑up resistors are essential for providing a high level, ensuring signal integrity and enabling wired‑AND logic, and offers practical formulas, recommended resistor ranges for different speeds, STM32 configuration examples, and debugging tips.

I2CSTM32bus communication
0 likes · 13 min read
Why I2C Needs Pull‑Up Resistors and How to Choose the Right Value
Liangxu Linux
Liangxu Linux
Jan 22, 2026 · Fundamentals

Why Adding a Base‑Emitter Resistor Is Crucial for Reliable Transistor Switches

The article explains the essential role of a base‑emitter (BE) resistor in transistor circuits—providing a stable bias, protecting against ESD, speeding up turn‑off, reducing noise sensitivity—and offers practical guidelines for selecting its value and integrating it into common embedded designs.

STM32Switchingbase-emitter resistor
0 likes · 13 min read
Why Adding a Base‑Emitter Resistor Is Crucial for Reliable Transistor Switches
Liangxu Linux
Liangxu Linux
Dec 22, 2025 · Fundamentals

Mastering STM32 ADC: From Sampling to Accurate Voltage Measurement

This article explains the fundamental concepts and step‑by‑step workflow of ADC conversion in embedded systems, covering sampling, hold, quantization, encoding, and output stages, and provides detailed STM32 HAL code examples along with tips for improving accuracy.

ADCAnalog-to-DigitalMicrocontroller
0 likes · 13 min read
Mastering STM32 ADC: From Sampling to Accurate Voltage Measurement
Liangxu Linux
Liangxu Linux
Dec 7, 2025 · Fundamentals

How to Use the SW-18010P Vibration Sensor with STM32: Full Wiring and Code Guide

This tutorial explains the SW-18010P vibration sensor’s features, pinout, and operating principle, then provides detailed hardware wiring, LED initialization, sensor initialization, interrupt handling, and a complete STM32F103C8T6 firmware example that lights a three‑color LED based on vibration detection.

Hardware TutorialLED IndicatorSTM32
0 likes · 9 min read
How to Use the SW-18010P Vibration Sensor with STM32: Full Wiring and Code Guide
Liangxu Linux
Liangxu Linux
Dec 7, 2025 · Fundamentals

Control RGB LEDs with an NEC Infrared Codec Module and STM32

This tutorial explains how to use the YS‑IRTM NEC infrared codec module with an STM32F103C8T6 MCU to decode remote‑control signals, map them to UART commands, and drive a three‑color LED, covering hardware wiring, protocol details, UART configuration, and full source code.

LED controlNEC protocolSTM32
0 likes · 12 min read
Control RGB LEDs with an NEC Infrared Codec Module and STM32
Liangxu Linux
Liangxu Linux
Nov 12, 2025 · Fundamentals

Mastering Button Management in Embedded C with lwbtn: A Deep Dive

This article introduces the lightweight lwbtn library for embedded C, explains its core features, shows how to integrate it on STM32 with a complete demo, and provides an in‑depth analysis of its architecture, state‑machine processing, click detection algorithm, configuration options, and practical usage tips.

CGPIOSTM32
0 likes · 13 min read
Mastering Button Management in Embedded C with lwbtn: A Deep Dive
Liangxu Linux
Liangxu Linux
Oct 8, 2025 · Fundamentals

Master STM32 ADC Sampling and Filtering: From Basics to Advanced Algorithms

This tutorial walks through STM32F103ZET6 ADC fundamentals, explains key parameters, demonstrates how to use the VOFA+ PC tool for data visualization, and provides step‑by‑step implementations of several filtering algorithms—including first‑order complementary, median, arithmetic average, moving average, limit‑average, and Kalman filters—complete with code examples and performance analysis.

ADCCSTM32
0 likes · 16 min read
Master STM32 ADC Sampling and Filtering: From Basics to Advanced Algorithms
Linux Tech Enthusiast
Linux Tech Enthusiast
Sep 12, 2025 · Fundamentals

Why Every Embedded Engineer Should Master DMA (Direct Memory Access)

This article explains the purpose, operation modes, configuration parameters, and register-level setup of DMA in STM32 microcontrollers, illustrating how DMA offloads data transfers from the CPU, improves performance, and provides concrete code examples for UART and memory‑to‑memory transfers.

DMADirect Memory AccessMicrocontroller
0 likes · 23 min read
Why Every Embedded Engineer Should Master DMA (Direct Memory Access)
Deepin Linux
Deepin Linux
Mar 5, 2025 · Fundamentals

Embedded Systems Interview Guide: Linux Thread Scheduling, STM32 Configurations, SPI, DMA, Synchronization, and Debugging

This article provides a comprehensive interview guide for embedded systems positions, covering Linux thread scheduling, single‑core CPU execution, STM32 chip specifications, SPI communication, DMA concepts, synchronization primitives, priority inversion solutions, debugging techniques, and software design considerations.

DMALinux schedulingSPI
0 likes · 21 min read
Embedded Systems Interview Guide: Linux Thread Scheduling, STM32 Configurations, SPI, DMA, Synchronization, and Debugging
Liangxu Linux
Liangxu Linux
Sep 17, 2024 · Fundamentals

Unlocking Automatic Module Initialization with Linux Kernel Initcall on STM32

This guide explains how to replicate Linux kernel's initcall mechanism in STM32 projects by using function‑pointer sections, modifying the linker script, and defining ordered initialization macros to replace sequential main‑function calls, enabling modular and loosely‑coupled code execution.

CInitcallLinux kernel
0 likes · 8 min read
Unlocking Automatic Module Initialization with Linux Kernel Initcall on STM32
Liangxu Linux
Liangxu Linux
Jun 15, 2024 · Fundamentals

Mastering Software Timers on STM32: Theory, Design, and Code

This guide explains what software timers are, their implementation principles in operating systems, and provides a complete STM32‑based example with data structures, state machines, and full C code for initialization, start, update, stop, and status queries.

Embedded CSTM32callback
0 likes · 10 min read
Mastering Software Timers on STM32: Theory, Design, and Code
Liangxu Linux
Liangxu Linux
Jun 10, 2024 · Fundamentals

Mastering Software Timers on STM32: From Theory to Practical Implementation

This article explains what software timers are, their implementation principles in operating systems, and provides a detailed STM32-based example—including clock tick handling, data structures, state management, and full C code for initializing, starting, updating, stopping, and testing timers.

Embedded CSTM32callback
0 likes · 10 min read
Mastering Software Timers on STM32: From Theory to Practical Implementation
Liangxu Linux
Liangxu Linux
May 15, 2024 · Fundamentals

Mastering Embedded Software Timers: Two Practical Timeout Designs

This article presents two widely used software timeout mechanisms for embedded systems, explaining their concepts, implementation steps, code examples, and a comparative analysis to help engineers replace CPU‑blocking delays with hardware‑timer‑based solutions.

CSTM32Timeout
0 likes · 6 min read
Mastering Embedded Software Timers: Two Practical Timeout Designs
Liangxu Linux
Liangxu Linux
Apr 21, 2024 · Fundamentals

Understanding C Memory Layout on STM32: Stack, Heap, and Data Segments Explained

This article explains C language memory partitioning—including stack, heap, global/static, constant, and code sections—illustrates their characteristics and growth directions, then applies the concepts to STM32F103 by showing memory map details and providing a complete Keil‑based C program that prints the addresses of variables in each region.

CData SegmentHeap
0 likes · 10 min read
Understanding C Memory Layout on STM32: Stack, Heap, and Data Segments Explained
Liangxu Linux
Liangxu Linux
Apr 5, 2024 · Fundamentals

Understanding C Memory Layout on STM32: Stack, Heap, and Global Sections

This article explains the C language memory segmentation—including stack, heap, global/static, constant, and code areas—illustrates their behavior on STM32F103 with Keil V5, and provides detailed example code that prints the addresses of variables in each region to demonstrate allocation and lifetime.

CHeapSTM32
0 likes · 9 min read
Understanding C Memory Layout on STM32: Stack, Heap, and Global Sections
Liangxu Linux
Liangxu Linux
Mar 9, 2024 · Fundamentals

Why STM32’s PLL Keeps Running After HSE Failure and How to Fix It

A customer reported that on an STM32F103VDT6, disconnecting the external 8 MHz crystal did not trigger the external watchdog reset because the MCU’s PLL continued to generate a low‑frequency clock, but enabling the Clock Security System (CSS) and handling the NMI correctly resolves the issue.

CSSHSEPLL
0 likes · 6 min read
Why STM32’s PLL Keeps Running After HSE Failure and How to Fix It
Liangxu Linux
Liangxu Linux
Feb 29, 2024 · Fundamentals

Master static, volatile, sizeof, and I2C for Embedded C

This guide explains the purposes and effects of the C/C++ static and volatile keywords, compares the sizeof operator with strlen, describes reliable methods for comparing floating‑point numbers, outlines how floating‑point operations affect STM32 interrupt performance, and provides a concise overview of the I²C protocol and address configuration on STM32 devices.

C++I2CSTM32
0 likes · 9 min read
Master static, volatile, sizeof, and I2C for Embedded C
Liangxu Linux
Liangxu Linux
Jan 22, 2024 · Fundamentals

Challenge Your STM32 & FreeRTOS Skills: 25+ Embedded Quiz Questions

This article provides a comprehensive set of multiple‑choice, fill‑in‑the‑blank, and true/false questions covering STM32 microcontroller features, FreeRTOS concepts, and general embedded system fundamentals, allowing readers to self‑assess their knowledge and identify gaps.

FreeRTOSQuizSTM32
0 likes · 16 min read
Challenge Your STM32 & FreeRTOS Skills: 25+ Embedded Quiz Questions
Liangxu Linux
Liangxu Linux
Jan 16, 2024 · Fundamentals

Mastering Relays: From Basics to STM32 Control with Real Code

This tutorial explains relay fundamentals, classifications, electrical parameters, wiring diagrams, and provides a complete STM32‑based implementation with source code to control a relay and toggle an LED, offering practical guidance for embedded hardware projects.

C programmingHardwareRelay
0 likes · 10 min read
Mastering Relays: From Basics to STM32 Control with Real Code
Liangxu Linux
Liangxu Linux
Jan 8, 2024 · Fundamentals

Master MDK Debugging: A Step‑by‑Step Guide for STM32 Development

This tutorial walks you through downloading the STM32F103C8T6 template project, configuring Keil MDK for simulation, using the debugger’s control buttons and windows, measuring function execution time, and leveraging watch, memory, and peripheral views to efficiently debug embedded code.

DebuggingKeilMDK
0 likes · 14 min read
Master MDK Debugging: A Step‑by‑Step Guide for STM32 Development
Liangxu Linux
Liangxu Linux
Dec 19, 2023 · Fundamentals

Master DHT11 Temperature & Humidity Sensor on STM32: Full Code Walkthrough

This tutorial provides a comprehensive, step‑by‑step guide to using the DHT11 temperature and humidity sensor with an STM32F103C8T6 MCU, covering hardware wiring, sensor specifications, timing diagrams, HAL‑based driver implementation, and complete source code for reliable data acquisition.

CDHT11HAL
0 likes · 13 min read
Master DHT11 Temperature & Humidity Sensor on STM32: Full Code Walkthrough
Liangxu Linux
Liangxu Linux
Dec 14, 2023 · Fundamentals

Mastering PWM on STM32: From Simple Loops to Hardware Timer Output

This article explains PWM fundamentals, compares several output methods ranging from blocking loops to hardware timer generation, and provides complete STM32F1 example code—including macro definitions, timer configuration, output functions, and practical tips on pin mapping and precision.

HardwareMicrocontrollerPWM
0 likes · 8 min read
Mastering PWM on STM32: From Simple Loops to Hardware Timer Output
Deepin Linux
Deepin Linux
Dec 11, 2023 · Fundamentals

Embedded Systems Interview Guide: Linux Thread Scheduling, STM32 Configuration, Synchronization, and Debugging

This article provides a comprehensive interview guide for embedded system positions, covering Linux thread scheduling, single‑core CPU execution, STM32 chip specifications, SPI communication, DMA, synchronization primitives, priority inversion solutions, debugging techniques, and memory layout fundamentals.

DebuggingSTM32linux
0 likes · 26 min read
Embedded Systems Interview Guide: Linux Thread Scheduling, STM32 Configuration, Synchronization, and Debugging
Liangxu Linux
Liangxu Linux
Nov 26, 2023 · Fundamentals

Master STM32CubeMX: From Installation to a Complete LED Blinking Project

This step‑by‑step guide walks you through preparing the Java runtime, installing STM32CubeMX, configuring clocks, GPIOs, and core settings, and finally generating and flashing code for a blinking‑LED demo on an STM32F103 board, while highlighting best practices for beginners.

CubeMXLEDMicrocontroller
0 likes · 9 min read
Master STM32CubeMX: From Installation to a Complete LED Blinking Project
Liangxu Linux
Liangxu Linux
Nov 21, 2023 · Fundamentals

Mastering Keil MDK: Complete Guide to Interface, Configuration, and Tips for STM32 Development

This comprehensive tutorial walks readers through downloading MDK, understanding its core concepts, exploring the full UI—including menu, toolbar, and project settings—offering practical shortcuts, configuration details, and handy usage tips to boost productivity when developing STM32 applications with Keil MDK.

Embedded DevelopmentIDEKeil
0 likes · 17 min read
Mastering Keil MDK: Complete Guide to Interface, Configuration, and Tips for STM32 Development
Liangxu Linux
Liangxu Linux
Nov 19, 2023 · Fundamentals

Quickly Build a Reusable STM32 HAL MDK Project Template

This step‑by‑step guide shows how to create a reusable STM32F103C8T6 HAL‑based MDK project template, covering source download, folder structure, required files, MDK configuration, and verification to streamline future STM32 development.

HALMDKProject Template
0 likes · 9 min read
Quickly Build a Reusable STM32 HAL MDK Project Template
Liangxu Linux
Liangxu Linux
Sep 24, 2023 · Backend Development

Designing a Modular LCD Driver Framework for STM32 Embedded Systems

This article explains how to build a modular, device‑agnostic LCD driver architecture for STM32 boards, covering hardware scenarios, object‑oriented C design, driver‑device separation, and practical code examples for TFT, COG, and OLED displays.

COGDevice TreeLCD driver
0 likes · 18 min read
Designing a Modular LCD Driver Framework for STM32 Embedded Systems
Liangxu Linux
Liangxu Linux
Jun 12, 2023 · Fundamentals

Mastering Serial Communication: From UART Basics to STM32 Implementation

This comprehensive guide explains serial communication fundamentals, covering UART/RS‑232/RS‑485 protocols, physical layer standards, baud‑rate calculations, data frame structures, duplex modes, and provides detailed STM32 configuration code for practical embedded development.

RS-232STM32Serial Communication
0 likes · 11 min read
Mastering Serial Communication: From UART Basics to STM32 Implementation
Liangxu Linux
Liangxu Linux
Dec 12, 2022 · Fundamentals

Master STM32 GPIO: Light Up an LED in Minutes

This guide walks you through the fundamentals of STM32 GPIO, covering pin naming, push‑pull vs open‑drain modes, wiring an LED, configuring PB8 with CubeMX, and using HAL functions to programmatically toggle the LED with concise code examples.

CubeMXGPIOHAL
0 likes · 8 min read
Master STM32 GPIO: Light Up an LED in Minutes
Architects' Tech Alliance
Architects' Tech Alliance
Nov 2, 2022 · Fundamentals

Understanding DMA (Direct Memory Access) in STM32 Microcontrollers

This article explains the principles, transfer modes, parameters, features, and register configuration of Direct Memory Access (DMA) in STM32 microcontrollers, illustrating how DMA offloads data movement from the CPU, improves performance, and integrates with peripherals, memory, and interrupt handling.

DMADirect Memory AccessMicrocontroller
0 likes · 16 min read
Understanding DMA (Direct Memory Access) in STM32 Microcontrollers
Huawei Cloud Developer Alliance
Huawei Cloud Developer Alliance
Jan 4, 2017 · Fundamentals

Inside Huawei LiteOS Workshop: Chip Porting and Balancing Car Demo Highlights

The Huawei LiteOS Workshop in Beijing gathered over 130 online registrants and 100 on‑site developers for a day of hands‑on sessions covering mainstream chip porting, STM32 migration, rapid integration with LianShengDe chips, Keil MDK debugging, and a fun balancing‑car demo, followed by lively Q&A and community bonding.

Huawei LiteOSIoTOS porting
0 likes · 6 min read
Inside Huawei LiteOS Workshop: Chip Porting and Balancing Car Demo Highlights
ITPUB
ITPUB
Aug 19, 2016 · Fundamentals

Mastering STM32 NVIC Interrupt Priority Groups: A Practical Guide

This article explains STM32's 43 interrupt channels and how the AIRC register's 4-bit priority fields are divided into pre‑emptive and sub‑priority groups, illustrating each NVIC_PriorityGroup setting with concrete code examples and step‑by‑step configuration instructions.

InterruptPriorityMicrocontrollerNVIC
0 likes · 9 min read
Mastering STM32 NVIC Interrupt Priority Groups: A Practical Guide