Skip to the content
PCBKitNew board
2 layers96 × 96 mmController, the printed circuit board in 3D

Audio synthesizer running on a Raspberyy Pi Pico device.

Size
96 × 96 mm
Copper layers
2
Thickness
1.6 mm
Parts
40
Nets
28
Pads
144
Tracks, vias
247, 15
Pours
2
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
9 Jul 2023
Updated
20 Sep 2024

Overview

Controller is an open-source printed circuit board by benmcevoy, from the benmcevoy/pico-synth repository on GitHub. It is a 2-layer board of 96 × 96 mm with 40 parts on 28 nets, routed with 247 tracks and 15 vias.

It is built around the MCP3008-I/P. Its parts include 14 resistors, 4 diodes, 4 switches, 3 capacitors and 2 ICs.

Main components

1

README

README.md

Raspberry Pi Pico "pico-synth"

Audio synthesizer running on a Raspberyy Pi Pico device.

Currently monophonic with TWO voices.

You WILL need to make a little circuit to drop the PWM voltage from 3.3 volts to about 1.1 volts and filter low/high noise out. Or just risk it and plug in a speaker :)

Here is an example circuit: https://learn.adafruit.com/adding-basic-audio-ouput-to-raspberry-pi-zero/pi-zero-pwm-audio#low-pass-filter-wiring-1960165

I use qjackctl on linux to connect a midi keyboard via my PC. I have not tested it directly with a MIDI controller directly attached (no PC involved), I assume it will work :)

You can find a synth.uf2 file in the build folder which can be copied onto the Pico (hold bootsel while powering on connecting to a PC).

This is about the third C project I have written in the last thirty years, so you know... all bugs are my own.

Pico-SDK

For PIO USB needs to be on develop, at milestone 2.1 release should be back on master.

TinyUSB

pico-sdk ships an older version of tinyusb, so i have pulled latest of that module in order to get the newer usb host code.

Must be >= v0.17

text
# update sdk
cd pico-sdk
git submodule update --init --recursive

# update tiny-usb
cd pico-sdk/lib/tinyusb
git pull origin master

Run to get the dependances for pio usb.

text
python3 tools/get_deps.py rp2040

midi host code from: https://github.com/rppicomidi/usb_midi_host

Parts

40
QtyValueFootprintReferences
8100KResistor_SMD:R_0805_2012MetricR0, R1, R2, R3, R4, R5, R6, R7
8R_PotPotentiometer_THT:Potentiometer_Bourns_PTV09A-1_Single_VerticalRV0, RV1, RV2, RV3, RV4, RV5, RV6, RV7
41KResistor_SMD:R_0805_2012MetricR11, R13, R15, R17
4LEDLED_THT:LED_D3.0mm_FlatTopD1, D3, D5, D7
4MountingHoleMountingHole:MountingHole_2.7mm_M2.5H1, H2, H3, H4
4SW_SPSTButton_Switch_THT:SW_PUSH-12mmSW1, SW2, SW4, SW5
3100nfCapacitor_SMD:C_0805_2012MetricC1, C2, C3
2100kResistor_SMD:R_0805_2012MetricR12, R22
1Conn_02x04_Top_BottomConnector_IDC:IDC-Header_2x04_P2.54mm_Vertical_SMDJ1
1MCP23S08T-E/SOCustom:SOIC18-W_MC_MCHU1
1MCP3008Package_SO:SOIC-16_3.9x9.9mm_P1.27mmU2

Questions

How big is the Controller PCB?

It measures 96 × 96 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Controller use?

40 parts, built around the MCP3008-I/P. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Controller KiCad files?

From the benmcevoy/pico-synth repository on GitHub, at the commit this page was made from: the board is kicad/controller/controller.kicad_pcb and its schematic kicad/amp/amp.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Controller design in my own project?

Its repository states no licence, so its author keeps all rights: ask benmcevoy before reusing the design.

More from benmcevoy/pico-synth

2
  • 2 layers96 × 96 mmSynth, the printed circuit board in 3D

    Synth

    benmcevoy/pico-synth

    Audio synthesizer running on a Raspberyy Pi Pico device.

    25 parts1
  • 2 layers71.9 × 39.7 mmAmp, the printed circuit board in 3D

    Amp

    benmcevoy/pico-synth

    Audio synthesizer running on a Raspberyy Pi Pico device.

    13 parts1

Similar boards

  • 2 layers380 × 148.5 mmKeyboard, the printed circuit board in 3D

    Keyboard

    InkboxSoftware/all-screen-keyboard

    The first open source all-screen keyboard

    500 parts241MIT
  • 2 layers100 × 100 mmRecurBOY, the printed circuit board in 3D

    RecurBOY

    cyberboy666/recurBOY

    a rpi0 video-instrument – created in collaboration with Guergana Tzatchkova

    35 parts122GPL-3.0
  • 4 layers43.2 × 43.2 mmPogobot head, the printed circuit board in 3D

    Pogobot head

    nekonaute/pogobot

    Pogobot is an open-source open-hardware robotic platform for swarm robotics

    140 parts21
  • 2 layers100 × 100 mmI n c u r, the printed circuit board in 3D

    I n c u r

    cyberboy666/i_n_c_u_r

    a r_e_c_u_r video sampler extension circuit - adding knobs, cv and serial midi control

    38 parts16GPL-3.0
  • 4 layers101.6 × 141.7 mmPiPtr, the printed circuit board in 3D

    PiPtr

    jmlzone/PiPtr

    Repeater controller

    388 parts8
  • 2 layers111.4 × 40.9 mmRainworks Electrical, the printed circuit board in 3D

    Rainworks Electrical

    IceyPlazza/EWB-EPA-Rainworks

    26-27 EWB EPA Rainworks project; We're putting a sensor box in the ground!

    29 parts7
  • 2 layers150 × 69 mmProgramming jig r1.0, the printed circuit board in 3D

    Programming jig r1.0

    butterstick-fpga/programming-jig

    A FT232H based production programming jig for the ButterStick

    50 parts6
  • 2 layers56 × 65 mmDataHat, the printed circuit board in 3D

    DataHat

    challengerjdb/RaspberryPiHat-datalogger

    My name is Jacob Bendell, and I’m a student at the University of Pennsylvania studying Electrical Engineering. I took this past year off from school to avoid online classes and intern at Amped Innovation, a start-up in…

    22 parts6