buildit

STM32 (HAL)

Work with STM32 using the HAL (Hardware Abstraction Layer) library. From CubeMX-generated init code to GPIO, timers, UART, ADC, and PWM — read real code, diagnose compiler errors, and review AI-proposed changes.

5 projects~520 min totalLive conversation with an AI tutor

Subscribe and spend a credit to unlock the lessons in 'STM32 (HAL)'.

Projects

  1. Control GPIO with HAL

    ~90 minSubscription needed

    Start by turning an LED on and off with the STM32 HAL library. Read real code built from HAL_GPIO_WritePin/HAL_Delay, understand what CubeMX-generated init code means, and practice reading compiler errors, AI review, and prompt writing.

  2. Precise periodic work with a timer interrupt

    ~100 minSubscription needed

    Build precise periodic work without delay() using the TIM peripheral and HAL_TIM_PeriodElapsedCallback. Trace exactly when and how the interrupt callback fires, and diagnose common timer-setup mistakes at compile time and runtime.

  3. Exchange data with a PC over UART

    ~110 minSubscription needed

    Exchange data with a PC (serial monitor) in real time using HAL_UART_Transmit/Receive. Compare blocking vs. non-blocking (interrupt, DMA) approaches in real code, and trace communication bugs via telemetry logs.

  4. Read analog sensor values with ADC

    ~100 minSubscription needed

    Convert analog inputs like a potentiometer or temperature sensor into real voltage values with HAL_ADC_Start/GetValue. Work with sampling rate and noise issues, and review AI-proposed filtering code.

  5. Control motor speed with PWM

    ~120 minSubscription needed

    Control DC motor/servo speed with HAL_TIM_PWM_Start and duty cycle adjustment. Combine GPIO, timers, and ADC learned so far into a small capstone: controlling motor speed with a potentiometer.