STM32-E407 doesn’t work on PIO

Great news! :slight_smile:

If you haven’t done it already, another improvement would be to move the SystemClock_Config() from the framework-arduinostm32 folder (which might be overwritten by updates) into the actual main firmware. This should work because the function is marked _WEAK in the framework, meaning it should be possible to be overwritten by simply pasting the correct SystemClock_Config() in the main.cpp but adding extern "C" in front of the void .. (to get C name linkage because the original function was defined in a .c file, not .cpp file). Worth a try.

A wrongly approved spam flag for Olimex links has been reverted now.

You mean you want the device to be a USB CDC (aka virtual COM port) by using its USB peripheral? Yeah Arduino STM32 has SerialUSB support, needs to be activated via some build flags.

Take a look at Difficulty with getting USB serial [USB CDC] working - #6 by maxgerhardt and try to incorporate the build flags with the current ones. Important: You probably need to remove PIO_FRAMEWORK_ARDUINO_SERIAL_WITHOUT_GENERIC and also need a working SystemClock_Config() from HSE! The internal HSI will not work for USB because it is too inaccurate, this needs the HSE. (see Solved: STM32CubeMX 4.15.1 - cannot select HSI as PLL sour... - STMicroelectronics Community). I don’t know which connector it will choose though without further looking into it.