Skip to the content
2 layers117.2 × 110 mmHardware design, the printed circuit board in 3D

Parrot is a 12hp Eurorack digital delay powered by a Raspberry Pi Pico microcontroller.

Size
117.2 × 110 mm
Copper layers
2
Thickness
1.6 mm
Parts
96
Nets
140
Pads
504
Tracks, vias
1,232, 79
Pours
1
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
28 Dec 2024
Updated
23 Feb 2025

Overview

Hardware design is an open-source printed circuit board by AudioMorphology, from the AudioMorphology/ParrotRev2 repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 117.2 × 110 mm with 96 parts on 140 nets, routed with 1,232 tracks and 79 vias.

It is built around the TL072CD, PCM1808PW and MC14532BD, with the L7805, MMBT3904 and DMG2305UX among its other parts. Its parts include 39 resistors, 17 capacitors, 15 connectors, 9 ICs and 5 switches. It belongs with the RP2040 boards of this library.

Main components

8

README

README.md

Parrot

Overview

Parrot is a 12hp Eurorack digital delay powered by a Raspberry Pi Pico microcontroller.

The objective is to provide a CD-Quality audio delay / reverb effect, with a reasonably low BOM count

It utilises an 8Mb x 8-Bit (64mBit) PSRAM Memory chip (the AP6404L), and the whole of this is treated as a 2Mb x 32-Bit audio buffer. This means that we can wrap the read and write pointers with a simple logical &.

2Mb x 32-Bit is 1Mb at 32-Bit Stereo. At a 48kHz sample rate, this gives a maximum delay time of 1,048,576 / 48,000 = 21.84 seconds

The ADC and DAC ICs communicate over the i2S protocol, which is handled by custom PIO functions.

They are actually 24-Bit devices with the data being transmitted left-justified in 32-Bit frames, so I am rightshifting to get 24-Bit Integers, then converting these to normalised floats in the range -1.0 to +1.0 then, after processing it does the same in reverse before sending the audio data out to the DAC.

Reading and writing to the PSRAM buffer is double-buffered using DMA calls from the I2S interface.

It uses two PIO State machines:

PIO0 for SPI PIO1 for I2S

The ADC and DAC utilises the low-cost and readily-available I2S modules, which have the advantages of already including various ancilliary components, which further reduces the component count and complexity.

NOTICE

This code incorporates and acknowledges the following:

rp2040-psram Copyright © 2023 Ian Scott

rp2040-psram is a header-only library, which implements the SPI protocol using the rp2040 PIO rather than the in-built SPI interface. This gives far better performance for PSRAM SPI peripherals

i2s Copyright © 2022 Daniel Collins

These functions implement the I2S protocol using the rp2040 PIO. and utilise interrupt-driven DMA double-buffering for Audio I/O.

Elements of hardware design Copyright © 2012 Emilie Gillet (emilie.o.gillet@gmail.com)

The input and output buffer circuitry was taken directly from Clouds: https://github.com/pichenettes/eurorack/tree/master/clouds/hardware_design/pcb

Parts

96
QtyValueFootprintReferences
164k7Resistor_SMD_AKL:R_0603_1608Metric_Pad1.05x0.95mm_HandSolderR23, R24, R25, R26, R27, R28, R29, R30, R31, R32, R33, R34, R35, R36, R37, R38
6100nCapacitor_SMD_AKL:C_0603_1608MetricC3, C5, C14, C15, C16, C17
65.6kResistor_SMD_AKL:R_0603_1608Metric_Pad1.05x0.95mm_HandSolderR6, R7, R8, R9, R10, R11
6ThonkiconnEurorack:ThonkiconnJ2, J3, J4, J5, J6, J7
410uCapacitor_SMD_AKL:CP_Elec_6.3x5.8C8, C9, C10, C11
41kResistor_SMD_AKL:R_0603_1608Metric_Pad1.05x0.95mm_HandSolderR16, R17, R39, R40
439kResistor_SMD_AKL:R_0603_1608Metric_Pad1.05x0.95mm_HandSolderR12, R13, R14, R15
4Conn_01x10_PinConnector_PinHeader_2.54mm:PinHeader_1x10_P2.54mm_VerticalJ9, J12, J14, J16
4Conn_01x10_SocketConnector_PinSocket_2.54mm:PinSocket_1x10_P2.54mm_VerticalJ10, J11, J13, J15
3B100KDSP_CodecBoards:Potentiometer_Alpha_RD901F-40-00D_Single_Vertical_CircularHolesRV2, RV3, RV4
2100kResistor_SMD_AKL:R_0603_1608Metric_Pad1.05x0.95mm_HandSolderR19, R42
210kResistor_SMD_AKL:R_0603_1608Metric_Pad1.05x0.95mm_HandSolderR18, R41
218pCapacitor_SMD_AKL:C_0603_1608MetricC12, C13
21N5819Diode_THT_AKL:D_DO-41_SOD81_P7.62mm_HorizontalD1, D2
2220pCapacitor_SMD_AKL:C_0603_1608MetricC6, C7
222kResistor_SMD_AKL:R_0603_1608Metric_Pad1.05x0.95mm_HandSolderR2, R3
23.3kResistor_SMD_AKL:R_0603_1608Metric_Pad1.05x0.95mm_HandSolderR4, R5
247uCapacitor_SMD_AKL:CP_Elec_6.3x5.8C1, C2
2MC14532BPackage_SO:SOIC-16_3.9x9.9mm_P1.27mmU8, U9
2MMBT3904Package_TO_SOT_SMD_AKL:SOT-23Q2, Q3
2SW_Rotary_1x8DSP_CodecBoards:ALPS Alpine 8-Way rotary switch SRBV SeriesSW1, SW5
2SW_SPSTeuropi:SPDT_SwitchSW2, SW4
2TL072CDPackage_SO_AKL:SO-8_3.9x4.9mm_P1.27mmU3, U4
1300nCapacitor_SMD_AKL:C_0603_1608MetricC4
1330Resistor_SMD_AKL:R_0603_1608Metric_Pad1.05x0.95mm_HandSolderR1
1APS6404LPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU6
1DMG2305UXPackage_TO_SOT_SMD_AKL:SOT-23Q1
1Eurorack PowerConnector_IDC:IDC-Header_2x05_P2.54mm_VerticalJ1
1GY_PCM5102ADSP_CodecBoards:GY_PCM5102AU5
1L7805DSP_CodecBoards:TO-252-2 with heatsinkU7
1LEDLED_THT:LED_D3.0mmD7
1MMBT3906Package_TO_SOT_SMD_AKL:SOT-23Q4
1PCM1808DSP_CodecBoards:PCM1808U2
1PTV112-4420A-A503DSP_CodecBoards:Potentiometer_Bourns_PTV112-4_Dual_VerticalRV1
1PicoMCU_RaspberryPi_and_Boards:RPi_Pico_SMD_THU1
1RotaryEncoder_SwitchDSP_CodecBoards:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmSW3

Similar boards

  • 2 layers88.9 × 106 mmClouds v30, the printed circuit board in 3D

    Clouds v30

    mort13/clandestine_circuitry

    Collection of diy synth projects

    156 parts12GPL-3.0
  • 2 layers121.9 × 149.9 mmYellow fuzz dev, the printed circuit board in 3D

    Yellow fuzz dev

    ersatzavian/yellow_fuzz

    A bass fuzz for my good friend! Don't tell him, it's a surprise. Starting with a Boss MT-2 (I know, ew, don't tell anybody) because that's allegedly how Arion Salazar got most of his fuzz tone's on Third Eye Blind's…

    165 parts
  • 6 layers160 × 100 mmETH1CFGEN1, the printed circuit board in 3D

    ETH1CFGEN1

    BehrensG/ETH1CFGEN1

    709 parts
  • 2 layers40 × 110 mmAndes, the printed circuit board in 3D

    Andes

    niektb/sluisbrinkie-eurorack-published

    Published Modules of the Sluisbrinkie project

    110 parts34
  • 2 layers54 × 47 mmE6Delay, the printed circuit board in 3D

    E6Delay

    kanengomibako/EffectsPedals

    60 parts14Unlicense
  • 4 layers37.8 × 99.8 mmMIDI USB, the printed circuit board in 3D

    MIDI USB

    GuavTek/M2IDI_USB_HW

    Hardware for the M2IDI USB module

    133 partsCERN-OHL-W-2.0
  • 4 layers90 × 100 mmSmallDSPDual, the printed circuit board in 3D

    SmallDSPDual

    Gemuesesaft/SmallDSP

    a small, modular and affordable DSP Module

    257 parts1GPL-3.0
  • 2 layers114 × 89 mmAyn-4b, the printed circuit board in 3D

    Ayn-4b

    afiskon/ayn-4b

    Portable QRP CW Transceiver

    278 parts7MIT

Questions

How big is the Hardware design PCB?

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

What parts does the Hardware design use?

96 parts, built around the TL072CD, PCM1808PW, MC14532BD and L7805. 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 Hardware design KiCad files?

From the AudioMorphology/ParrotRev2 repository on GitHub, at the commit this page was made from: the board is hardware_design/pcb/pcb.kicad_pcb and its schematic hardware_design/panel/panel.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Hardware design design in my own project?

Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).