IEEE 802.15.4 is a technical standard defining the Physical and Media Access Control layers for Low-Rate Wireless Personal Area Networks. It enables low-power, low-data-rate wireless connectivity for IoT, smart home, and industrial sensors, allowing devices to operate on batteries for years. Here in Europe it uses the Primary Sub-GHz Band: 868.0–868.6 MHz.

It is used e.g. by the smart home protocols Thread/Matter and Zigbee.

These smart home protocols are suited to control audio, but they are too slow to transmit the audio data directly. So I was wondering if we can use the IEEE 802.15.4 layer directly to transmit audio.

Some ESP32 microcontrollers variants (e.g. the C6) provide access to IEEE 802.15.4. Therefore I published an IEEE 802.15.4 Arduino Library for sending and receiving data in an easy way e.g. using Arduino Streams.

There, I was measuring a maximum thruput of 23100 bytes/second. This is 185 kbps which gives quite a few options for audio:

For music under 185 kbps:

  • Opus 128–160 kbps
  • AAC 128–160 kbps
  • ADPCM 44.1k mono
  • ADPCM 22.05k stereo

For speech:

  • Opus 48–96 kbps
  • AAC 96 kbps
  • 16 kHz mono PCM 16 bits
  • 8 kHz mono PCM 8 bits
  • Telephony protocols (GSM, G.711, G.722, G.726, G.729)

Please note that this increases the power consumption. You must also ensure that no other devices access the same channel, as it will be fully occupied by the audio data.

Another interesting use would be to implement your custom remote control protocols: So e.g. you can use this library as transmission medium for the  Spectrum Satellite protocol..

 


0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *