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.
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?
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?
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?
No, not really. The main variable is your local RF environment, and that is difficult to estimate.
You really need to investigate yourself. The throughput example in the SDK is set up so that you can measure the throughput between two DKs.
I will give that a try, unfortunately i am prototyping on the Arduino Nano BLE 33 Sense at the moment, not sure if i can test the throughput on this board? I assume its running mbed under the hood?
Don't think the example supports any other board than the dev kits. But you need to get some dev kits anyways if you intend to develop and actual product.