Pico Audio Pack (Line-Out and Headphone Amp)

by Pimoroni

Make some noise with this high quality stereo I2S audio add-on board for your Raspberry Pi Pico, with amplified headphone AND unamplified line level outputs!

Pico Audio Pack uses its PCM5100A DAC to output up to 32-bit, 384KHz stereo audio along its 3.5mm line out connector, ready for plugging into an external amp or powered speakers. If you're after something a little louder for your ears, it can also pump out amplified stereo audio from its 3.5mm headphone jack.

You could generate interesting noises with code on your Pico to output into a lo-fi synth, hook your Pico up to another device and use it as a custom USB sound card, or use it to give your Pico project the ability to play sound effects or short audio clips.

A Raspberry Pi Pico is not included - click here if you'd like to buy one!

Your Pico will need to have pin headers soldered to it (with the long pins pointing downwards) to attach to our add-on boards.

Features

  • PCM5100A stereo DAC (datasheet)
  • PAM8908JER stereo headphone amp (datasheet)
  • 3.5mm stereo headphone jack connector
  • 3.5mm stereo line out jack connector
  • Switch to adjust headphone amp gain (low / high)
  • Pre-soldered female headers for attaching to Pico
  • Compatible with Raspberry Pi Pico
  • Fully assembled
  • No soldering required (as long as your Pico has header pins attached).
  • Dimensions: approx 53mm x 29mm x 11mm (L x W x H, including headers and audio jacks)
  • Schematic
  • C/C++ examples

The labels on the underside of Pico Audio will show you which way round to plug it into your Pico - just match up the USB port with the markings on the board.

Pinout

Pico Audio Pack provides a high quality stereo DAC which uses I2S_DATA, I2S_BCK, and I2S_LRCK to receive audio data. 

We also offer a MUTE pin which can be used to silence the output.

Software

You can use Pico Audio Pack with any Pico/RP2040 programming method that supports I2S audio.

If you want to get your Pico making some noise super quick, check out this fine CircuitPython tutorial which includes code for playing sine waves and wav and mp3 files. To get the example code working with Pico Audio Pack, you'll just need to point it at the correct pins, like this:

audio = audiobusio.I2SOut(board.GP10, board.GP11, board.GP9)

Alternatively, if you're using MicroPython on your Pico you could try these MicroPython I2S audio examples. You'll will need to modify the code to specify the correct pins for Audio Pack.

Check out the links below for more examples and community projects:

  • C/C++ examples
  • Raspberry Pi C/C++ examples (usb_sound_card and sine_wave_i2s - you'll need to #define PICO_AUDIO_I2S_DATA_PIN and PICO_AUDIO_I2S_CLOCK_PIN_BASE to 9 and 10)
  • Brown Noise Generator for Pimoroni Pico Audio in Rust
  • About Raspberry Pi Pico

    Raspberry Pi Pico is a flexible, low cost microcontroller development board from the folks at Raspberry Pi, based on their very own chip - the RP2040. It's easily programmable over USB with C/C++ or MicroPython, and ideal for using in all sorts of physical computing projects, devices and inventions - we're so excited to see what you make with it!

    We've called our Pico-sized add-ons packs, as they're designed to attach to the back of your Pico as if it were wearing a very stylish backpack (or a miniature jet pack, if you prefer). We've also got Pico bases (larger add-on boards with a space to mount your Pico on top) and some other boards that let you do interesting hackerly things like using multiple packs at once - click here to view them all!