HD44780 LCD driver for STM32 MCUs