
Synth machine
zachtemkin/synth-machine-libDaisy
Second revision of the carrier. v0.3 in ../v0.3/ is the board that was fabricated in September 2026; v0.4 applies everything in ../NEXTREVISION.md and adds onboard battery power.

Second revision of the carrier. v0.3 in ../v0.3/ is the board that was fabricated in September 2026; v0.4 applies everything in ../NEXTREVISION.md and adds onboard battery power.
Synth machine is an open-source printed circuit board by zachtemkin, from the zachtemkin/synth-machine-libDaisy repository on GitHub. It is a 2-layer board of 100 × 100 mm with 93 parts on 77 nets, routed with 783 tracks and 44 vias.
It is built around the MAX98306ETD+T, 1N4148W and MMBT3904. Its parts include 19 capacitors, 19 switches, 18 diodes, 13 resistors and 10 connectors. It belongs with the audio and music boards of this library.
Second revision of the carrier. v0.3 in ../v0.3/ is the board that was
fabricated in September 2026; v0.4 applies everything in ../NEXT_REVISION.md
and adds onboard battery power. It is a new outline: 160 x 74 mm landscape
instead of 100 x 100, with all 19 key headers in one row along the bottom
edge in panel order. The USB-C, the Seed's own USB and the headphone jack
still share the top edge.

| Change | Parts | Why |
|---|---|---|
| One row of key headers | K1..K19 along the bottom at 7 mm pitch, diode above each, name below | Every button lead is the same length and points the same way. The headers are rotated so the row is 132 mm wide and the corners stay free for mounting holes. |
| Battery power | J17 JST-PH cell, U5 BQ24074 charger with power path, U6 TPS61023 5 V boost, J16 power-switch header, JP2 always-on jumper | Runs from a single LiPo, charges from the USB-C, and runs from USB while charging. See the power section below. |
| Plug detect reaches 3V3 | Q1 is a 2N7002 MOSFET | The v0.3 BJT clamped HP_DET at 0.8 V so D13 never saw a plug. No jumper, no HP_DET=adc. |
| Firmware mute on its own transistor | Q2 2N7002, R6 gate, R15 pull-up; MUTE on D0 | Muted at reset, in DFU and after a crash; firmware drives D0 low to run. Wired-OR with Q1. |
| I2C for encoders | J15 STEMMA QT (top-entry) on I2C1 (D11 SCL, D12 SDA) at the top right; R16/R17 pull-ups DNP | For the seesaw rotary-encoder breakouts; the cable leaves upward toward the panel. |
| Display header | J9: GND, 3V3, 5V, SCK (A7), MOSI (A3), NSS (A8), D/C (D26), RST (D27) | Hardware SPI1 for an OLED or a Sharp memory LCD. |
| Encoders instead of bank pots | J11..J14 removed; only J10 (volume) remains | The four bank controls are seesaw rotary encoders on J15. Their old ADC pins go to the expansion header. |
| USB ESD, SMD fuse | U4 USBLC6-2SC6, F1 1812 PTC on the USB input | Data lines were unprotected; the radial fuse collided with the Seed. |
| USB-C receptacle | J1 is the HRO TYPE-C-31-M-12 (LCSC C165948) | Same land pattern and body depth as v0.3's GCT USB4105, which went out of stock. A JLCPCB basic part. |
| Peripheral 3.3 V rail | U7 AP7361C-33 (SOT-223, 1 A) from +5V, C27/C28 | Feeds the encoders, the display and the expansion header's 3V3 pin, so the Seed's regulator carries only the Seed, the headphone amp and pull-ups. |
| Assembly-ready BOM | every part has an MPN or LCSC number | fab.sh writes pcbway_bom.csv / pcbway_cpl.csv. |
Only the volume pot header remains (A0). The four bank controls are I2C
rotary encoders on J15, chained over STEMMA QT. The firmware profile
HW=carrier4 reads A0 only and leaves the bank inputs alone until the
encoder support exists.
USB-C J1 -> F1 2.5 A PTC -> VUSB -> U5 BQ24074 IN
U5 BAT <-> J17 cell (+ C22)
U5 OUT -> VSYS (4.4 V on USB, else the cell)
VSYS -> L1 1 uH / U6 TPS61023 -> +5V (5.1 V) -> Seed VIN, speaker amp, J8/J9 5V pins
+5V -> U7 AP7361C-33 -> 3V3P -> J15 encoders, J9 display, J8 3V3Same pipeline as v0.3, run from this directory:
KICAD_PY=/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/Current/bin/python3
$KICAD_PY hardware/v0.4/gen_kicad.py # schematic + placed PCB
$KICAD_PY hardware/v0.4/route.py --java <java25> --jar freerouting-2.4.1.jar
$KICAD_PY hardware/v0.4/route.py --pours-only # rebuild just the GND pours
sh hardware/v0.4/fab.sh # Gerbers, BOMs, CPLs, test printFreerouting 2.4.1 needs Java 25. Neither is installed system-wide on the
Mac; a portable Temurin JRE from adoptium.net and the jar from the Freerouting
GitHub releases page were used, and both can live anywhere. PREROUTES in
the generator carries the audio paths, the MAX98306 fan-out and short stubs
off the boost converter's 0.5 mm pitch pins, which the autorouter cannot reach
with power-width tracks on its own.
HW=carrier4 expects)| Seed pin | Use |
|---|---|
| D0 | MUTE: high = speakers muted (default via R15), low = run |
| D1..D3 | matrix rows |
| D4..D9 | matrix columns |
| D10 | C4 key |
| D11, D12 | I2C1 SCL, SDA (STEMMA QT) |
| D13 | HP_DET, high = headphones plugged in |
| D14 | HP_MUTE, headphone amp ~MUTE, low = muted |
| A0 | volume pot |
| A1, A2, A4, A9 | spare, on J8 (the old bank pot inputs) |
| A3, A7, A8 | SPI1 MOSI, SCK, NSS (display) |
| A5 | ~CHG from the charger, low = charging |
| A6 | spare, on J8 (seesaw INT candidate) |
| A10 | battery voltage / 2 |
| A11 | ~PGOOD from the charger, low = USB present |
| D26, D27 | display D/C, RST |
| D29, D30 | USB-C data (MIDI) |
| Ref | What | Pins |
|---|---|---|
| K1..K19 | keys, JST-XH 2-pin, bottom row in panel order | row / diode (any way round) |
| J10 | volume pot, JST-XH 3-pin, left edge below the USB-C | 3V3A, wiper, GND |
| J5, J6 | speakers, JST-PH | + / - |
| J17 | battery, JST-PH | 1 = +, 2 = GND |
| J16 | power switch, JST-XH 2-pin, left edge mid-height (JP2 beside it bridges it) | either way round |
| J15 | STEMMA QT, top-entry, top right | GND, 3V3P, SDA, SCL |
| J9 | display | GND, 3V3P, 5V, SCK, MOSI, NSS, D/C, RST |
| J8 | expansion | HP_MUTE, A1, A2, A4, A6, A9, HP_DET, MUTE, VSYS, 3V3P, 5V, GND |
fab.sh writes fab/pcbway_bom.csv with an item per line: designators,
quantity, manufacturer part number, LCSC number, value, package and whether it
is SMD or through-hole. fab/pcbway_cpl.csv has both sides. Upload the
Gerber zip, the BOM and the CPL; on the quote, tick at least J1 (USB-C), the
19 K headers, J10, J5/J6, J16, J17 and J15 for placement. The Seed
sockets, C1 and the jack can go in the same job or be hand-fitted.
fab/jlcpcb_bom.csv and fab/jlcpcb_cpl.csv carry every part with an LCSC
number, which is all of the SMD parts and the JST connectors: the 19 key
headers, the volume and switch headers (JST XH originals, C158012 /
C144394) and the speaker and battery sockets (JST PH, C131337). Choose
standard assembly, not economic: economic is SMD-only and drops the
through-hole connectors. Still hand-fitted afterwards: the two Seed sockets,
the two expansion/display sockets, the headphone jack and C1, which are on
the Digi-Key list. The DNP pull-ups are excluded automatically.
Things checked after the layout settled, and what was changed or accepted:
Q_NMOS_GSD is gate 1, source 2, drain 3, the
2N7002's SOT-23 order. Check the LCSC part's datasheet agrees.| Qty | Value | Footprint | References |
|---|---|---|---|
| 18 | 1N4148W | D_SOD-123 | D1, D2, D3, D4, D5, D6, D7, D10, D11, D12, D13, D14, D15, D16, D17, D18 +2 |
| 8 | 1u | C_0805_2012Metric | C7, C8, C11, C12, C16, C17, C18, C19 |
| 7 | 10k | R_0805_2012Metric | R4, R5, R6, R8, R9, R10, R11 |
| 4 | 100R@100MHz 0805 | L_0805_2012Metric | FB1, FB2, FB3, FB4 |
| 4 | 100k | R_0805_2012Metric | R3, R12, R13, R14 |
| 4 | 220p | C_0805_2012Metric | C2, C3, C4, C5 |
| 4 | M3 | MountingHole_3.2mm_M3 | H1, H2, H3, H4 |
| 2 | 100n | C_0805_2012Metric | C6, C15 |
| 2 | 10u | C_0805_2012Metric | C13, C14 |
| 2 | 47p | C_0805_2012Metric | C9, C10 |
| 2 | 5k1 | R_0805_2012Metric | R1, R2 |
| 1 | 470u 10V | CP_Radial_D8.0mm_P3.50mm | C1 |
| 1 | A#4 [c1 r1] JST-XH | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | K11 |
| 1 | A4 [c2 r2] JST-XH | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | K10 |
| 1 | B4 [c1 r2] JST-XH | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | K12 |
| 1 | BTN1 [c0 r0] JST-XH | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | K14 |
| 1 | BTN2 [c0 r1] JST-XH | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | K15 |
| 1 | BTN3 [c1 r0] JST-XH | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | K16 |
| 1 | BTN4 [c2 r0] JST-XH | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | K17 |
| 1 | BTN5 [c3 r0] JST-XH | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | K18 |
| 1 | BTN6 [c4 r0] JST-XH | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | K19 |
| 1 | C#4 [c5 r0] JST-XH | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | K2 |
| 1 | C5 [c0 r2] JST-XH | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | K13 |
| 1 | D#4 [c4 r1] JST-XH | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | K4 |
| 1 | D4 [c5 r1] JST-XH | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | K3 |
| 1 | Daisy Seed / Seed3 | DaisySeed_2x20 | U1 |
| 1 | E4 [c5 r2] JST-XH | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | K5 |
| 1 | Expansion | PinHeader_1x12_P2.54mm_Vertical | J8 |
| 1 | F#4 [c3 r1] JST-XH | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | K7 |
| 1 | F4 [c4 r2] JST-XH | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | K6 |
| 1 | G#4 [c2 r1] JST-XH | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | K9 |
| 1 | G4 [c3 r2] JST-XH | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | K8 |
| 1 | GAIN: 1-2 = 18dB, open = R13, 2-3 = 12dB | SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mm | JP1 |
| 1 | Headphones 3.5mm (CUI SJ1-3515N) | Jack_3.5mm_CUI_SJ1-3515N_Horizontal | J7 |
| 1 | KEY C4 (direct D10) JST-XH | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | K1 |
| 1 | MAX98306ETD+T | TDFN-14-1EP_3x3mm_P0.4mm_EP1.78x2.35mm_ThermalVias | U3 |
| 1 | MF-R250 2.5A PTC | Fuse_Bourns_MF-RG300 | F1 |
| 1 | MMBT3904 | SOT-23 | Q1 |
| 1 | Pot ATK (10k lin, panel) JST-XH | JST_XH_B3B-XH-A_1x03_P2.50mm_Vertical | J11 |
| 1 | Pot DEC (10k lin, panel) JST-XH | JST_XH_B3B-XH-A_1x03_P2.50mm_Vertical | J12 |
| 1 | Pot REL (10k lin, panel) JST-XH | JST_XH_B3B-XH-A_1x03_P2.50mm_Vertical | J14 |
| 1 | Pot SUS (10k lin, panel) JST-XH | JST_XH_B3B-XH-A_1x03_P2.50mm_Vertical | J13 |
| 1 | Pot WAV (10k lin, panel) JST-XH | JST_XH_B3B-XH-A_1x03_P2.50mm_Vertical | J10 |
| 1 | Speaker L (JST-PH) | JST_PH_B2B-PH-K_1x02_P2.00mm_Vertical | J5 |
| 1 | Speaker R (JST-PH) | JST_PH_B2B-PH-K_1x02_P2.00mm_Vertical | J6 |
| 1 | TPA6138A2PWR | TSSOP-14_4.4x5mm_P0.65mm | U2 |
| 1 | USB-C (MIDI + 5V power) | USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_Horizontal | J1 |
It measures 100 × 100 mm and has 2 copper layers, 1.6 mm thick.
93 parts, built around the MAX98306ETD+T, 1N4148W and MMBT3904. 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.
From the zachtemkin/synth-machine-libDaisy repository on GitHub, at the commit this page was made from: the board is hardware/v0.3/synth_machine.kicad_pcb and its schematic hardware/v0.3/synth_machine.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask zachtemkin before reusing the design.

zachtemkin/synth-machine-libDaisy
Second revision of the carrier. v0.3 in ../v0.3/ is the board that was fabricated in September 2026; v0.4 applies everything in ../NEXTREVISION.md and adds onboard battery power.

oomlout/oomlout_oomp_project_bot_v_2

fossasia/pslab-hardware
PSLab Hardware Design and Schematics https://pslab.io



ThisIsNotRocketScience/Eurorack-Modules
This is not Rocket Science presents: Eurorack modular synthesizer modules!



sdylewski/Analog-Redial
A circuit board for old telephones to come back to life. Plug one or two phones in, and you can call the other phone, use bluetooth, connect to others via voip, and do a variety of other things with a plain old rotary…