Showing results for 
Search instead for 
Did you mean: 

How to create a STM32F4 USB Composite Device (CDC+UAC) using STM32CubeMX+USB Device Middleware

Associate II

Does the latest version of the driver of STM32F4 supporting USB audio class and CDC composite device functionality?

I want to use the USB interface of STM32F4 to develop the functions of USB audio and CDC composite devices.I have a question, is the latest version of the driver supporting USB audio and CDC composite device functionality? If supported,please let us know how to implement it.Thank you。


It's a shame I-Cube is no longer compatible, it looks excellent, and should be what STM have for USB support.

I was shocked that a company the size of ST has failed to get a fully functional USB driver for their Synopsis-designed USB controllers.  Current support is about 12 years old, supports one USB device type, anything more and we had to patch the 2015 driver back in for the 743.

Though STM had a turnover of some $16 billion last year, they don't own the USB tech in their MCU's, they bought it in from Synopsis: 

So basically STM presidents, Remi and Cherry don't give a care about customers,  maybe they're just hanging on for their pensions.

USB is so crucial in OTG, as much as WiFi, but hey, they don't offer any real support for that either.

Their mini AI support is also, well, pathetic, would be better if they backed up TensorFlow for MCU's..

Your reply isn't a solution, it's an "Hey try this, then go write more code, after you figure out how the USB protocol works viz a viz endpoints etc.!

I mean saying to people "4- Configure the other settings, such as endpoints, buffer sizes, and callbacks, as needed for your application.", is such an over simplification!

A year later and STM still don't have a functional composite driver, and are still telling their clients to go code it!

ST employee Radek was meant to send me a working example, instead he just sent me an empty MCY project with the USB header stubs and little more.

ST customers/developers should complain otherwise nothing will change.

Hi Robmar!

Sorry, but my answer was only that the third-party package that worked in previous versions of Cube and which made it possible to configure the basis for a composite USB device cannot be used in the latest version. Yes, this is not a solution, but this is advice not to waste time on this dead-end path.

I also want to experiment with this package, maybe I can rebuild the package in such a way that it can be used...

You're right I'd say, though I'm not sure it's worth investing time in trying to get the mediocre ST USB code to work, it might be better to implement TinyUSB, that even supports UAC 2.0 and has a better support base which is already in use on ST MCUs.

I'm sure a lot of people would like to see more on a TinyUSB solution.

Associate III

+1 ST please make this a priority