buildit

STM32 (LL)

Work with STM32 closer to the metal using LL (Low-Layer) drivers. Implement GPIO, timers, USART, ADC, and PWM by handling what HAL hides, and compare against the HAL version to see the real cost of abstraction.

5 projects~540 min totalLive conversation with an AI tutor

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

Projects

  1. Control GPIO directly with LL drivers

    ~100 minSubscription needed

    Control GPIO with register-level functions like LL_GPIO_SetOutputPin, closer to the metal than HAL. Compare real HAL and LL code side by side to see what the abstraction layer actually hides.

  2. Handle interrupts with LL timers

    ~110 minSubscription needed

    Configure timer interrupts directly with LL_TIM functions and NVIC settings. Handle the interrupt vector wiring and priority setup that HAL used to do automatically.

  3. Implement USART communication with LL

    ~110 minSubscription needed

    Implement communication by checking register flags directly with LL_USART_TransmitData8/IsActiveFlag_RXNE. Build the instinct for controlling polling/interrupt flow yourself, without HAL's callback structure.

  4. Work with LL ADC conversions

    ~100 minSubscription needed

    Read analog values by directly polling LL_ADC_REG_StartConversion and the conversion-complete flag. Actually compare how much latency drops versus HAL.

  5. Control a motor with LL PWM output

    ~120 minSubscription needed

    Control a motor by writing duty cycle straight to a register with LL_TIM_OC_SetCompareCH1. Combine GPIO, timers, and ADC into the LL version of the 'control motor speed with a potentiometer' capstone.