Fading Coder

One Final Commit for the Last Sprint

Introduction and Initialization Configuration of DS18B20 for STM32

DS18B20 Overview The DS18B20 is a digital temperature sensor that supports 9-bit to 12-bit Celsius temperature measurement, with non-volatile, user-programmable upper and lower alarm trigger thresholds. It communicates over the 1-Wire bus, which requires only one data line to exchange data with a ho...

Implementing Software-Driven I2C Communication on STM32 Microcontrollers

Core I2C Timing Specifications All I2C bus operations are built on 6 fundamental timing sequences: Start Condition: Triggered when SDA transitions from high to low while SCL is held at a high level. This event claims control of the idle I2C bus. Stop Condition: Triggered when SDA transitions from lo...

Implementing Task Management and Binary Semaphores in FreeRTOS for STM32

Task Execution Mechanism When a task is successfully created, it's placed in the ready queue. Once the scheduler starts, it selects the highest-priority task from this queue for execution. If multiple tasks share the same priority, they execute in the order they were created. During execution, a tas...

STM32 Timer-Triggered ADC Sampling with DMA for FFT Analysis

Signal Analysis Parameters To analyze a signal using FFT, several key parameters must be defined: Target signal frequency: f Target signal period: T = 1/f Sampling frequency: fs Sampling period: Ts = 1/fs Total sample points: NPT Total sampling time: t = NPT × Ts Frequency resolution: f0 = fs/NPT Ca...

FreeRTOS Task Switching, State Transitions, and Interrupt Handling on STM32

FreeRTOS Task Switching, State Transitions, and Interrupt Handling on STM32
The Role of FreeRTOS On an STM32 running FreeRTOS, the flow from reset to task startup and multitasking operation is as follows: Reset → ② → ③: Start the first task by calling vTaskStartScheduler(), which triggers an SVC interrupt to launch the first task. ④ → ③: Multitask switching occurs via the S...

Implementing UART Communication Between Jetson Nano and STM32

Required Components Jetson Nano, STM32F103C8T6, UART interface. Hardware Wiring Refer to the Jetson Nano pinout diagram for general pin configuration. For UART communication, use pins 8 (TX) and 10 (RX) on the Jetson Nano. Ensure a common ground connection between the Jetson Nano and STM32 to enable...

SPI Communication with W25Q128 Flash on STM32 using HAL Library

Project Overviwe Main MCU: STM32F429IGTX, SPI slave device: W25Q128 NOR Flash Expected Behavior After development board reset, flash_id ok is printed over UART. When the KEY0 button is pressed, the string flash test is written to address 0 of W25Q128, then read back and printed to the serial console...

STM32 PWM-Based DC Motor Speed Regulation

Hardware Compnoents STM32 microcontroller (e.g., STM32F4 series) DC motor Motor driver IC (e.g., L298N or DRV8833) Power supply Software Configuration The STM32's timer peripheral is used to generate a PWM signal. The timer's auto-reload register (ARR) defines the period, and the capture/compare reg...

Implementing License Plate Recognition with STM32 Microcontrollers

STM32 microcontrollers are widely used in embedded system development due to their robust performance and extensive peripheral support. This article explores the implementation of a license plate recognition system using an STM32 platform, focusing on the core image processing stages. License plate...

STM32 Control of MPU6050 for Six‑Axis Data and Euler Angles Using DMP

STM32 Control of MPU6050 for Six‑Axis Data and Euler Angles Using DMP The MPU6050 combines a 3‑axis gyroscope, a 3‑axis accelerometer, and an embedded Digital Motion Processor (DMP). The auxiliary I2C port can host an external magnetometer to extend to nine axes. When the DMP is enabled, quaternions...