Skip to content
MCU Atlas

PicoSynth: polyphonic wavetable synth on Raspberry Pi Pico 2

A 64-voice, 16-channel multi-timbral wavetable synthesizer for the RP2350 Pico 2 with I2S or USB audio.

Difficulty:AdvancedCost:Under $15Source available

Key Facts

  • Chip: RP2350 (Pico 2)
  • Voices: 64, 16-channel multi-timbral
  • Audio: 16-bit stereo 48 kHz I2S or USB
  • Status: work in progress

About This Project

PicoSynth is a work-in-progress polyphonic synthesizer for the Raspberry Pi Pico 2. It offers 64 voices, 16 MIDI channels, three DCOs per voice (two tunable plus a sub), a resonant state-variable filter, ADSR envelopes and LFOs, with 16-bit stereo audio at 48 kHz over I2S or USB. A rough General MIDI preset bank is included. Aimed at builders who want a serious synth engine on a $5 board.

Source & Attribution

Source: GitHub
License: unknown
Last verified: 10/16/2026
PicoSynth: polyphonic wavetable synth on Raspberry Pi Pico 2

Illustration

How to Build It
PicoSynth is a work-in-progress wavetable synthesizer for the Raspberry Pi Pico 2. It has 64 voices across 16 MIDI channels and outputs 16-bit stereo at 48kHz over I2S or as a USB audio device, played over serial MIDI or USB.

Parts Needed

  • Raspberry Pi Pico 2 (RP2350; the RP2040 is no longer supported)
  • I2S DAC, e.g. Pimoroni Pico Audio Pack (or none, if using USB audio)
  • MIDI source (USB host or 5-pin serial MIDI circuit on UART1, pins 4/5)
  • Computer with the Pico SDK toolchain

Steps

  1. 1

    Pick your audio output

    Leave CONFIG_AUDIO_USB at 0 in CMakeLists.txt for I2S output to the Pimoroni Audio Pack, or set it to 1 to make the Pico a USB audio device.

  2. 2

    Wire MIDI (optional)

    For serial MIDI, connect a standard opto-isolated MIDI input to UART1 on pins 4 and 5. USB MIDI needs no extra hardware.

  3. 3

    Build

    With the Pico SDK installed, run CMake and make. Presets are generated at build time, so you only need the SDK toolchain.

  4. 4

    Flash

    Hold BOOTSEL, plug in the Pico 2, and copy the UF2 onto it.

  5. 5

    Play

    Send MIDI notes and program changes from a keyboard or DAW. It's multi-timbral, so each MIDI channel can play a different patch.

  6. 6

    Tips

    It's still in progress, so expect changes. The utils folder has a clangd helper for code navigation.

Parts List (BOM)
Parts list inferred by MCU Atlas — check the original
inferred
PartQtyRoleEst. PriceBuy
1main board$5–$7View
Or use USB audio
1DAC$4–$8View
Estimated Total$5–$7 USD

Not included: 3D-printed case, wire, solder, USB cable

Download CSV

Related Projects

OpenMower: RTK GPS smart upgrade for cheap robot lawn mowers
Illustration
RASPBERRY PIPI-4Draft
Open-source upgrade that turns off-the-shelf robotic mowers into RTK GPS-accurate, map-based lawn robots.
Expert·$250+·Code
4 parts listed
PicoDVI: bit-banged DVI/HDMI video from a Raspberry Pi Pico
Illustration
RASPBERRY PI PICORP2040Draft
Generates DVI (HDMI) video signals from a bare RP2040 Pico using the PIO state machines – no video chip needed.
Advanced·Cost varies·Code
2 parts listed
Raspberry Pi Debug Probe: CMSIS-DAP for Pico and ARM
Illustration
RASPBERRY PI PICORP2040Draft
Official RP2040 firmware that turns a Pico (or the Debug Probe product) into a CMSIS-DAP SWD debugger.
Beginner·Under $15·Code
2 parts listed