transmit low quiality audio with nrf52833

Hi,

I'd like to add live audio streaming to my product, The current product consists of a sender unit and a receiver unit. Both using the nrf52833 (I've already bought 500 nrf52833 modules which I'd like to use)

I hoped to just add a MEMS microphone to the sender and a small speaker to the receiver (and any necessary amplifier) . And then send the data (along with the other existing control signals) as far as possible. The quality doesn't need to be great, just mono. I've testsd 8khz 16bit on audacity and it's better than required. I believe this is 131kbps. Lower sample rate and bit rate would also be fine.

Is it possible to sample and stream this data from sender to receiver with my nrf52833 modules?

In the Nordic Connect SDK I can see in the zephyr samples the zephyr\samples\bluetooth\broadcast_audio_source and zephyr\samples\bluetooth\broadcast_audio_source which seem to do what I need (but I've not examined it closely). I think that example might only run on the nrf5340 to do the LC3 codec, but I'm not sure.

Additional information: My sender unit also has an accelerometer which is periodically read by SPI (currently once per second). The data is quickly processed and sent to the receiver. 

Any advice is greatly appreciated.

Kind regards,

-Jason

Parents
  • Hello Jason,

    In the Nordic Connect SDK I can see in the zephyr samples the zephyr\samples\bluetooth\broadcast_audio_source and zephyr\samples\bluetooth\broadcast_audio_source which seem to do what I need (but I've not examined it closely). I think that example might only run on the nrf5340 to do the LC3 codec, but I'm not sure.

    You are correct that these examples are made to run on the nRF5340 SoC, with the LC3 codec, as a demonstration of the new LE Audio standard for wireless audio playback and transfer.
    I would recommend reading through this blogpost for a quick introduction to LE Audio and its capabilities.

    Is it possible to sample and stream this data from sender to receiver with my nrf52833 modules?

    Unfortunately there are some issues with using regular BLE services and characteristics (not using isochronous channels) for live audio playback - especially the lossless feature of the BLE link makes this less feasible, since you may incur a backlog of 'old' audio packages that needs to be sent in order to catch up with the live stream, in the case that the sender or receiver is at maximum range or otherwise is experiencing a lot of dropped packages.
    This is also described in the blogpost I referenced above.
    In addition to this, we only support LE Audio development on our nRF5340 SoC, since we created this SoC with this specific purpose in mind, and we have optimized all of our LE Audio related applications and binaries to run on this specific SoC.

    However, I have seen third-party companies using the nRF52840 for LE Audio, so it seems that it could be a possibility, but you would have to reach out to them directly to inquire about how to achieve this. It seems that Packetcraft, for instance, has plans to create a LE Audio evaluation kit based on the nRF52840, so you might check with them about this.

    Best regards,
    Karl

Reply
  • Hello Jason,

    In the Nordic Connect SDK I can see in the zephyr samples the zephyr\samples\bluetooth\broadcast_audio_source and zephyr\samples\bluetooth\broadcast_audio_source which seem to do what I need (but I've not examined it closely). I think that example might only run on the nrf5340 to do the LC3 codec, but I'm not sure.

    You are correct that these examples are made to run on the nRF5340 SoC, with the LC3 codec, as a demonstration of the new LE Audio standard for wireless audio playback and transfer.
    I would recommend reading through this blogpost for a quick introduction to LE Audio and its capabilities.

    Is it possible to sample and stream this data from sender to receiver with my nrf52833 modules?

    Unfortunately there are some issues with using regular BLE services and characteristics (not using isochronous channels) for live audio playback - especially the lossless feature of the BLE link makes this less feasible, since you may incur a backlog of 'old' audio packages that needs to be sent in order to catch up with the live stream, in the case that the sender or receiver is at maximum range or otherwise is experiencing a lot of dropped packages.
    This is also described in the blogpost I referenced above.
    In addition to this, we only support LE Audio development on our nRF5340 SoC, since we created this SoC with this specific purpose in mind, and we have optimized all of our LE Audio related applications and binaries to run on this specific SoC.

    However, I have seen third-party companies using the nRF52840 for LE Audio, so it seems that it could be a possibility, but you would have to reach out to them directly to inquire about how to achieve this. It seems that Packetcraft, for instance, has plans to create a LE Audio evaluation kit based on the nRF52840, so you might check with them about this.

    Best regards,
    Karl

Children
  • Thank you Karl, I appreciate the quick answer. great blog post.

    Such a shame that this is technically possible but currently unsupported by nordic. 3rd party licensing sounds like a headache. 

    I wonder if periodic advertising could work with 4khz 12bit uncompressed audio. It works out at 6144 bytes per second.I believe the maximum data length for periodic advertising is 254 bytes, and the minimum interval is 20ms. I think it works out at 101,600 bits per second.

Related