USART CMSIS docs: https://arm-software.github.io/CMSIS_5/Driver/html/group__usart__interface__gr.html stm32 usb hid: https://damogranlabs.com/2018/02/stm32-usb-hid-mouse-keyboard/ arcade hid: https://github.com/pellepl/arcadehid cycle counter: https://stackoverflow.com/questions/11530593/cycle-counter-on-arm-cortex-m4-or-m3 stm32 hid: https://pixcl.com/stm32cubemx-truestudio-and-custom-hid-code/ usb descriptor decoder: https://eleccelerator.com/usbdescreqparser/