STM32 Programming Tutorial for Custom Hardware