cancel
Showing results for 
Search instead for 
Did you mean: 

stm32f303 Unknown USB device is being displayed.

NLuca.3
Associate

0693W00000WK1LFQA1.pngI created PCB by basically following this design, but I used as MCU the STM32F303CBT6. Programming through FTDI programmer works all fine, but when I try to use the onboard USB port, Windows doesn't want to accept it and in device manager says that it's a unknown device.

By reading through data sheets I've figured that for USB to work we need to enter DFU bootloader mode, by setting BOOT0 HIGH and BOOT1 LOW. Still Windows doesn't want to support USB.

I've also tried powering with external power supply the PCB and then connecting do PC. Still nothing...

I've tried turning USB on through STM32CubeMx by using external crystal, still nothing...

As my goal is to later program stm32f3 using Arduino IDE I'm quite lost what more should I try.

Your help would be greatly appreciated :)

6 REPLIES 6
Javier1
Principal

>>As my goal is to later program stm32f3 using Arduino IDE

buy or use an stlink , arduino supports SW loads troguh stlink (no usb needed)0693W00000WK5DrQAL.png 

IF you diont have any stlink you could use one of the builtin stlinks inside any nucleo board.

0693W00000WK5ELQA1.png 

source0693W00000WK5EVQA1.png

we dont need to firmware by ourselves, lets talk

Is there no way to achieve this through built in usb of the mcu? Because I'd like to use the built in usb to upload code but Windows doesn't want to recognize the usb device. Also, when I've uploaded blink sketch from Arduino IDE, to test functionality of mcu it works all fine, but usb won't start if the loop function is running.

AScha.3
Chief III
  1. 1k5 pullup on usb D+ must go to 3,3v , not 5V !!!!
  2. to use a chip as F303, you should forget Arduino. makes not much sense.
  3. use STM32CubeIDE + STlink (as Javier said )
If you feel a post has answered your question, please click "Accept as Solution".
Piranha
Chief II

Another one, who just copied the schematic from Chinese idiots.

  • R2, R6, R7, R8 must be removed.
  • C2 must be replaced with 100 nF.
  • R9, R11 must be shorted or replaced with 0 ohm.
  • R10 must be pulled up to VDD, not 5 V.
  • The symbol of a D1 is for a zener, not a normal diode.

>>Is there no way to achieve this through built in usb of the mcu?

yes

>>I've uploaded blink sketch from Arduino IDE, to test functionality of mcu it works all fine, but usb won't start if the loop function is running.

thats your problem right there.

Maybe something wrong with the Serial.begin() function?

Are you sure youre using the correct board package?

we dont need to firmware by ourselves, lets talk

Arduino makes sense , untill you need to dig deeper

we dont need to firmware by ourselves, lets talk