2025-06-30 10:53 AM - edited 2025-06-30 11:52 AM
I am using the NUCLEO-L433RC-P development board and in the process of designing my own PCB.
I would like to be able to update firmware via USB, but need to make sure my PCB design allows for this.
Currently I have VDDUSB connected to 3.3V, but thinking this is now incorrect.
The VDDUSB pin is not rated to 5V, so I can't connect the 5V from the USB-C connector to the VDDUSB pin.
Presumably the VDDUSB is used to indicate to the MCU that the USB cable is connected ? Is VDDUSB used as a signal or for power ?
Should I just use a linear regulator to convert the USB 5V to 3.3V for the VDDUSB pin ?
Also, the BOOT0 pin has to be pulled high to put the STM32 into bootloader mode.
Can BOOT0 be connected to a pin on the USB-C connector ?
Otherwise I would need an external connector to pull up the BOOT0 pin which does not seem user friendly.
2025-06-30 3:23 PM
Follow the hardware design guide for this chip family:
Since VDD = 3.3 V in your design, just use that, as you have.
If your device is bus-powered, no need to check for VBUS voltage. Otherwise, you need to keep USB uninitialized if VBUS is not present.
BOOT0 cannot be connected to the USB-C connector in any functionally useful manner.
The pullup on D+ is not necessary and could cause problems.
If USB is only used for firmware updates, jump to the system bootloader if VBUS is detected.