I2S Audio Output Board for QT Py and XIAO
David Johnson-Davies' expansion board allows for easy audio playback on QT Py and XIAO dev boards.
The Adafruit QT Py and Seeed Studio XIAO line of development boards provide a number of computing options in a very small, and largely pin-compatible, form factor. Between these two boards you interface with RP2040, nRF52840, ESP32, and SAM D21 processing units, for a variety of memory and wireless communication configurations. If you’d like to use one of these for audio playback and/or streaming, David Johnson-Davies has created a convenient way to do so with the I2S QT Py speaker board.
As outlined in his recent Technoblogy article, this PCB is a rather straightforward design consisting of headers for the QT Py/XIAO and dual MAX98357A audio amplifiers. Communication between the dev board and the amplifiers is accomplished via I2S, and an array of pin headers let the user select the audio output level in 3dB steps.
Screw terminals along with a four-pin JST-style quick connector socket are included for speaker connections. In addition to audio outputs, the board breaks out power and GPIO pins on the opposite side, allowing for a wide range of expansion options.
The unit, depending on the particular dev board implemented, would be appropriate for use as a Bluetooth speaker, internet radio player, or MP3 player. With the right add-on modules, one might also see it used as the base of a connected clock radio, or any number of other IoT devices. It has been tested with the Adafruit QT Py ESP32 Pico, QT Py ESP32-S2, and QT Py ESP32-C3, and should work with other QT Py/XIAO boards as well.