2025-04-25 7:48 AM
I am unable to get the USB bootloader to work on a custom board with an STM32F070C6. This board uses an 8 MHz crystal (chosen to avoid HSI issues when the HSE frequency is too high—due to space constraints, a lower-frequency crystal is not an option).
For reference, I have another custom board (nearly identical in design) with an STM32F070F6, where the USB bootloader works correctly. On that board:
With a 16 MHz crystal, the USB bootloader fails.
With an 8 MHz crystal, the USB bootloader works as expected.
The device is connected via a USB hub to account for the USB HUB issue.
Tests Performed:
Bootloader Configuration:
Tried multiple variations of Pattern 6 (per AN2606, Table 2) for the STM32F070C6.
Crystal Validation:
Swapped crystals between the STM32F070C6 and STM32F070F6 boards to rule out crystal defects.
Measured crystal capacitor values to ensure proper loading.
Verified HSE and PLL functionality using a test firmware (confirming the crystal itself works).
USB Functionality Check:
Loaded a Virtual COM Port example code—USB communication works, ruling out hardware connection issues.
Despite these tests, the USB bootloader still fails, consistently returning the error:
USB\VID_0000&PID_0002\7&1062C37C&0&1
Has anyone encountered similar issues with the STM32F070C6 USB bootloader? Are there additional configuration steps or hardware considerations I might be missing?