- STM32WB55 support, tested on WeAct STM32WB55CGU6 using P-NUCLEO-WB55 / NUCLEO WB55 USB Dongle board definition
- Nucleo-64 board definition support — most F1/F4/G4 Nucleo-64 variants should work as a side effect
dfu_boot_stm32wb.c— WB55-specificReset_Handleroverride for reliable DFU bootloader entry- WeAct STM32G474 confirmed working
- WeAct STM32F405 confirmed working
- DFU bootloader entry completely overhauled — previous implementation was not reliable
- F1/F4/G4: now uses direct jump to ST ROM bootloader after disabling interrupts and resetting clocks
- WB55: uses magic value in
BKP0R+NVIC_SystemReset(), intercepted byReset_Handleroverride beforeSystemInit()runs
boards.txtentries now require four lines per board (two additional lines foruse_1200bps_touchandwait_for_upload_portto enable Arduino IDE auto-upload)boards_txt_additions.txtupdated to reflect new four-line format and added Nucleo_64 entry
- Generic WB55 board definitions lack USB clock configuration and are not supported — use P-NUCLEO-WB55 or NUCLEO WB55 USB Dongle board definition instead. Proper generic support requires adding a clock configuration (PLLSAI1Q 48 MHz USB clock) to the generic WB55 variant in the STM32duino core.
- STM32F1 DFU entry requires further validation on boards with factory bootloader.
- STM32F1 support, tested on STM32F103 BluePill
- STM32F4 support, tested on WeAct STM32F411 BlackPill
- STM32G4 support, tested on WeAct STM32G431
- Automatic USB initialisation via
initVariant()— no sketch boilerplate required - Automatic task polling via
HAL_IncTick()override andserialEventRun()hook Serialautomatically aliased toSerialTinyUSB- DFU bootloader entry via "touch 1200" auto-reset
TinyUSB_Port_GetSerialNumber()using factory UID registers for all families
- Added missing redirect of
SerialtoTinyUSBSerial
- Initial version with STM32F4 support, tested on WeAct STM32F411 BlackPill