Open source flash program for the STM32 ARM processors using the ST serial bootloader over GPIO, UART or I2C