
PS-101 vco mixer
patricecolet/synth
Atelier synthé analogique : cartes KiCad, firmwares Arduino/Teensy, interfaces Pure Data. Interface MIDI/CV pour RSF Kobol Expander.

Atelier synthé analogique : cartes KiCad, firmwares Arduino/Teensy, interfaces Pure Data. Interface MIDI/CV pour RSF Kobol Expander.
Vcf pro one is an open-source printed circuit board by patricecolet, from the patricecolet/synth repository on GitHub, published under the MIT licence. It is a 2-layer board with 53 parts on 66 nets.
It is built around the TL084 and AS3320. Its parts include 32 resistors, 13 capacitors, 5 connectors and 3 ICs. It belongs with the audio and music and interfaces and adapters boards of this library.
Atelier synthé analogique : conception de cartes (KiCad), firmwares Arduino, interfaces Pure Data et documentation de référence.
Le dépôt regroupe plusieurs projets indépendants. Chacun est autonome — schémas, firmware et patchs vivent dans le même dossier.
| Dossier | Quoi |
|---|---|
PS-101/ | Le synthé principal : carte mère, VCO, VCF, mixeur d'ondes, firmware et UI Pd |
kobol-expander/ | Interface MIDI → CV pour RSF Kobol Expander. Firmware Teensy qui tourne, piloté depuis le séquenceur NiDMI Seq |
sequencer/ | Séquenceur à base de 74HC595 (KiCad, 2018) |
alimentation/ | Alimentation symétrique LM723 / LM2596 + masse virtuelle |
xva1/ | Patchs Pd de contrôle pour le moteur XVA1 |
experiments/ | Bancs d'essai : DAC MCP4822 / MCP4921, driver TLC5940, LFO |
reference/ | Datasheets et schémas glanés — matière première, non versionnée (voir ci-dessous) |
Le projet le plus abouti. Un VCO numérique (tables d'ondes en ROM → DAC MCP4822) piloté par Arduino, avec un chemin analogique classique derrière.
PS-101/
├── hardware/ # KiCad : carte mère + sous-cartes
│ ├── PS-101.sch/.kicad_pcb carte principale
│ ├── vco/ VCO (PS-01_VCO)
│ ├── vcf/ filtre Pro-One (AS3320)
│ ├── vco_mixer/ mixeur d'ondes
│ ├── synth.pretty/ empreintes maison
│ └── trace/ sorties PDF
├── firmware/ # sketches Arduino, du plus ancien au plus récent
│ ├── PS-01/ 194 l. — 3× MCP4822, 9 formes d'onde, LFO
│ ├── PS01_TEST/ 334 l.
│ ├── PS01_TEST2/ 376 l. — 2× MCP4822, 5 ondes, mode DEBUG
│ └── EEPROM/ 253 l. — persistance des paramètres
└── pd/ # interface Pure Data
├── PS01ui.pd UI principale
└── PS01_param.pd abstraction d'un paramètre (utilisée par PS01ui)Les tables d'ondes (wave/*.h) sont volontairement dupliquées dans chaque
sketch : l'IDE Arduino exige qu'un sketch soit autonome.
Le projet le plus actif. Un Teensy 2.0 reçoit du MIDI USB et sort du CV vers le Kobol via un MCP4822 — pitch sur le canal A, cutoff du filtre sur le canal B.
kobol-expander/
├── midi-cv/ # le travail actif
│ ├── KobolMidiCV/ firmware Teensy (compile, téléversé)
│ ├── midi-map.json LA carte MIDI — fait foi pour tout le reste
│ ├── build.sh compile + téléverse, pose le nom USB « Kobol »
│ ├── tools/ vérificateurs de cohérence, test MIDI sans DAW
│ ├── INTEGRATION.md lien avec le séquenceur NiDMI Seq
│ └── CALIBRATION.md échelle du pitch, mesurée
├── v1-first-release/ firmware d'origine, référence intouchée
├── v2-simple/ projet KiCad kobol_V2
├── v3/v4/v5 documentation de vision
└── docs/ mesures électriques du connecteur P1Le pilotage se fait depuis NiDMI Seq, le séquenceur VST maison (dépôt
voisin, voir plus bas), auquel on a ajouté un profil d'appareil pour qu'il
affiche « VCF Cutoff » au lieu de « CC 74 ». Le détail, la frontière entre les
deux dépôts et les garde-fous contre la dérive sont dans
kobol-expander/midi-cv/INTEGRATION.md.
Le brochage du connecteur P1 du Kobol est relevé dans
reference/kobol/Plug.txt.
XVA1.pd et comUI.pd sont deux états du même patch (seules diffèrent des
valeurs de sliders sauvegardées). paramUI.pd est l'abstraction qu'ils
instancient.
Le dépôt ne contient que du travail original. Les datasheets constructeur, manuels de service et schémas de synthés commerciaux ne sont pas redistribuables : ils restent sur le disque local mais sont exclus du suivi git. Concrètement, un clone trouvera vides :
reference/datasheets/, reference/kobol/, reference/analog-synth/alimentation/Chaque README de dossier liste ce qu'il faut retélécharger et auprès de qui —
voir reference/README.md et
alimentation/README.md. Mes propres relevés
(Plug.txt, missing.txt, CONSOMATION.txt, goldpoint_capa.txt) sont bien
versionnés, eux.
L'historique a été purgé avant la publication : git filter-repo a retiré
ces 104 fichiers de tous les commits, pas seulement de la dernière version.
Le dépôt est passé de 31 Mo à 2,3 Mo. Un commit qui ne faisait que restaurer un
de ces PDF est devenu vide et a disparu.
Mes propres relevés ont été explicitement conservés à travers la réécriture :
Plug.txt, missing.txt, CONSOMATION.txt, goldpoint_capa.txt. Les PDF
sortis de mon propre KiCad (PS-101/hardware/trace/, *_schema.pdf) aussi.
Les fichiers écartés restent sur le disque local, seulement plus dans git.
Ce dépôt ne contient pas tout l'écosystème. Deux voisins comptent :
Les trois dépôts sont voisins :
~/repo/
├── synth/ ← celui-ci
├── nidmi-seq-vst/ NiDMI Seq — séquenceur VST3/AU/Standalone, porte le profil Kobol
└── nidmi-sequencer-core/ moteur de séquencement, sans lien avec le Kobolnidmi-seq-vst exige que nidmi-sequencer-core soit son voisin direct : son
CMake y va par un add_subdirectory relatif.
Le seul fichier qui traverse la frontière est midi-map.json, d'où est
généré le profil du plugin. Voir
kobol-expander/midi-cv/INTEGRATION.md.
declare -path en nom nu).*.bak, *-bak, *-backups/) et les caches
(fp-info-cache, *-cache.lib) sont suivis volontairement : ils
permettent de rouvrir un projet ancien avec les bonnes empreintes.
Voir les notes en bas de .gitignore..bom.csv.Le commit initial (Snapshot initial) capture le dossier avant toute
réorganisation. Tout fichier écarté depuis reste récupérable :
git show <commit>:<ancien/chemin> # afficher
git checkout <commit> -- <ancien/chemin> # restaurerLe contenu de ce dépôt — firmwares, schémas KiCad, scripts, documentation — est publié sous licence MIT.
Cela ne couvre que ce qui est versionné ici. La documentation tierce
(datasheets constructeur, manuels de service, schémas de synthés commerciaux)
n'est pas redistribuable et reste volontairement hors du dépôt : elle est
exclue par .gitignore, et les sources sont listées dans les
README des dossiers concernés.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 9 | 100k | synth:radial | R2, R3, R11, R12, R13, R14, R20, R22, R30 |
| 4 | 100n | Capacitors_THT:C_Disc_D3.0mm_W1.6mm_P2.50mm | C8, C11, C12, C13 |
| 4 | 150p | Capacitors_THT:C_Disc_D3.0mm_W1.6mm_P2.50mm | C1, C2, C3, C4 |
| 3 | 51k | synth:radial | R25, R31, R32 |
| 3 | 91k | synth:radial | R8, R9, R10 |
| 3 | Conn_01x04_Female | Socket_Strips:Socket_Strip_Straight_1x04_Pitch2.54mm | J1, J2, J4 |
| 2 | 150k | synth:radial | R21, R29 |
| 2 | 1k | synth:radial | R18, R28 |
| 2 | 1n | Capacitors_THT:C_Disc_D3.0mm_W1.6mm_P2.50mm | C6, C9 |
| 2 | 33k | synth:radial | R17, R26 |
| 2 | 47k | synth:radial | R1, R4 |
| 2 | 5n | Capacitors_THT:C_Disc_D3.0mm_W1.6mm_P2.50mm | C7, C10 |
| 2 | Conn_01x16_Male | synth:card_16_slot | J3, J5 |
| 1 | 120k | synth:radial | R6 |
| 1 | 1k5 | synth:radial | R15 |
| 1 | 1k8 | synth:radial | R5 |
| 1 | 200k | synth:radial | R7 |
| 1 | 240k | synth:radial | R23 |
| 1 | 2u2 | Capacitors_THT:CP_Radial_D5.0mm_P2.50mm | C5 |
| 1 | 3k | synth:radial | R16 |
| 1 | 6.8k | synth:radial | R24 |
| 1 | 680 | synth:radial | R27 |
| 1 | 68k | synth:radial | R19 |
| 1 | AS3320 | Housings_DIP:DIP-18_W7.62mm | U2 |
| 1 | AS3330 | Housings_DIP:DIP-18_W7.62mm | U3 |
| 1 | TL084 | Housings_DIP:DIP-14_W7.62mm | U1 |

patricecolet/synth
Atelier synthé analogique : cartes KiCad, firmwares Arduino/Teensy, interfaces Pure Data. Interface MIDI/CV pour RSF Kobol Expander.

patricecolet/synth
Atelier synthé analogique : cartes KiCad, firmwares Arduino/Teensy, interfaces Pure Data. Interface MIDI/CV pour RSF Kobol Expander.

patricecolet/synth
Atelier synthé analogique : cartes KiCad, firmwares Arduino/Teensy, interfaces Pure Data. Interface MIDI/CV pour RSF Kobol Expander.



EchelonForce/vcf_as3320_lp
This is a design for a eurorack low pass VCF using the AS3320 VCF chip.

jdotw/OpInst-Bass-1
Three-voice analog synth with a digital control surface using CEM3340, AS3320 and similar discrete analog components.


BojanSof/BluePillWaveGen
DDS function generator build around STM32 BluePill board


53 parts, built around the TL084 and AS3320. 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 patricecolet/synth repository on GitHub, at the commit this page was made from: the board is PS-101/hardware/vcf/vcf_pro-one.kicad_pcb and its schematic kobol-expander/v2-simple/kicad/kobol_V2/kobol_V2.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
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).