Use a STM32 ARM microcontroller
Overview of STM32 and how to choose development board.
Make a development environment
How to install TrueStudio and STM32CubeMX.
Simple LED blinking
Modify the template project and try blinking a LED.
Detection of GPIO input by EXTI.
General purpose timer interrupt
Implementation of interrupt by general timer functions.
UART communication with DMA
Example of USART communication using DMA.
Make (something like) a double buffer by DMA
Implemented DMA buffering with standard functions.
Create a libusb compatible device
An example of generic USB device with a C library.