Hands-On STM32: Basic Peripherals with HAL