• sales

    +86-0755-88291180

Raspberry Pi Pico-Audio User Guide

Overview

The Pico-Audio is an audio expansion module designed for Raspberry Pi Pico, which incorporates PCM5101A low power stereo decoder, and uses I2S bus for transmitting the audio signals. It supports a wide range of audio sampling rates, allows headphone and speaker signal output at the same time.

Features

  • Standard Raspberry Pi Pico header supports Raspberry Pi Pico series
  • Standard 3.5mm audio jack, for connecting an external headphone
  • Dual channels speaker headers, for direct driving speakers
  • 8~384000Hz audio sampling rate
  • Stereo sound effect output
  • Using 3-wire I2S, effectively reducing EMI

Specification

  • operating voltage: 5V
  • Audio Decoder: PCM5101A
  • DAC SNR: 106 dB
  • Logic level: 3.3V
  • Audio bus: I2S
  • Speaker driving: 2.6W/channel (4ohm BTL)


Dimension


I2S

The most important thing to note about the I2S protocol is that it takes the second clock after the change of the sampling pulse as the first bit of data, and the first clock after the change of the following sampling pulse as the last bit of data。
LRCK: Audio data word clock input, when it is low level for the left channel data acquisition, when it is high level for the right channel data acquisition.
BCK: Audio data bit clock input, when it produces a rise edge jump to collect data, the frequency must be 32 or 48 or 64 times the frequency of LRCK.
DATA: Audio data input, note that the data is signed data, data transmission can choose 16-bit, 24-bit, 32-bit data, high in the front, low in the back.

Hardware connection

Please take care of the direction when connect the board to Pico according to the USB port.
You can also wire it according to the table

PCM5101APicoDescription
VSYSVSYSPower input(5V)
3V3(OUT)3V3(OUT)Logic level(3.3V)
GNDGNDGround
DINGPIO26Audio data input
BCkGPIO27Audio data bit clock input
LRCKGPIO28Audio data word clock input


600px

Download examples

Open a terminal of Raspberry Pi and run the following commands:

sudo apt-get install p7zip-full
cd ~
sudo wget  https://www.waveshare.com/w/upload/7/7c/Pico_Audio.7z 
7z x Pico_Audio.7z -o./Pico-Audio
cd ~/Pico_Audio

There are two folders in the Pico_Audio directory, The Pico_Audio includes the examples of Audio output example. In the usb_sound_card folder, the sound driver file (.uf2) is saved, which you should copy to the Pico.

cp usb_sound_card.uf2  /media/pi/RPI-RP2/

Run examples

C codes

  • Go into the Pico-Audio directory and build the codes.
cd ~/Pico_Audio/Pico-Audio/

Create and go into the build folder, add the path of SDK:
../../pico-sdk is the default path of SDK, you need to modify it if the actual path is different in your pi.
We have created the build folder in example, you can just enter it.

cd build
export PICO_SDK_PATH=../../pico-sdk

Run cmake to generate Makefile file

cmake ..

Run make command to build the codes

make -j9

After building, the uf2 file is generated.
Press and hold the key on the Pico board to connect the Pico to the USB port of the computer through the Micro USB cable, then release the key. After plugging in, the computer will automatically recognize a removable disk (RPI-RP2). Copy the audio_firmware.uf2 file in the build folder to the removable disk (RPI-RP2) recognized.

cp audio_firmware.uf2  /media/pi/RPI-RP2/
TAG: Raspberry Pi Pico 7inch DVI LCD PC Secondary Screen UPS HAT D Raspberry Pi LCD Display Screen 1.3inch LCD with Game Button AND Audio Buzzer For Zero 2W / 3B / 4B / PI5 / RP2040-PiZero RP2040 ESP32 S3 Spotpear Raspberry Pi 5 Argon-NEO-M.2-NVME-PCIE-Expansion-Board Only For Argon NEO 5 Case (Not include) Raspberry Pi 3 LCD HAT Raspberry Pi 5 PD Activation Module 3D Display Transparent Screen RTL8723 WIFI SDIO Expansion Module Board For Luckfox Pico Mini B /Luckfox Pico Plus /Luckfox Pico Pro /Luckfox Pico Max X1003 Raspberry Pi 5 PCIe to M.2 NVMe SSD MINI Adapter Board HAT Pi5 2242 2230 Raspberry Pi AI Camera Official Original 12MP IMX500 Intelligent visual Sensor On-Board RP2040 SpotPear ESP32-P4 Module Core Board PSRAM 32MB Flash 16MB N16R32 Onboard ESP32-C6 UNO Minima RA4M1 ZERO Tiny SuperMini R7FA4M1 Board Compatible With R4 For Arduino Raspberry Pi Pico 2 RP2350-Matrix Development Board 8×8 RGB LED Matrix QMI8658 6-Axis Sensor RISC-V Raspberry Pi Pico 10.1inch DVI LCD