You found me!
  • About
  • All posts

Hifi Wireless transceiver - Sun, Feb 28, 2021

Hifi Wireless transceiver

Goal is to create an affordable wireless bidirectional device for hifi audio (at least 44kHz stereo) to use as a single bodypack for a lavalier microphone and earphones. Should be low latency since I will be using it with my mixer to record podcast interviews and online presentations and I would like to be able to hear myself back in the monitor feed.

To do 44.1kHz, 16bit stereo, we need to have a throughput of aprox. 1.5Mbps, and since we want it to work bidirectionally we’d need to handle up to 3Mbps of data throughput. If we would drive it up to 48kHz that would be a little over 1.5Mbps. If we want to go for a better sampling resolution (i.e 24bit) things run over 2Mbps pretty quickly and we would probably need to start thinking about some form of digital audio compression.

  • 16bit * 44.100 * 2 = 1.411.200 bits per second, a little over 1.4Mbit/s.
  • 16bit * 48.000 * 2 = 1.536.000 bits per second

Components to work with

Approach 1: Bluetooth

Bluetooth has been an acceptable means to transfer sound, and with A2DP the quality isn’t bad either. However, I’ve noticed that as soon as you switch to bidirectional audio A2DP is out the window and we go back to something called Handsfree Profile, which really impairs the sound quality. So this approach will most likely only work if we use two Bluetooth modules in tandem.

Got some BK3266 modules, but it looks like these can only do ‘client’ mode, which makes it impossible for two of them to connect to each other?

Approach 2: RF

If you look at what is used on stage during concerts etc. you can find many devices that use either 400-500Mhz RF or 2.4Ghz ISM.

nRF24L01 (on-PCB antenna) and nRF24L01+PA+LNA (with screw-on antenna)

I’ve found a number of people using these on YT to build transmitter/receivers for audio, or even build some simple Walky Talkies. With mixed results, but the modules themselves look capable enough. I may need to use two in tandem to enable bidirectional transmission due to bandwidth constraints in the modules - they do a maximum throughput of 2Mbps. (Whoops! That will also mean 2 SPI busses - Wemos D1 Mini is no-go?)

One claim of these modules is they can peak to quite a bit of power consumption, so it seems wise to add a dedicated power line. At 3.3v this would be supplied by something like an AMS1117.

The RF24 library does have an audio component, but it looks like that is pretty much tied in to using the native ADC and uses PWM instead of a true DAC. Hmmm….

Audio sampling

The built-in ADC and DAC of most microcrontrollers are not up to the task of doing CD-quality sampling. For instance Arduino supports ‘only’ 1024 bits of resolution. So let’s use some external ADC and DAC modules. I’ve selected:

  • DAC: UDA1334A (CJCMU-1334) Stereo I2S module (note that the I2S requirement rules out usage of the low end Arduino MCU’s)
  • ADC: ADS1115 4 channel I2C module

Microphone/line in

I want to use this with a lavalier microphone, but I’ve had some mixed results in other scenario’s. These microphones give out a pretty weak signal, so additional amplification may be nessecary. Also, some microphones need power/bias in order to work.

Mark 1

So off I went and ordered some components to tinker with.

Connecting nRF24L01

MISO, MOSI, SCK (CLK), CE, CSN (SSN)

miso = groen = d6

mosi = geel = d7

sck = blauw = d5

ce = wit voor

csn = wit achter

https://www.youtube.com/watch?v=4WHzXdRZIxw

https://www.instructables.com/Tales-From-the-Chip-LM386-Audio-Amplifier/

https://www.instructables.com/Getting-Started-With-NRF24L01-Wireless-Transceiver/

https://create.arduino.cc/projecthub/Arnov_Sharma_makes/nrf24-hookup-guide-97b240

Back to Home


© Florian Overkamp 2025 | Just some personal ramblings. | Socials: Mastodon LinkedIn