Table of Contents

6.4.7 Audio: I2S

BLOX can be used to to play audio in more complicated projects via an external I2S Audio decoder module.

I2S (Inter-IC Sound) is a serial bus interface standard used for connecting digital audio devices. It is designed to transmit high-quality audio data between devices, such as digital-to-analog converters (DACs), and microcontrollers.


6.4.7.1 Jumpers on the PCM5102a Module

Use a soldering iron to close the relevant solder jumpers on your module:

NameDescriptionSetting
SCKJumper to connect SCK to GNDCLOSED
HNameDescriptionLOWHIGHJumper must be set to
H1LFLTFilter SelectNormal Latency Low LatencyL
H2LDEMPDe-emphasus controlOFF ONL
H3LXMSTSoft Mute ControlMutedUnmuted H
H4LFMTAudio Format SelectionI2S Left JustifiedL

6.4.7.2 Wiring PCM5102a Module

Note: You can use any of the available GPIO pins to connect the module. Just be sure to initialize the firmware with the correct assignments.


6.4.7.3 Initialize PCM5102a Module

Once Set up, wired and initialized - you can proceed to use the module to play sounds in your firmware


6.4.7.4 I2S Audio: Play audio files from SD Card

Place an audio file on the SD Card, and let your firmware play it

This can be used for audible notifications, or even to play music, useful for anything from halloween projects to building your own jukebox

Tip: Not shown, but there are Play Next buttons etc as well

You can also play the NEXT/PREV or RANDOM file (useful for jukebox like projects, random noises for halloween props etc)


6.4.7.5 I2S Audio: Play audio via stream URL

Enable WIFI and let your firmware play a streamable audio link for you. Could make for a nice jukebox/web radio project


6.4.7.6 I2S Audio: Use text to speech

Enable WIFI, and let your firmware call the Google Text to Speech API to create verbal notifications


6.4.7.7 I2S Audio: Volume and Tone

BLOX provides the ability to set the volume and tone of the audio as well: