
Analogue board pico core routed
Eight4aWish/eurorack_electronics
Analogue designs and breadboard layouts: the Dual Pingable LPG, and the board behind Boy.

Analogue designs and breadboard layouts: the Dual Pingable LPG, and the board behind Boy.
Analogue board pico revb routed is an open-source printed circuit board by Eight4aWish, from the Eight4aWish/eurorack_electronics repository on GitHub. It is a 6-layer board of 49.6 × 103 mm with 361 parts on 272 nets, routed with 3,442 tracks and 608 vias.
It is built around the ADS8688IDBTR, DG412DQ-T1-E3 and LM393DR2GH, with the SN74AHCT1G125DBVR(UMW), XC6206P332MR-G and 74HCT595PW among its other parts. Its parts include 149 resistors, 105 capacitors, 40 connectors, 22 diodes and 15 ICs. It belongs with the ESP32, RP2040 and RISC-V boards of this library.
Analog Eurorack breadboard layouts, a dual-channel low-pass gate, a mixed-signal MOD2 design (not built yet), a build-phase schematic generator, and a layout visualiser. Originally lived inside Eight4aWish/eurorack_modules — split out so that repo can stay focused on firmware.
tools/n8layout/n8synth platform layout files: the official blank module templates (SVG with embedded n8 metadata) plus one worked example.
4HP Template.n8layout, 6HP_Template.n8layout, 10HP Template.n8layout, 10HPS Template.n8layout — official blank templates (10HPS = 10HP with a second stacked breadboard). These are the source of truth for board geometry — tools/visualizer/gen_board_profiles.py parses them into board-profile JSON.808_Kick_Example.n8layout — example 808-style kick layouttools/visualizer/A browser-based layout viewer that renders breadboard placements from JSON, plus Python helpers for netlist → layout conversion and placement validation.
MIT (LICENSE), shared as it is. The exception is layouts/boy_*: they draw the analogue board, so they keep its CC BY-SA 4.0.
index.html — main visualiser; opens any layout from layouts/check.sh — one-command check: geometry → net identity → browser wrapper regeneration → doc maps → doc-position cross-check. Refuses to regenerate docs from a failing layout.netlist_to_layout.py — netlist → layout JSON convertersmoke_test.py — executes the visualiser's scripts against a stub DOM and asserts a layout registers; catches load-time errors that silently empty the layout pickercheck_doc_positions.py — every control position a doc names by hand must exist in the layoutedit_layout.py — hand-edit a layout from the bench: move an endpoint (b10 > g12), set a component (C15 = g12 g13), mirror left/right, shift rows or ICs. Refuses any edit that would collide, then you re-run check.shcheck_netlist.py — every pin against a netlist, following the wires: a row joining the wrong pins is a short, a wire left out is an open. Works on any layout, with no table to transcribecross_check_nets.py / validate_layout.py / sync_layout.py / gen_rowmap.py — placement validation + maintenance helpersbundle_skill.py — copies the checks and viewer into the n8synth-layout Claude skillgen_board_profiles.py / boards/ — board-profile JSON generated from the official n8synth templates: JPS control-deck cells, edge-connector maps, gap positions, D ground bus. Ground truth for platform behaviour is docs/n8synth_platform.md — that document wins over anything inferred from the templates or these profiles.layouts/ — per-module JS + JSON layoutsThe loop that produced the dual LPG, end to end:
docs/<module>_reference_review.md + docs/<module>_netlist.md with named nets and per-source confidence tags.netlist_to_layout.py converts the netlist doc into a layout JSON with components, stages, and net assignments but no positions.boards/). Panel-facing legs land on control-deck JPS pads; grounds tie to the deck-wide D bus../check.sh: zero hole collisions, every component on the nets the netlist requires, then the placement doc's row maps regenerate from the JSON so they can never drift.Repeat 3–4 until clean; the layout JSON is always the single source of truth for placement.
To run locally:
# From this directory
python3 -m http.server 8000
# then open http://localhost:8000/tools/visualizer/Or open tools/visualizer/index.html directly in a browser if you don't need module loading.
hardware/analogue_board/ and tools/analogue_board/The analogue board: a general-purpose I/O board behind an n8synth Control Deck. Rev A, for a Teensy 4.1, was built and tested on 2026-11-01 and runs as Boy, whose firmware is in eurorack_modules. Rev B, the Pico 2 format for a Pico 2W or ESP32-P4, was ordered on 2026-11-03 (hardware/analogue_board/pico_revb/). Spec and decision log: docs/analogue_board_spec.md. Rev A's firmware notes: docs/analogue_board_reva_firmware.md. Rev B: docs/analogue_board_revb.md.
hardware/analogue_board/: the KiCad 9 project, the schematic PDF and the check results. Hardware licence CC BY-SA 4.0.tools/analogue_board/build.py: generates the schematic, runs KiCad's ERC, exports the PDF, netlist and BOM, and checks every IC pin against its datasheet, the netlist against intent, decoupling and diode orientation. See hardware/analogue_board/README.md.tools/schematic/Build-phase schematic generator for the Dual Pingable LPG. Produces per-phase PNGs (Phase 1 / Phase 2 / Mix) into docs/schematics/, with component values read live from the LPG layout JSON so the diagrams stay in sync with the design. Built on Schemdraw. See tools/schematic/README.md.
docs/Circuit notes, netlists, and reference material.
Plans
public_tool_plan.md — plan for a third-party-usable version of the placement/visualisation
tooling, with the dual LPG and the MOD2/Melon hybrid as the two flagship examples.Platform reference
n8synth_platform.md — verified electrical behaviour of the n8synth breadboards and control
decks: main area vs edge connector vs power rail, board variants, grounding practice. The
single source of truth; everything else is downstream of it.Dual Pingable LPG — original dual-channel low-pass gate (canonical Buchla 292 audio path + Strike + CV + Depth + mix output):
lpg_reference_review.md — topology survey, target feature set, vactrol part choiceslpg_published_schematics.md — comparison of the source schematics that informed the designlpg_netlist.md — full netlistlpg_breadboard_placement.md — n8synth placement, panel layout, build-phase orderlpg_mod_pot_rerange.md — step-by-step bench procedure for the rev 0.27 DEPTH/MANUAL re-range (proposed, not yet built), written for picking the board up coldlpg_bom.csv — bill of materialsschematics/ — generated build-phase PNGsReference materials that informed the LPG design are linked at their original sources (see Credits) rather than redistributed here.
The audio path is the canonical Buchla 292 Lopass Gate, originally designed by Don Buchla (~1971). The topology, component values, and driver structure of this build were cross-validated against multiple independent published sources, each linked at its original home:
Target feature set (dual-channel, Strike-pingable, no DAMP / mode-switch in the day-one core) follows the Make Noise Optomix / LxD shape; see lpg_reference_review.md for the topology survey and trade-offs. Per-source confidence tags and the rationale for each block are in lpg_netlist.md and lpg_published_schematics.md.
Firmware for Eurorack modules using these analog voices and layouts lives in Eight4aWish/eurorack_modules. Per-module pre-built binaries are published as releases there.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 34 | 10k | Resistor_SMD:R_0402_1005Metric | R301, R302, R303, R401, R402, R403, R501, R504, R506, R508, R510, R512, R514, R516, R602, R1002 +18 |
| 33 | 1k | Resistor_SMD:R_0402_1005Metric | R305, R310, R314, R317, R318, R324, R325, R404, R408, R412, R416, R420, R424, R1001, R1008, R1009 +17 |
| 31 | 100n 16V | Capacitor_SMD:C_0402_1005Metric | C208, C212, C217, C302, C304, C306, C309, C312, C405, C418, C421, C502, C602, C604, C1001, C1002 +15 |
| 18 | 100k | Resistor_SMD:R_0402_1005Metric | R212, R308, R312, R405, R409, R413, R417, R421, R425, R429, R802, R803, R806, R807, R810, R811 +2 |
| 17 | 100n 50V | Capacitor_SMD:C_0603_1608Metric | C202, C204, C207, C215, C319, C320, C416, C417, C419, C420, C512, C513, C514, C515, C801, C1003 +1 |
| 13 | 100p 50V | Capacitor_SMD:C_0402_1005Metric | C307, C310, C313, C314, C316, C317, C505, C506, C507, C508, C509, C510, C511 |
| 13 | 10u 25V | Capacitor_SMD:C_0805_2012Metric | C213, C216, C219, C221, C222, C301, C303, C305, C403, C404, C408, C501, C603 |
| 9 | 1M | Resistor_SMD:R_0402_1005Metric | R211, R309, R313, R604, R606, R608, R610, R612, R614 |
| 9 | 1k | Resistor_SMD:R_1206_3216Metric | R321, R328, R406, R410, R414, R418, R422, R426, R517 |
| 8 | 1n 50V | Capacitor_SMD:C_0402_1005Metric | C409, C410, C411, C412, C413, C414, C415, C504 |
| 8 | 75k | Resistor_SMD:R_0603_1608Metric | R202, R505, R507, R509, R511, R513, R515, R518 |
| 7 | BAT54S | Package_TO_SOT_SMD:SOT-23 | D301, D302, D801, D802, D803, D804, D1001 |
| 7 | PESD15VL1BA | Diode_SMD:D_SOD-323 | D401, D402, D403, D404, D405, D406, D407 |
| 6 | 4.7k | Resistor_SMD:R_0402_1005Metric | R407, R411, R415, R419, R423, R427 |
| 5 | Holes, left middle | analogue_board:WiringHoles_1x01 | J410, J411, J412, J615, J617 |
| 5 | Holes, right middle | analogue_board:WiringHoles_1x01 | J414, J415, J416, J810, J811 |
| 4 | 100R | Resistor_SMD:R_1206_3216Metric | R1003, R1004, R1005, R1006 |
| 4 | 10u 50V | Capacitor_SMD:C_1206_3216Metric | C201, C203, C205, C206 |
| 4 | 12k | Resistor_SMD:R_0402_1005Metric | R315, R316, R322, R323 |
| 4 | 15k | Resistor_SMD:R_0402_1005Metric | R203, R307, R311, R502 |
| 4 | 1u 25V | Capacitor_SMD:C_0402_1005Metric | C218, C220, C503, C601 |
| 4 | 1u 50V | Capacitor_SMD:C_0603_1608Metric | C214, C401, C402, C406 |
| 4 | 30k | Resistor_SMD:R_0603_1608Metric | R319, R320, R326, R327 |
| 4 | BAV99 | Package_TO_SOT_SMD:SOT-23 | D601, D602, D603, D604 |
| 4 | BLM18PG121 | Inductor_SMD:L_0603_1608Metric | FB201, FB202, FB203, FB301 |
| 4 | Holes, left bottom | analogue_board:WiringHoles_1x01 | J310, J311, J413, J616 |
| 4 | Holes, right bottom | analogue_board:WiringHoles_1x01 | J313, J314, J417, J813 |
| 3 | 0R | Resistor_SMD:R_0603_1608Metric | R207, R208, R209 |
| 3 | 22u 25V | Capacitor_SMD:C_1206_3216Metric | C210, C211, C407 |
| 3 | Fiducial | Fiducial:Fiducial_1mm_Mask2mm | FID901, FID902, FID903 |
| 3 | Holes, left top | analogue_board:WiringHoles_1x01 | J710, J711, J712 |
| 3 | Holes, left top | analogue_board:WiringHoles_1x02 | J610, J611, J612 |
| 3 | Holes, right top | analogue_board:WiringHoles_1x01 | J713, J714, J715 |
| 3 | Holes, right top | analogue_board:WiringHoles_1x02 | J618, J619, J620 |
| 3 | SS34 | Diode_SMD:D_SMA | D201, D202, D203 |
| 3 | TL074HIDR | Package_SO:SOIC-14_3.9x8.7mm_P1.27mm | U302, U502, U504 |
| 2 | 10n 50V | Capacitor_SMD:C_0402_1005Metric | C706, C707 |
| 2 | 1n C0G 50V | Capacitor_SMD:C_0603_1608Metric | C315, C318 |
| 2 | 1u 50V | Capacitor_SMD:C_0805_2012Metric | C308, C311 |
| 2 | 2.2k | Resistor_SMD:R_0402_1005Metric | R713, R714 |
| 2 | 2k | Resistor_SMD:R_0402_1005Metric | R204, R205 |
| 2 | DG412DQ-T1-E3 | Package_SO:TSSOP-16_4.4x5mm_P0.65mm | U402, U403 |
| 2 | LM393DR2G | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U801, U802 |
| 2 | SN74AHCT1G125DBVR | Package_TO_SOT_SMD:SOT-23-5 | U703, U1001 |
| 2 | XC6206P332MR-G | Package_TO_SOT_SMD:SOT-23 | U203, U204 |
| 1 | +12V | TestPoint:TestPoint_Pad_D1.0mm | TP201 |
| 1 | +3V3A | TestPoint:TestPoint_Pad_D1.0mm | TP207 |
| 1 | +3V3D | TestPoint:TestPoint_Pad_D1.0mm | TP208 |
| 1 | +5VA | TestPoint:TestPoint_Pad_D1.0mm | TP206 |
| 1 | +5VD | TestPoint:TestPoint_Pad_D1.0mm | TP205 |
| 1 | -12V | TestPoint:TestPoint_Pad_D1.0mm | TP202 |
| 1 | 0R | Resistor_SMD:R_0805_2012Metric | R206 |
| 1 | 100R | Resistor_SMD:R_0805_2012Metric | R601 |
| 1 | 15uH | Inductor_SMD:L_Sunlord_SWPA5040S | L201 |
| 1 | 1N4148WS | Diode_SMD:D_SOD-323 | D1002 |
| 1 | 20k | Resistor_SMD:R_0402_1005Metric | R503 |
| 1 | 220R | Resistor_SMD:R_0805_2012Metric | R1007 |
| 1 | 220k | Resistor_SMD:R_0603_1608Metric | R306 |
| 1 | 330R | Resistor_SMD:R_0402_1005Metric | R715 |
| 1 | 470p 50V | Capacitor_SMD:C_0402_1005Metric | C209 |
| 1 | 47u 10V | Capacitor_SMD:C_1206_3216Metric | C710 |
| 1 | 5.1R | Resistor_SMD:R_0603_1608Metric | R304 |
| 1 | 510k | Resistor_SMD:R_0603_1608Metric | R201 |
| 1 | 680R | Resistor_SMD:R_0603_1608Metric | R210 |
| 1 | 74HCT595PW | Package_SO:TSSOP-16_4.4x5mm_P0.65mm | U602 |
| 1 | ADS8688IDBTR | Package_SO:TSSOP-38_4.4x9.7mm_P0.5mm | U401 |
| 1 | AO3401A | Package_TO_SOT_SMD:SOT-23 | Q201 |
| 1 | Codec RST | analogue_board:WiringHoles_1x02_G2 | J303 |
| 1 | DAC8568IAPWR | Package_SO:TSSOP-16_4.4x5mm_P0.65mm | U501 |
| 1 | ESP32-P4 own I2C | analogue_board:WiringHoles_1x02 | J102 |
| 1 | ESP32-P4: bridge | Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm | JP201 |
| 1 | Edge strip, left (10HP) | analogue_board:EdgeStrip_40_Left_10HP | J901 |
| 1 | Edge strip, right | analogue_board:EdgeStrip_40_Right | J902 |
| 1 | Eurorack power 2x5 shrouded | Connector_IDC:IDC-Header_2x05_P2.54mm_Vertical | J201 |
| 1 | H11L1SR2M | Package_DIP:SMDIP-6_W9.53mm | U1002 |
| 1 | Holes, left bottom | analogue_board:WiringHoles_1x01_G1 | J312 |
| 1 | Holes, left middle | analogue_board:WiringHoles_1x02_G2 | J614 |
| 1 | Holes, left top | analogue_board:WiringHoles_1x01_G1 | J613 |
| 1 | Holes, right bottom | analogue_board:WiringHoles_1x01_G1 | J315 |
| 1 | Holes, right middle | analogue_board:WiringHoles_1x02_G2 | J812 |
The 347 most common of 361 parts.

Eight4aWish/eurorack_electronics
Analogue designs and breadboard layouts: the Dual Pingable LPG, and the board behind Boy.


schilkp/Fets_and_Crosses
An implementation of the classic Tic-Tac-Toe / Knots and Crosses game built with 2458 transistors.


gasiepgodoy/Open-Source-PLC
Open Source Programmable Logic Controller (Hardware and Software). Based on the Master of Science in Electrical Engineering of João Vitor Rocha Santana

TIGP-Experimental-Methods/class-board-2026
TIGP class instrument 2026: one board, five blocks - KiCad hardware, ESP32-S3 firmware, phone PWA, Python API, workbook

pratham-cloud-ctrl/Project-SCCI-RH
A digital spinal cord-computer interface concept: research, eight KiCad boards, nRF5340 firmware and FreeCAD assemblies.

shorepine/tulipcc
The Tulip Creative Computer and AMYboard - portable Python synthesizers

It measures 49.6 × 103 mm and has 6 copper layers, 1.6 mm thick.
361 parts, built around the ADS8688IDBTR, DG412DQ-T1-E3, LM393DR2GH and SN74AHCT1G125DBVR(UMW). 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 Eight4aWish/eurorack_electronics repository on GitHub, at the commit this page was made from: the board is hardware/analogue_board/pico_revb/routed_trial/analogue_board_pico_revb_routed.kicad_pcb and its schematic hardware/analogue_board/pico/analogue_board_pico.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 Eight4aWish before reusing the design.