# pico_test_synth

Simple board to help make synths with Raspberry Pi Pico and PCM5102 I2S DAC

- **Seller:** [todbot synth toys](https://lectronz.com/stores/todbot), Pasadena, California, United States
- **Price:** $15.00 (USD, before shipping and taxes)
- **Availability:** In stock
- **Categories:** Synth, MIDI, Raspberry Pi
- **Product page:** https://lectronz.com/products/pico_test_synth

## Links

- [Documentation](https://github.com/todbot/pico_test_synth)
- [Code](https://github.com/todbot/pico_test_synth)
- [Design Files](https://github.com/todbot/pico_test_synth)

## Images

![pico_test_synth](https://lectronz-images.b-cdn.net/lectronz/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NTAzMjMsInB1ciI6ImJsb2JfaWQifX0=--5d078e685c2b733346794c9199f4f613d3e9699e/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOls5NjAsNjQwXSwic2F2ZXIiOnsic3RyaXAiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--970c165836a83091725a1a0fd4f37ce9408da1bf/2025-05-15T18-21-46.402Z-pico_test_synth2_case1_web.jpg)
![pico_test_synth](https://lectronz-images.b-cdn.net/lectronz/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NTAzMjQsInB1ciI6ImJsb2JfaWQifX0=--fb48bd3af29566da2617af550bdd5a30e3d6a15f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOls5NjAsNjQwXSwic2F2ZXIiOnsic3RyaXAiOnRydWV9fSwicHVyIjoidmFyaWF0aW9uIn19--970c165836a83091725a1a0fd4f37ce9408da1bf/2025-05-15T18-21-46.402Z-pico_test_synth2_photo1.jpg)
![pico_test_synth](https://lectronz-images.b-cdn.net/lectronz/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NTAzMjUsInB1ciI6ImJsb2JfaWQifX0=--597839d518e49041c45065e075c14ff262dff296/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbOTYwLDY0MF0sInNhdmVyIjp7InN0cmlwIjp0cnVlfX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--4e27bac8cdfb621fb828f6a3a5982fe1a423b516/2023-08-18T04-51-58.123Z-IMG_2496..jpeg)
![pico_test_synth](https://lectronz-images.b-cdn.net/lectronz/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NTAzMjYsInB1ciI6ImJsb2JfaWQifX0=--cd7bedf5511b5940d01038fdd49fb8be79bda72b/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbOTYwLDY0MF0sInNhdmVyIjp7InN0cmlwIjp0cnVlfX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--4e27bac8cdfb621fb828f6a3a5982fe1a423b516/2023-08-18T04-51-58.123Z-IMG_2497..jpeg)

## Description

#### What is it?

A simple [Raspberry Pi Pico RP2040 / Pico 2 RP2350](https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html)-based
synth to experiment with [`synthio`](https://todbot.github.io/CircuitPython_Synthio_Tutorial/).

This is a partially-assembled PCB with the features:

* [PCM5102 I2S DAC](https://todbot.com/blog/2023/05/16/cheap-stereo-line-out-i2s-dac-for-circuitpython-arduino-synths/) footprint for high-quality stereo audio out
* Optoisolated MIDI Input via [MIDI TRS-A 3.5mm jack](https://www.perfectcircuit.com/make-noise-0-coast-midi-cable.html)
* MIDI output via MIDI TRS-A 3.5mm jack
* Two pots for controlling parameters
* One switch for controlling parameters
* 16 capsense touch buttons for synth triggering
* USB MIDI in/out of course too

The completely assembled SMD sections of the board are:

* TRS MIDI input circuit
* TRS MIDI output circuit
* Capsense touch circuit

The parts you need to add (and solder down) are:

* [Raspberry Pi Pico](https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html) **(NOTE: this is the "pico_test_synth2" board; it works with Pico1 & Pico2)**
* [PCM5102 I2S Stereo DAC](https://amzn.to/3P4tWuQ) ([more info here](https://todbot.com/blog/2023/05/16/cheap-stereo-line-out-i2s-dac-for-circuitpython-arduino-synths/))
* 0.91" [I2C OLED display](https://amzn.to/3KDmy73) (w/ pins in Gnd/Vcc/SCL/SDA order)
* Two 10k potentiometers, 9mm  ([example pots](https://amzn.to/3DYYJm5) and [knobs](https://amzn.to/45eLlGO))
* One tact switch, 6mm ([example switch](https://amzn.to/47nJaSN))
* Headers and sockets to mount Pico & display, to taste
  * [This male & female header kit looks pretty good](https://amzn.to/3qqbtiO),
    as I prefer to put female headers on the PCB and male headers on the QTPy and OLED display.
    You may need to trim down your headers to be the right size
* Feet. I like M2.5 nylon standoffs  (e.g. [M2.5 standoff asst kit](https://amzn.to/45qVjFb))
  but feel free to do what you like, including [printing an enclosure](https://www.printables.com/refresh?redirectUrl=%2Fmodel%2F784414-case-for-pico_test_synth-circuitpython-synthesizer)!

Differences between `pico_test_synth2` & `pico_test_synth`:

- Both use the same components
- Both run the same code 
- Both fit in the same enclosure
- `pico_test_synth2` drawn in Kicad, `pico_test_synth` drawn in Eagle
- `pico_test_synth2` has square buttons, `pico_test_synth` has round buttons
- `pico_test_synth2` works with Pico2 and Pico1
- `pico_test_synth` can only work with Pico1



#### Why did you make it?

I wanted a quick and easy platform to test out CircuitPython's synthio and also play with Mozzi.

Programs written for [`qtpy_synth`](https://github.com/todbot/qtpy_synth/)
will work with this board too with minimal changes.

Some programs written specifically for this board:

* [TBish](https://github.com/todbot/pico_test_synth/tree/main/circuitpython/tbish/) - a TB303-like synth demo ([video demo](https://www.youtube.com/watch?v=1AflpXbEIno))
* [monosynth1](https://github.com/todbot/pico_test_synth/tree/main/arduino/monosynth1) - a full Moog-like monosynth written in Arduino & Mozzi 
* [hwtest](https://github.com/todbot/pico_test_synth/tree/main/circuitpython/hwtest/code.py) - test out the hardware with a simple synth ([video demo](https://www.youtube.com/watch?v=9U2Dn7ckdbs))

More code specific for this board coming!

#### What makes it special?

There aren't that many Pico-based boards that have an I2S audio output, touch inputs and a display.  This board does that.
