Hi there. I am working on an application where i need to transfer audio signal from a microphone connected to the nRF52840 to a smartphone. Are there any working examples demonstrating this? Or is it totally impossible to do on this BLE module?
Hi there. I am working on an application where i need to transfer audio signal from a microphone connected to the nRF52840 to a smartphone. Are there any working examples demonstrating this? Or is it totally impossible to do on this BLE module?
The nRF52840 has both I2S — Inter-IC sound interface and PDM — Pulse density modulation interface peripherals.
Hi haakansh. Thanks for the reply. I already use the SoC with a microphone. That is not really the challenge. What i am seeking is information about transmitting audio signal from the microphone through BLE.
Aah.
Well, there's no defined protocol or GATT service for LE audio yet. I suggest you create a Service and Characteristic that can send data at high throughput, and on the smartphone an app that can receive the data stream through the custom Service/Characteristics. Do you intend to stream it in real-time or are you gonna just write to a file?
Makes good sense. Well, "somewhat real-time", a bit of delay is acceptable (1-3s), but otherwise we are trying to transmit it somewhat fast. The best reference is a a walkie-talkie application, not a music player.
Alright, I don't know that much about smartphone app development so I can't help much there, but both Android and iOS should have comprehensive guides on how to develop BLE apps.
I suggest you use a custom service, but the Nordic UART Service can get you up and running the fastest. There are probably several open-source projects that have built smartphone apps based on the NUS.
See the /examples/ble_peripheral/ble_app_uart.
What kind of throughput do you need?
Alright, I don't know that much about smartphone app development so I can't help much there, but both Android and iOS should have comprehensive guides on how to develop BLE apps.
I suggest you use a custom service, but the Nordic UART Service can get you up and running the fastest. There are probably several open-source projects that have built smartphone apps based on the NUS.
See the /examples/ble_peripheral/ble_app_uart.
What kind of throughput do you need?
Honestly, i haven't calculated the throughput needed to stream the audio from the microphone. But if we assume 8kHz (this is application specific) samplerate with 16bit resolution on 1-channel, i would say that 256Kbps should be plenty.
That's certainly possible with any smartphone that has support for extended MTU, Data Length Extension, and 2mbps PHY. I think most smartphones can handle that throughput.
How about the extended range (1400m) at 1mbps PHY?
Not possible at 256kbps.
You will need a PA/LNA and the throughput will most likely be a fair bit lower.
Makes sense, are there any theoretical values for the range vs. thoughput?