Skip to main content
Version: 2.8

Audio Module Configuration

The audio module config options are: Codec2 Enabled, PTT GPIOGPIO (General Purpose Input/Output). An uncommitted digital signal pin on a device., Audio Bitrate/Codec Mode, I2S Word Select, I2S Data IN, I2S Data OUT and I2S Clock. Audio Module config uses an admin message sending a ConfigModule.Audio protobufProtobuf (Protocol Buffers). A method developed by Google for serializing structured data, used in Meshtastic for efficient communication protocol between devices..

With this experimental module, you can add a digital I2S microphone and speaker to any ESP32ESP32A chipset of microcontroller made/designed by Espressif, used by a number of devices. Higher power usage than nRF52, but often cheaper and supports Wi-Fi if desired. device that has a SX128x radio and operates on the 2.4 GHz ISM Band. The Sub-1GHz bands are not wide enough to support continuous audio packets on the mesh, even in the Short and Fast modes. Right now, the only devices supported are the LilyGo TLora 2.1-1.8 and TLora T3S3 boards. The module has been designed for channels with 2kbit / sec of bandwidth or greater.

Required additional hardware:

  • Max98357 - I2S 3W Class D Amplifier
  • MSM261S4030H0 - I2S MEMS Low Noise Single Microphone

Audio Module Config Values

Codec2 Enabled

Enables the audio module.

PTT GPIO

The GPIOGPIO (General Purpose Input/Output). An uncommitted digital signal pin on a device. to use for the Push-To-Talk button. The default is GPIOGPIO (General Purpose Input/Output). An uncommitted digital signal pin on a device. 39 on the ESP32ESP32A chipset of microcontroller made/designed by Espressif, used by a number of devices. Higher power usage than nRF52, but often cheaper and supports Wi-Fi if desired..

Audio Bitrate/Codec Mode

The bitrate to use for audio. The default is CODEC2_700B. The available options are:

  • CODEC2_DEFAULT
  • CODEC2_3200
  • CODEC2_2400
  • CODEC2_1600
  • CODEC2_1400
  • CODEC2_1300
  • CODEC2_1200
  • CODEC2_700B
  • CODEC2_700

I2S Word Select

The GPIOGPIO (General Purpose Input/Output). An uncommitted digital signal pin on a device. to use for the WS signal in the I2S interface.

I2S Data IN

The GPIOGPIO (General Purpose Input/Output). An uncommitted digital signal pin on a device. to use for the SD signal in the I2S interface.

I2S Data OUT

The GPIOGPIO (General Purpose Input/Output). An uncommitted digital signal pin on a device. to use for the DIN signal in the I2S interface.

I2S Clock

The GPIOGPIO (General Purpose Input/Output). An uncommitted digital signal pin on a device. to use for the SCK signal in the I2S interface.

What is this?

These Pins comprise an I2S digital audio interface. Meshtastic uses it in monoaural mode. The software will use the logical 'LEFT' Stereo channel for the microphone and the logical 'RIGHT' Stereo channel for the speaker, so configure your breakouts accordingly. Audio is Half-Duplex, so we can re-use part of the pins for a bi-directional configuration. There's no default pin assignment, setting these is mandatory.

Audio Module Config Client Availability

Apple

info

Audio module config is not available on iOS, iPadOS and macOS.

warning

GPIOGPIO (General Purpose Input/Output). An uncommitted digital signal pin on a device. access is fundamentally dangerous because invalid options can physically damage or destroy your hardware. Ensure that you fully understand the schematic for your particular device before trying this as we do not offer a warranty. Use at your own risk.

This module requires attaching a peripheral accessory to your device. It will not work without one.