Hi all, I made a PCB board with STM32F407VGT6 (MCU) + STM32F103CBT6 (Debugger). I get the message ''Usb device not recognizable'' when I try to connect it to my computer via USB. I include the pics of my schematic. I followed the schematic of STM32F407G-DISC1
I think this has a fundamental flaw. The STM32F103 on the Discovery board has ST-Link loaded. Yours does not. ST-Link is a proprietary code, so you probably don't have access to it to be able to load anyway.
You load data onto the STM32F103 the same way you program any other chip. Typically through the ST-Link SWD interface, or a bootloader. Possibly through the DFU USB bootloader.
> Do you think my schematic is correct in terms of wiring the controllers?
I didn't study it, but your 8MHz MCO output from ST-Link is driving a 8MHz crystal. Crystals shouldn't be driven this way. You should choose if you want the ST-Link 8 MHz output as the clock source, or the 8MHz crystal. Can't do both. You can fix this by either not loading the 100ohm resistor, or not loaded the crystal.
"If you feel a post has answered your question, please click ""Accept as Solution""."
ok I took this crystal arrangement from the schematic of STM32F407G-DISC1 which is official. By ''load the resistor'' you mean to apply 3.3V to the R23 resistor?
According to them: ''Making your own ST-LINK V2 from STM32 Blue-Pill or STM32 Black-Pill'' I need to attach Tx and Rx pins of my usb to uart cable to the Tx and Rx of the chip and load a specific hex file. Unfortunately the Tx and Rx pins of my chip are not exposed so it's going to be a challenge..
I found the solution for loading the ST link firmware to STM32F103CBT6. I downloaded the STM flash loader demo. I connected the Rx Tx pins of a usb to uart cable to the Tx Rx pins (pin 30, pin31) of STM32F103CBT6 and set the Boot0 pin to high (3.3V) as clive1 said. I run the STM flash loader and uploaded the .hex file that can be found in ''Making your own ST-LINK V2 from STM32 Blue-Pill or STM32 Black-Pill'' that contains the firmware.