STM32 HID Bootloader

I've just discovered the wonders of the 32-bit ARM Cortex M3 through a super-cheap development board known as the "Blue Pill".

It costs less than $2 and it's powered by a STM32F103C8T6 chip clocked at 72MHz with 64KB/128KB of flash, 20KB of RAM and lots of peripherals such as SPI, I2C, USB and RTC.

I'm officially dumping 8-bit AVR chips for all of my future projects and I will surely port some of them to the new 32-bit ARM platform.

One of my first needs during this discovery and migration phase was a small HID USB bootloader. Couldn't find one that suited my needs, so I've created one:

Good bye, AVR! Hello ARM!