cancel
Showing results for 
Search instead for 
Did you mean: 

STM32L433RCT VDDUSB and BOOt0 pin for firmware updates via USB

freeflyer
Associate II

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.

 

freeflyer_0-1751305339478.png

freeflyer_0-1751309545469.png

 

1 REPLY 1
TDK
Super User

Follow the hardware design guide for this chip family:

https://www.st.com/resource/en/application_note/an4555-getting-started-with-stm32l4-series-and-stm32l4-series-hardware-development-stmicroelectronics.pdf

TDK_0-1751322004770.png

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.

https://community.st.com/t5/stm32-mcus/how-to-jump-to-system-bootloader-from-application-code-on-stm32/ta-p/49424

 

If you feel a post has answered your question, please click "Accept as Solution".