Skip to main content
Joyabb
Associate II
June 29, 2020
Question

USB Audio Device/Host Class 2.0 Middleware support?

  • June 29, 2020
  • 13 replies
  • 25345 views

Hi,

I am using STM32H743 nucleo board. I am looking to configure the USB interface as Audio Class 2.0 device. Is there any middleware available to achieve this?

Does STM has any plan to support Audio Class 2.0 middleware? Current middleware only supports Audio Class 1.0.

Thanks,

Joyab

13 replies

Technical Moderator
December 14, 2020

Hello @Joyabb​ ,

Our team is currently working on the next version of X-CUBE-USB-AUDIO that support USB AUDIO CLASS 2.0.

Imen

In order to give better visibility on the answered topics, please click on 'Best answer' on the reply which solved your issue or answered your question. Thanks
Robmar
Senior II
September 22, 2023

Imen.D, it's now 2023 and STM are still working in USB 2.0 now only for RTOS, what are we meant to think about this?

Joyabb
JoyabbAuthor
Associate II
December 14, 2020

@Imen DAHMEN​  Is there a timeline available? This will help us plan a tentative project schedule.

Technical Moderator
December 14, 2020

Hi @Joyabb​ ,

It’s still under dev for the moment. I can't give you any target date for the moment.

Imen

In order to give better visibility on the answered topics, please click on 'Best answer' on the reply which solved your issue or answered your question. Thanks
Robmar
Senior II
August 11, 2023

Very poor support from STM, they still don't have USB 2.0 class 2 support now in 2023, unlike NXP

Piranha
Principal III
August 12, 2023

Just drop the broken bloatware and start using a decent software developed by people, who actually know what they are doing:

https://github.com/hathach/tinyusb

Post edited to adhere community guidelines.

AScha.3
Super User
August 12, 2023
"If you feel a post has answered your question, please click ""Accept as Solution""."
Robmar
Senior II
August 16, 2023

I looked now at that page, the readme has one line, not exactly encouraging.  Have you got it working on an H-series for 192KHz+ audio streaming?

ST Employee
August 15, 2023

USB Audio UAC 2.0 is supported in USBX class in both Device and Host modes (GitHub or from X-CUBE-AZRTOS package, or from STM32U5/STM32H5 CubeFW packages or STM32CubeMX).

Latest version (6.2.1) of USBX Middleware available here: USBX GitHub 

btw, USB Audio UAC2.0 (Device only) available also on Classic CoreMW USB class (legacy) on X-CUBE-USB-AUDIO

Associate
November 5, 2023

Where is UAC2.0 on Device only ? On official website X-CUBE-USB-AUDIO is old UAC1.0 ...

Hello ST? Few months and you didn't change it ?

ST Employee
August 25, 2023

Hi @Robmar , yes 192KHz is supported

ST Employee
August 29, 2023

Yes, I confirm that standalone mode (ie. without RTOS) is not supported yet for the audio class. I can't provide a committed plan to offer this option. 

ST Employee
August 31, 2023

After a deeper discussion with the team we confirm following points:

  1. We will provide an alpha example implementation of the USBX Host Audio2.0 on GitHub in the coming 2 weeks.
  2. We confirm that it is not possible to implement USB Host Audio (or Video) without RTOS usage unless changing deeply the USB Audio Class implementation in the stack. So, RTOS is mandatory when using Audio or Video classes (at least with current implementation of the stacks).  
AScha.3
Super User
September 14, 2023

ok, i installed Azure rtos and enabled audio/host , on new H563-nucleo 144 board.

fine, compile, no errors. no work also. there is nothing, than set up , no enumeration, no functions are called, the name "audio host " is all.

looking at MS original Azure examples, this seems like a copy. But i didnt find a working example.

so how to find out, which functions to call, without  an example ?

Is there any working example from STM ?  i didnt find it. i might giving up now, to do any audio host with STM. 

"If you feel a post has answered your question, please click ""Accept as Solution""."
Robmar
Senior II
September 15, 2023

I've been discussing USB support with STM support for over a month as I also found no useful examples, and the USB middleware installed for the H7 is very incomplete.

Yesterday I was informed that STM hope to have the USBX UAC 2 driver for AzRTOS H7 ready by the end of this year, 2023, but it might slip to next year.

What surprised me was that STM haven't had a USB UAC 2 driver available long ago, as UAC 3.0 is already available.

It seems that the USB support is outsourced and STM staff haven't pushed it.  There seems to be a minimal investment in support software for their MCUs, which is a shame because if they hang around too long, the Raspberry market is liable to take much of STM's MCU market share as it is now heavily focusing on embedded IoT, industrial and AI.

AScha.3
Super User
September 15, 2023

full consent.

what i found so far:

in STM audio host :

AScha3_0-1694794295649.png

so (if i am right) this can only connect to a headset, as is a demo for the H7..dk board. thats it.

and in Azure audio host:

AScha3_1-1694794512641.png

so this might connect to most "typical" audio devices...  if you get it running !

because the state machine (or however its called) is empty:

AScha3_2-1694794779041.png

so maybe (!) with a lot of searching and try and error can find some useful things...like:

AScha3_3-1694795074314.png

we will see. :)

+ about the market: i think, the Raspberry or Arduino market is big, but not for industrial applications .

BUT  sooner or later other companies will ( or already do ) make very similar cpu , even pin and function compatible :    see Nuvotron F4 series or GigaDevice H723 ...

https://www.gd32mcu.com/en/download/0?kw=GD32H7

https://direct.nuvoton.com/de/numaker-m463kg

STM is not world market leader by law . :)

 

"If you feel a post has answered your question, please click ""Accept as Solution""."
Robmar
Senior II
September 19, 2023

Interesting, the GDI H7 has up to 3MB of flash, not bad at all, just a pity they couldn't double the RAM to 2MB!

I agree with you about the competition, ST need to move fast or they risk losing market share.  Mouser have just taken on the new Raspberry PI boards, which are industrialized with a lot of IO and full USB UAC 2 support, and of course AI is fully supported for IoT given it runs linux on the quad core A53 processor.  All it lacks is the 16-bit ADCs.

ST Employee
September 26, 2023
Hello, A USBX Host Audio 2.0 example alpha package is available now on GitHub: https://github.com/STMicroelectronics/x-cube-azrtos-h7/tree/dev/usbx/Projects/STM32H747I-DISCO/Applications/USBX/Ux_Host_Audio20 Kind Regards,
AScha.3
Super User
September 28, 2023

thx for info !

i tried import to cubeIDE...

but there is no IDE project with .ioc file, only for using IAR !

AScha3_0-1695894478037.png

so : STM developers not using STM32CubeIDE ?? or why ..?

"If you feel a post has answered your question, please click ""Accept as Solution""."
LCE
Principal II
September 28, 2023

so : STM developers not using STM32CubeIDE ?? or why ..?

Pros don't use that beginners' crap! :beaming_face_with_smiling_eyes:

;)