

My custom synthesizer work
- Size
- 31 × 69.8 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 22
- Nets
- 26
- Pads
- 106
- Tracks, vias
- 146, 7
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 5 (file 20171130)
- Created
- 5 May 2015
- Updated
- 1 Sep 2026
Overview
Utils is an open-source printed circuit board by rabidaudio, from the rabidaudio/synthesizer repository on GitHub, published under the MIT licence. It is a 2-layer board of 31 × 69.8 mm with 22 parts on 26 nets, routed with 146 tracks and 7 vias.
Its parts include 9 resistors, 3 transistors, 2 ICs, 1 diode and 1 connector. It belongs with the audio and music boards of this library.
README
README.mdSynth
These are my custom modules for a from-scratch Eurorack analog synthesizer.
https://rabid.audio/projects/synth
Modules
- LM13700
- matched-pair PNP exponential converter
- CV of 10V -> Gain=1
- CV of <=0V -> Gain=~0, 6 decades below Gain=1
- allow overdrive to Gain=2
- ideally this would begin to clip
- mixdown
- mono - full mix -> left and right
- stereo split - A+C->left B+D->right
- Direct stereo input jack
- mix arbitrary signal with mixdown
- e.g. for accepting signals from other synths
- 0-10V, 1V/octave, A0 to A10
- Square/Triangle core via LM13700
- Waveshapper for triangle -> sine
- PWM control
- triangle wave applied to comparator with CV controlling reference. Triangle wave means CV is linear
- abs(triangle) can be used for 2x square
- adds a lot of parts for little benefit
- blending shapes isn't useful here, since we could use other oscillators for that
- Option to sync with another osc?
- in theory, grounding osc at a regular interval would reset the osc over and over, effectively changing it's frequency
- CV control for shape?
- Room for more shapes
- white noise?
- PDS
- https://en.wikipedia.org/wiki/Phase_distortion_synthesis
- a bit of wild harmonics
- multiplication techniques
- log/antilog
- https://en.wikipedia.org/wiki/Gilbert_cell
- AD633 ($11-$13 /unit on DigiKey!?)
- EL4450C ($4/unit on Digikey but out of stock). It's a little more awkward to use since it's max differerential input voltage for linearity is 2V
- the hard part will be the "slightly higher frequency" bit
- perhaps instead you have another osc (555?) running at a fixed frequency and clipping the sine
- square PWM control could also adjust this clip frequency
- In Max you do PDS by
kink~-ing aphasor~and using that to drive the phase ofcycle~. Kink is somewhat straightforward to do - use a comparator to adjust the charge current after a threshold. But how you drive a sine wave phase with that I'm not sure
- down ramp wave with just a JFET
- up ramp wave probably needs another JFET and an inverter
- sub octave
- theory and example circuit: http://www.valvewizard.co.uk/uboat.html
- octave
- full wave rectifier
- multiplying the triangle with a square wave with different phases and pulse-widths gives some neat sounds
- polynomial
- The EL4450C datasheet describes using a multiplier ic to create a polynomial of the form (k1 v^2 + v) / k2
- it sounds like crap on a triangle wave and does nothing for a square wave, but it adds a nice second harmonic to a sine wave
- from experiments in Max, good values are k1=1.5-2.5, k2=2
- but at that point, should you just use 2 oscillators?
- 4 envelopes required for 4-voice polyphony
- wired to VCA by default
- save surface area with 1 set of ADSR controls for a pair of envelopes
- fully modular means you could borrow one for VCF instead, or send to both VCA and VCF
- Filter
- 4P LP(/HP?)
- Cutoff frequency control has same range as oscillator
- 0-10V, 1V/octave, A0 to A10
- filter we designed for class
- standard vactrols are available on Thonk
- CV control of cutoff + resonance
- Default to track cutoff with VCO-CV
- individual filter knobs, plus a global knob for filter sweeps
- Buffer, Sum, Attenuate, Invert, Gate
- Could be all-in one
- A input (default ground)
- B input (default ground)
- level knob attenuator
- gate digital CV in, default on
(A+B)*level*gateoutput-(A+B)*level*gateoutput- Constant CV out if A and B disconnected
Bitcrusher? 4 filters or one? Noise? Clock? Headphone output no longer required 2D mixer?
TODO
- utility module
- Verify on breadboard
- design PCB
- order parts
- come up with a cute name
- design front panel
- assemble Rev. A PCB
- bend the regulators first
- plenty of 4066s
- flip orientation of power connector
- pot orientation - both channels:
- right side (facing) to inside of board (from top)
- left side (facing) to outside of board (from top)
- test with Neutron
- constant output is only 9 to -7.8
- high noise when used as a buffer
- perhaps input signal is clipping?
- white noise when the gain is turned down
- adjust design for Rev. B
- assemble Rev. B proto board
- fix prototype issues
- sum pot is backwards
- a bit of noise on the constant output near the center
- verify output levels
- hard click on gate
- needs a LPF?
- assemble Rev. B PCB
- manufacture front panel
- assemble module
- VCA
- Confirm amp on breadboard, finalize CV levels
- figure out where tuning trimmers are needed
- build prototype
- fix prototype issues
- output is too quiet for headphones, need about 2x gain
- CV range is too wide, adjust scaling for faster change in db/V
- finish PCB schematic for complete amplifier
- Create PCB
- design front panel
- manufacture front panel
- assemble module
- VCO
- design core
- core osc - square/triangle
- wave shaper (sine)
- pwm control
- additional shape
- shape selection
- Confirm amp on breadboard, finalize CV levels
- fix breadboard test issues
- pitch is very sensitive to power supply noise
- tuning is rather difficult
- Build prototype
- fix prototype issues
- TBD
- design PCB
- Create PCB
- design front panel
- manufacture front panel
- assemble module
- design core
- Envelope
- design in SPICE
- verify on breadboard
- build prototype
- fix prototype issues
- TBD
- design PCB
- Create PCB
- design front panel
- manufacture front panel
- assemble module
- VCF
- TBD
- build tools
- tiny Breakout pcbs for headphone jacks
transistor matcher circuit- bought matched pair BJTs instead
- quantized selector with hysteresis
License
Schematics, board layouts, documentation, etc. is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

If you're interested in commercial use, please ask first.
Any source code is licensed under MIT.
Parts
22| Qty | Value | Footprint | References |
|---|---|---|---|
| 8 | 100K | Resistor_THT:R_Axial_DIN0309_L9.0mm_D3.2mm_P2.54mm_Vertical | R1, R2, R3, R4, R5, R6, R7, R9 |
| 5 | AudioJack2_Ground_Switch | synth:Jack_3.5mm_Ledino_KB3SPRS_Horizontal | ~OUT1, A_IN1, B_IN1, GATE1, OUT1 |
| 3 | 2N3904 | Package_TO_SOT_THT:TO-92 | Q1, Q2, Q3 |
| 1 | 1K | Resistor_THT:R_Axial_DIN0309_L9.0mm_D3.2mm_P2.54mm_Vertical | R8 |
| 1 | 200K | Connector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_Vertical | RV1 |
| 1 | DG403 | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U2 |
| 1 | EURORACK_CONN_16 | synth:EURORACK_16_IDC | J6 |
| 1 | LED | 4ms/4ms-kicad-lib/4ms-footprints.pretty:LED-3MM-SQUARE-ANODE | D1 |
| 1 | TL074 | Package_DIP:DIP-14_W7.62mm | U1 |
Questions
How big is the Utils PCB?
It measures 31 × 69.8 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Utils use?
22 parts. 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 Utils KiCad files?
From the rabidaudio/synthesizer repository on GitHub, at the commit this page was made from: the board is utils/utils.kicad_pcb and its schematic adsr/adsr.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Utils design in my own project?
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).
More from rabidaudio/synthesizer
7- 2 layers128.8 × 110 mm

- 4 layers182.9 × 153.8 mm

- 2 layers125 × 112.5 mm

- 2 layers112.6 × 128.5 mm

- 2 layers43.2 × 80 mm

- 2 layers

- 2 layers

Similar boards
- 2 layers158 × 11 mm

Daylight Matchstick
VoronDesign/Voron-Hardware
Cool Hardware designed by the Voron Design group
22 parts1.1kGPL-3.0 - 2 layers57 × 65 mm

Rgb to hdmi
hoglet67/RGBtoHDMI
Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI
22 parts1kGPL-3.0 - 2 layers81 × 57.2 mm

RP2040-Macropad
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
22 parts915 - 2 layers54.6 × 70.9 mm

BeagleLogic Cape
abhishek-kakkar/BeagleLogic
A Software Suite that implements a logic analyzer with the PRU on the BeagleBone / BeagleBone Black.
22 parts479GPL-3.0 - 2 layers66.4 × 24.5 mm

Connecting piece
Chrismettal/flipper-zero-backpacks
Backpack-style addon boards for the Flipper Zero!
22 parts456 - 2 layers51 × 70 mm

- 2 layers19.7 × 19.7 mm

- 2 layers27.8 × 16 mm

Spi 1v8 level shifter
CRImier/MyKiCad
My KiCad boards. Can't be bothered uploading individually anymore, so here you go.
22 parts253GPL-3.0