AnsweredAssumed Answered

STM32F4 Cube-based USB Device Microphone in Audio Class streaming to Host PC

Question asked by maggie.roxas on Oct 10, 2014
Latest reply on Aug 3, 2016 by zhukov.roman

Ideally, I'd like to have a firmware that has the following support:
  1. Cube-based
  3. Works in STM32F4
  5. Works as a dual-mode USB Device (not Host) in Audio Device Class, where these 2 endpoints are configured:
  • (a) 1 isochronous IN endpoint to handle audio coming from a host PC (to act as speaker)
  • (b) 1 isochronous OUT endpoint to handle audio coming out to a host PC (to act as microphone)

I already have a firmware that satisfies (1), (2) and (3.a) which is described in another post, but I'm having problems accomplishing (3.b).

Of course I already checked the "Audio_playback_and_record" common among STM32F4 and available in STM32CubeF4 package, however, the recording part there is configured as USB Host, not to mention that the USB Class is Mass Storage Class, not Audio Device Class.

I can see related post here, but no conclusive answers (there was one saying he was able to do it but no details as to how were posted).

At this other post, I was informed by someone from the Cube team that there isn't such a program yet for USB Device microphone where audio is configured to go to host PC (as of September 2014).

However, this post I mentioned reached almost 2400 views, so that only means many people are searching for the same topic and still searching answers up until now (no other posts have more info aside from this one)...

So I created this post.

Anyone who can provide reference for us to allow STM32F4 to support "USB Device microphone where audio is configured to go to host PC"?

Any reference that could give us a jump start would do - then we can keep this thread rolling.

BTW, I have STM32F4-Discovery with STM32F407VGx on hand.
Since it has on-board CS43L22 DAC, a MP45DT02 MEMS microphone, DAC OUT for earphones, and of course USB Device mode port - it's the perfect device I can use for evaluation.

Thanks in advance to those who can contribute to this post.