Skip to main content
Associate
January 18, 2024
Question

Help Needed: Issues Programming and Communicating via USB after PCB Redesign (STM32F429ZIT6)

  • January 18, 2024
  • 9 replies
  • 3216 views

Hello everyone

I've hit a bit of a snag with my PCB redesign (V2) featuring an STM32F429ZIT6. While the initial version (V1) worked like a charm, some layout changes and component swaps (SN74ABT16245ADL to two SN74HCT245DWR) in V2 are causing issues with programming via DFU and USB communication.

Here's a quick rundown of my troubleshooting so far:

  • JTAG/SWD Programming: Successful via STCubeProgramer Stlink, so no problems there.

  • PCB Assembly: Hand-soldered all PCBs, and continuity tests for USB lines and power tracks look solid.

  • DFU Programming: Jumper on BOOT0 enabled, but no luck with DFU. I'm testing on a Linux machine, using lsusb to check for the DFU or USB device in normal mode.

Attached Schematic: I've included the schematic for your reference.

Now, I'm seeking fresh perspectives and additional help:

  • Crystal Signals: What should I expect on the crystal signals to ensure they're operating correctly? Any recommended frequency checks?

  • Fuse Flags: Are there specific "fuse" settings that need enabling for DFU capability on a fresh chip? I want to make sure everything is configured as it should be.

  • Additional Debugging Tips: Any other suggestions for new ways to debug and narrow down the issue would be greatly appreciated.

The V1 worked seamlessly, and I'm a bit stumped with the V2 hiccup. Your insights would mean a lot!

Cheers!

This topic has been closed for replies.

9 replies

AScha.3
Super User
January 18, 2024

Just - sure, you didnt swap D+ / - ?

What telling you linux, when connect the usb ? ( see terminal -> dmesg )

+

debug (swd) is working ok ?

If you feel a post has answered your question, please click on " Best Answer ".
edsousa84Author
Associate
January 18, 2024

Hello @AScha.3 thanks for your input.

As far as I can tell no I did not swap the D+ and D- (I have used the exact same circuit as the previous version)
The D+ line is connected to the PA12 (Pin 104) and then connects to the pin 3 of the mini usb connector.
The D- line is connected to the PA11 (Pin 103) and then connects to the pin 2 of the mini usb connector.

dmesg does not issue anything about the USB device (it simply does not detect it).

dmesg output on a working V1 board:

 

 

$ sudo dmesg
[90327.020890] usb 3-1: USB disconnect, device number 73
[90328.639326] usb 3-1: new full-speed USB device number 74 using xhci_hcd
[90328.789052] usb 3-1: New USB device found, idVendor=0483, idProduct=df11, bcdDevice=22.00
[90328.789058] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[90328.789059] usb 3-1: Product: STM32 BOOTLOADER
[90328.789061] usb 3-1: Manufacturer: STMicroelectronics
[90328.789062] usb 3-1: SerialNumber: 354B324D3331
$

 

 

 

 dmesg on a non working board:

 

 

$ sudo dmesg
$

 

 
I did not try to debug the firmware yet. I will try it as soon as I possibly can (good idea)

AScha.3
Super User
January 18, 2024

dmesg -> nothing.  So nothing at the usb port , no connect to D+ , thats pulled hi , to start enumeration.

Check, if with boot0 hi, reset/startup: then  is D+ pulled up on your board ( about 3v + ) --- and at the plug ?

+

still unknown : debug (swd) is working ok ?

If you feel a post has answered your question, please click on " Best Answer ".
Graduate II
January 22, 2024

Hello

Try to pulldown PB2 pin or connect it to Gnd, it seems to be BOOT1.

Datasheet:

JTP1_2-1705939448009.png

Ref.manual:

JTP1_0-1705939371053.png

Br JTP

ST Technical Moderator
March 11, 2024

Hello @edsousa84 

You can probe the clock source via MCO. It could indicate a problem with the external oscillator.

To give better visibility on the answered topics, please click on "Best answer" on the reply which solved your issue or answered your question.Best regards,FBL