I have excellent experience with STM32. I have used many families (STM32F103, STM32F107, STM32F215, STM32F407, STM32F415, STM32F429, STM32F446, STM32F469, STM32F769, STM32L562, STM32L432, STM32H7A3, STM32H743, STM32U575) in many projects. I have used most of STM32 communication peripherals like Uart, SPI, I2C, I2S, USB and CAN. I used them in different working modes (polling - Interrupt - DMA), this is decided according to each project which is better for each project.
I also used many GSM modules with STM32 like SIMCOM 800, 800C, 900, 5320. I used AT commands to control them to either send data or even SMS.
I have used different LCD with STM32 beginning form charchter LCD till TFT-LCD. I built very nice GUI using touch-GFX and even without it.
I used RF with STM32 before (STM32L432), I used TI CC1100 to send data using RF (433MHZ). It was connected using SPI and i built a driver to use it efficiently.
I have also many nucleo, Discovery and EVK boards for different STM32 MCUs. I own many powerful debugging tools for HW and FW like Fluke oscilloscope, logic analyzer, segger trace and segger Pro.
I have used many IDEs with STM32 (Keil, IAR, Cube IDE, Arduino, Visual Studio Code, Eclipse) and i mainly use C language for development.
If you want, we can discuss more.
Thanks for reading my proposal