Skip to content

USB sound card for Raspberry Pi Pico based on TinyUSB, with support for high-resolution audio and I2S MCLK output.

License

Notifications You must be signed in to change notification settings

sctanf/picoamp-2

 
 

Repository files navigation

firmware presets

You can find different presets under releases.

picoamp 2

firmware adding dsp to pico_usb_i2s_speaker

more stable than the original picoamp firmware :D

this tries to target lower latency, and adds limited dsp (biquads)

supports 2ch 16/24/32bit 48khz, although internally there is only up to 28 bits of dynamic range, this is probably good enough

created for a project to power Valve Index speakers with a Pico/RP2040 and I2S amplifers (MAX98357/MAX98360), see https://github.com/sctanf/Bigscreen-Beyond-Valve-Index-Strap-Adapter/ and https://github.com/sctanf/picoamp-PCB

compiling

please use https://github.com/sctanf/tinyusb/tree/rp2040-fixes or tinyusb 0.17.0

hardware

I linked above for the companion boards that will work with picoamp firmware, but you can also build it out of module parts.

if you do make this with individual modules, you might need to remove the passives that are on the amplifier module's output, the MAX98357 does not require these and at least for my modules they were destroying the audio quality!

Default pinning

name pin
DATA GPIO18
LRCLK GPIO17
BCLK GPIO16

wiring diagram for breakout boards

wiring diagram for breakout boards

tuning

It's possible to use any set of filters you want, these can be generated by Room EQ Wizard.

based off pico_usb_i2s_speaker

Original README:

pico_usb_i2s_speaker

Raspberry Pi Picoとtinyusbを使ったマスタークロック付きのi2sを出力するusbスピーカーです。

build

vscodeの拡張機能を使う場合

git clone https://github.com/BambooMaster/pico_usb_i2s_speaker.git
cd pico_usb_i2s_speaker
git submodule update --init

を実行した後、vscodeの拡張機能(Raspberry Pi Pico)でインポートし、ビルドしてください。

vscodeの拡張機能を使わない場合

git clone https://github.com/BambooMaster/pico_usb_i2s_speaker.git
cd pico_usb_i2s_speaker
git submodule update --init
mkdir build && cd build
cmke .. && make -j4

i2s

pico-i2s-pioを使っています。RP2040/RP2350のシステムクロックをMCLKの整数倍に設定し、pioのフラクショナル分周を使わないlowジッタモードを搭載しています。

デフォルト

name pin
DATA GPIO18
LRCLK GPIO20
BCLK GPIO21
MCLK GPIO22

対応機種

Windows11で動作確認をしています。Android (Pixel6a Android14)ではフィードバックが動作しませんでした。

About

USB sound card for Raspberry Pi Pico based on TinyUSB, with support for high-resolution audio and I2S MCLK output.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 87.7%
  • CMake 12.3%