This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

NRF52840 Pro Audio

Hi, maybe it's time for my dream project to come true. I have one NRF52840 DK on the table, one desktop PC, one laptop (BT 5), one iPhone X (not mine, just for a case) and one x86 devkit.

I want to design Pro Audio DAW & synth streaming between two x86 machines (i2s available, can use NRF BT dongle too, supports usb host as well if needed)

A couple of questions:

1) Do you have some example with your proprietary RF for low latency audio transfer? I guess even Bluetooth 5.2 still have very bad latency. For example if you connect bluetooth speaker to PC with midi piano, the latency is unable for you to play anything.

2) Can I use something like i2s and USB HID to create USB audio and interconnect two x86 machines to transmit realtime audio for one machine to another (Windows 10 is preferred) ?

3) Any hope to transmit more channels with any solution wired or wireless?

Requirements: 24-bit audio, 44.1 KHz (optional 48 KHz support)

Latency requirements: 0-10ms

Nice to have: ASIO support for asynchronnous audio samples buffering with bit-perfect synchronisation and per sample latency information to compensate for (if variable like over network).

  • Hi,

    1) No, we don’t have any reference design for this. The only example implementing wireless audio on the nRF52 series (from Nordic at least) is the nRFready Smart Remote 3 reference design and Thingy:52, but this is voice quality audio only using HID over GATT( for voice recognition purposes). If you were to use a proprietary radio protocol for low latency audio, I would recommend looking into ESB.


    2) Yes, that should be possible. The USB Audio Class Example might be interesting to take a look at.


    3) 2 channels should be possible.

  • Thank you. Sounds good. I was looking for ESB example. I've seen you did some proprietary demo with guitar mono jack and proprietary low latency mono audio transmission. I think ESB is it. I will test it with stereo.

    So for DIY hacker solution, if I need more channels. I could simply use more NRF52 boards on different channels using enhanced shock burst, assuming there is some channel property or autoselect (Yes I see rfChannel in documentation, nice).

    The missing part would be to verify USB Audio Class transfer speed & latency. If I would use 2 or 4 NRF52 in parallel, I would need to use some USB hub. Then connect this hub to PC and create Windows driver to read from 2 or 4 usb sound cards, stereo pair each.

    As you probably do not implement asynchronous usb audio transfer, the solution would be to use Asio4All WDM driver: http://www.asio4all.org/

    This solution could be used in wireless multichannel mixers, wireless synths and any other multichannel audio application. I'm just a hobbyist, but maybe someone would invest in me :-)

Related