Actually makes my job easier because all my existing code are F1 oriented and this saves having to port a lot of stuff. Don't know about the M4 vs M3 part though but binaries built for STM32F103 run on the GD32F303 with no modifications including the peripherals (currently tested: usb, adc, timer, dma, interrupts). I did make a small GD32 specific change though which is to allow running at 96MHz while using usb. I think I will end up porting the NanoVNA UI code to fit my codebase rather than the other way around since I don't feel like porting an outdated version of ChibiOS to this. One thing the gd32 lacks which is a regression is USB DFU, so firmware updates will require a st-link... EDIT: or usb-serial adapter