[Solved] Anybody using this F4 board and got the USB working?

Limited support for STM32F4 Discovery, Nucleo and custom F4 boards
User avatar
Posts: 7691
Joined: Mon Apr 27, 2015 10:36 am
Location: Melbourne, Australia

Re: Anybody using this F4 board and got the USB working?

Post by RogerClark » Mon Oct 09, 2017 8:11 pm

Its possibly a hardware fault on the board e.g a dry joint on the USB connector. This is very common on the Blue Pill etc

Posts: 37
Joined: Sat Sep 16, 2017 2:46 pm

[Solved]Re: Anybody using this F4 board and got the USB working?

Post by flodejr » Mon Oct 09, 2017 8:39 pm

@steve, @roger,

Thanks! I got it working now. My error was that I only defined the USB OTG FS CDC device and the internal pull ups previously

To make it work, I will need to define a UART device + CDC Comm port and pull up on the D+ line in CubeMX. Although I don't have to do anything on the UART side, it kind of automatically links the UART to the CDC device. Now I can see the /dev/ttyACM0 serial device on my linux box.

Also no terminating resistors required based on the specs.
2.2.30 Universal serial bus on-the-go full-speed (OTG_FS)
The STM32F405xx and STM32F407xx embed an USB OTG full-speed device/host/OTG
peripheral with integrated transceivers. The USB OTG FS peripheral is compliant with the
The USB 2.0 specification and with the OTG 1.0 specification. It has software-configurable
endpoint setting and supports suspend/resume. The USB OTG full-speed controller
requires a dedicated 48 MHz clock that is generated by a PLL connected to the HSE
oscillator. The major features are:
• Combined Rx and Tx FIFO size of 320 × 35 bits with dynamic FIFO sizing
• Supports the session request protocol (SRP) and host negotiation protocol (HNP)
• 4 bidirectional endpoints
• 8 host channels with periodic OUT support
• HNP/SNP/IP inside (no need for any external resistor)
• For OTG/Host modes, a power switch is needed in case bus-powered devices are

Post Reply