

The Adafruit Audio BFF (Part ID: 5769) is a versatile audio add-on board designed to enhance microcontroller projects with high-quality audio playback and recording capabilities. This compact board supports various audio formats and is ideal for applications requiring sound effects, music playback, or audio data processing. Its small form factor and compatibility with popular microcontrollers make it a go-to solution for audio-based projects.








The Adafruit Audio BFF is designed to deliver reliable audio performance while being easy to integrate into microcontroller-based systems. Below are its key technical details:
The Adafruit Audio BFF features a straightforward pinout for easy integration. Below is the pin configuration:
| Pin Name | Type | Description |
|---|---|---|
| VIN | Power Input | Power supply input (3.3V or 5V). Connect to the microcontroller's power source. |
| GND | Ground | Ground connection. |
| SDA | Data Line | I2C data line for communication with the microcontroller. |
| SCL | Clock Line | I2C clock line for communication with the microcontroller. |
| LRCLK | Audio Control | Left/Right clock for I2S audio communication. |
| BCLK | Audio Control | Bit clock for I2S audio communication. |
| DIN | Audio Data | Data input for I2S audio communication. |
| MIC+ | Microphone In | Positive terminal for microphone input. |
| MIC- | Microphone In | Negative terminal for microphone input. |
The Adafruit Audio BFF is designed to work seamlessly with microcontrollers such as the Arduino UNO, ESP32, and Raspberry Pi Pico. Below are the steps to use the component in a circuit:
VIN pin to the 3.3V or 5V power supply of your microcontroller. Connect the GND pin to the ground.LRCLK, BCLK, and DIN pins to the corresponding I2S pins on your microcontroller.MIC+ and MIC- pins.To use the Adafruit Audio BFF with an Arduino UNO, you can use the I2S library. Below is an example code snippet for audio playback:
#include <I2S.h> // Include the I2S library for audio communication
void setup() {
// Initialize serial communication for debugging
Serial.begin(9600);
// Initialize I2S for audio playback
if (!I2S.begin(I2S_PHILIPS_MODE, 44100, 16)) {
Serial.println("Failed to initialize I2S!");
while (1); // Halt if initialization fails
}
Serial.println("I2S initialized successfully!");
}
void loop() {
// Example: Send a simple sine wave to the audio output
for (int i = 0; i < 360; i++) {
float sample = sin(i * PI / 180); // Generate sine wave sample
int16_t audioSample = (int16_t)(sample * 32767); // Scale to 16-bit
I2S.write(audioSample); // Send sample to I2S
}
}
No Audio Output:
LRCLK, BCLK, and DIN pins are correctly connected to the microcontroller.Distorted Audio:
Microphone Not Working:
MIC+ and MIC- pins.I2S Initialization Fails:
Q: Can I use the Adafruit Audio BFF with a Raspberry Pi?
A: Yes, the Adafruit Audio BFF is compatible with the Raspberry Pi. You can use the I2S interface to communicate with the board.
Q: What is the maximum audio sampling rate supported?
A: The maximum sampling rate depends on the microcontroller and its I2S capabilities. Most microcontrollers support up to 44.1kHz or higher.
Q: Can I use this board for stereo recording?
A: The Adafruit Audio BFF supports mono microphone input. For stereo recording, additional hardware may be required.
Q: Is the board compatible with 5V logic?
A: Yes, the board is compatible with both 3.3V and 5V logic levels, making it versatile for various microcontrollers.
This concludes the documentation for the Adafruit Audio BFF. For further assistance, refer to the official Adafruit guide or community forums.