MusicBrainopen hardware · est. NL

for modular synths

Cortex

In development

Save and recall full patches. Play your analog oscillators polyphonically — up to 16 voices, allocated live from MIDI.

Modular synths forget. Every patch, every routing, every knob — gone the moment you touch it. Cortex gives your case memory: save and recall full patches, and play your analog oscillators polyphonically with up to 16 voices, allocated live from MIDI.

Your audio stays 100% analog; the brain speaks only CV and gate. Built on open firmware — configure it with the free editor & simulator, or hack it yourself.

Specs

Latency≤ 5 ms note-on → CV
Pitch CV16-bit, 1V/oct
Voices16, multi-case
EditorFree browser editor & simulator
FirmwareOpen source (MIT), updatable over USB

Components

The backbone of the system: one Teensy 4.1 drives every function card you plug into its six slots, and the board takes care of power, the SPI bus, MIDI (two ins, two outs), USB host and the display port. A built-in tuning input listens to a VCO while the system dials it in, and the CAN port links external satellites. Delegated boards - extra Teensys or FPGA cards - can live in any slot and merge their audio back into the master over the shared audio lines. Every MusicBrain build starts here.

Board v3.0
Board overview
Connectors (24)
J11 · DISPLAY1→+3V3 2→GND 3→DISP_CS 4→DISP_RST 5→DISP_DC 6→MOSI1 7→SCK1 8→+3V3 9→—
J17 · AUDIO/CODEC1→+3V3 2→CODEC_RST 3→+5V 4→MCLK 5→GND 6→BCLK 7→GND 8→LRCLK 9→GND 10→I2S_OUT 11→+12V 12→I2S_IN 13→-12V 14→GND
J18 · TUNE1→TUNE_J 2→GND
J2 · SLOT 21→GND 2→+12V 3→GND 4→-12V 5→GND 6→+3V3 7→SCLK 8→GND 9→MOSI 10→GND 11→MISO 12→GND 13→CS2 14→GND 15→LDAC 16→IRQ2 17→SDA 18→SCL 19→CONVST 20→GND 21→MCLK 22→BCLK 23→LRCLK 24→I2SD2
J3 · SLOT 31→GND 2→+12V 3→GND 4→-12V 5→GND 6→+3V3 7→SCLK 8→GND 9→MOSI 10→GND 11→MISO 12→GND 13→CS3 14→GND 15→LDAC 16→IRQ3 17→SDA 18→SCL 19→CONVST 20→GND 21→MCLK 22→BCLK 23→LRCLK 24→I2SD3
J21 · EXPANSION1→CS9 2→IRQ7 3→CS10 4→IRQ8 5→CS11 6→IRQ9 7→CS12 8→IRQ10 9→CS13 10→IRQ11 11→CS14 12→IRQ12 13→MISO 14→GND 15→XSCLK 16→GND 17→XMOSI 18→GND 19→XLDAC 20→GND 21→XCONVST 22→SDA 23→XRST 24→SCL 25→GND 26→GND
J4 · SLOT 41→GND 2→+12V 3→GND 4→-12V 5→GND 6→+3V3 7→SCLK 8→GND 9→MOSI 10→GND 11→MISO 12→GND 13→CS4 14→GND 15→LDAC 16→IRQ4 17→SDA 18→SCL 19→CONVST 20→GND 21→MCLK 22→BCLK 23→LRCLK 24→I2SD4
J5 · SLOT 51→GND 2→+12V 3→GND 4→-12V 5→GND 6→+3V3 7→SCLK 8→GND 9→MOSI 10→GND 11→MISO 12→GND 13→CS5 14→GND 15→LDAC 16→IRQ5 17→SDA 18→SCL 19→CONVST 20→GND 21→MCLK 22→BCLK 23→LRCLK 24→I2SD5
J6 · SLOT 61→GND 2→+12V 3→GND 4→-12V 5→GND 6→+3V3 7→SCLK 8→GND 9→MOSI 10→GND 11→MISO 12→GND 13→CS6 14→GND 15→LDAC 16→IRQ6 17→SDA 18→SCL 19→CONVST 20→GND 21→MCLK 22→BCLK 23→LRCLK 24→I2SD6
J23 · USB HOST1→USBH_1 2→USBH_1 3→USBH_2 4→USBH_2 5→USBH_3 6→USBH_3 7→USBH_4 8→USBH_4 9→USBH_5 10→USBH_5
J9 · PWR IN1→-12V 2→-12V 3→GND 4→GND 5→GND 6→GND 7→GND 8→GND 9→+12V 10→+12V
J1 · SLOT 11→GND 2→+12V 3→GND 4→-12V 5→GND 6→+3V3 7→SCLK 8→GND 9→MOSI 10→GND 11→MISO 12→GND 13→CS1 14→GND 15→LDAC 16→IRQ1 17→SDA 18→SCL 19→CONVST 20→GND 21→MCLK 22→BCLK 23→LRCLK 24→I2SD1
J10 · EXP1→+3V3 2→GND 3→+5V 4→GND 5→D10 6→D33 7→— 8→D32 9→D36 10→D37 11→D38 12→D39 13→GND 14→GND
J19 · DLG11→GND 2→DLG1_TX 3→DLG1_RX 4→GND
J20 · DLG21→GND 2→DLG2_TX 3→DLG2_RX 4→GND
J13 · MIDI IN11→MIN1_4 2→MIN1_5 3→—
J14 · MIDI IN21→MIN2_4 2→MIN2_5 3→—
J15 · MIDI OUT1→MOUT5 2→MOUT4 3→GND
J22 · MIDI OUT21→MOUT2_5 2→MOUT2_4 3→GND
J16 · CAN1→+12V 2→CANH 3→CANL 4→GND
J12 · QWIIC1→GND 2→+3V3 3→SDA 4→SCL
J24 · AUDIOHUB1→MCLK 2→BCLK 3→LRCLK 4→GND 5→I2SD1 6→I2SD2 7→I2SD3 8→I2SD4 9→I2SD5 10→I2SD6 11→GND 12→GND 13→GND 14→GND
J7 · HUB 11→GND 2→CS7 3→MISO 4→MOSI 5→SCLK 6→GND 7→+3V3 8→GND 9→-12V 10→+12V
J8 · HUB 21→GND 2→CS8 3→MISO 4→MOSI 5→SCLK 6→GND 7→+3V3 8→GND 9→-12V 10→+12V
Board v3.1
Board overview
Connectors (25)
J1 · SLOT 1 (J1)1→GND 2→+12V 3→GND 4→-12V 5→GND 6→+3V3 7→SCLK 8→GND 9→MOSI 10→GND 11→MISO 12→GND 13→CS1 14→GND 15→LDAC 16→IRQ1 17→SDA 18→SCL 19→CONVST 20→GND 21→MCLK 22→BCLK 23→LRCLK 24→I2SD1
J2 · SLOT 2 (J2)1→GND 2→+12V 3→GND 4→-12V 5→GND 6→+3V3 7→SCLK 8→GND 9→MOSI 10→GND 11→MISO 12→GND 13→CS2 14→GND 15→LDAC 16→IRQ2 17→SDA 18→SCL 19→CONVST 20→GND 21→MCLK 22→BCLK 23→LRCLK 24→I2SD2
J3 · SLOT 3 (J3)1→GND 2→+12V 3→GND 4→-12V 5→GND 6→+3V3 7→SCLK 8→GND 9→MOSI 10→GND 11→MISO 12→GND 13→CS3 14→GND 15→LDAC 16→IRQ3 17→SDA 18→SCL 19→CONVST 20→GND 21→MCLK 22→BCLK 23→LRCLK 24→I2SD3
J4 · SLOT 4 (J4)1→GND 2→+12V 3→GND 4→-12V 5→GND 6→+3V3 7→SCLK 8→GND 9→MOSI 10→GND 11→MISO 12→GND 13→CS4 14→GND 15→LDAC 16→IRQ4 17→SDA 18→SCL 19→CONVST 20→GND 21→MCLK 22→BCLK 23→LRCLK 24→I2SD4
J5 · SLOT 5 (J5)1→GND 2→+12V 3→GND 4→-12V 5→GND 6→+3V3 7→SCLK 8→GND 9→MOSI 10→GND 11→MISO 12→GND 13→CS5 14→GND 15→LDAC 16→IRQ5 17→SDA 18→SCL 19→CONVST 20→GND 21→MCLK 22→BCLK 23→LRCLK 24→I2SD5
J6 · SLOT 6 (J6)1→GND 2→+12V 3→GND 4→-12V 5→GND 6→+3V3 7→SCLK 8→GND 9→MOSI 10→GND 11→MISO 12→GND 13→CS6 14→GND 15→LDAC 16→IRQ6 17→SDA 18→SCL 19→CONVST 20→GND 21→MCLK 22→BCLK 23→LRCLK 24→I2SD6
J7 · HUB 1 (J7)1→GND 2→CS7 3→MISO 4→MOSI 5→SCLK 6→GND 7→+3V3 8→GND 9→-12V 10→+12V
J8 · HUB 2 (J8)1→GND 2→CS8 3→MISO 4→MOSI 5→SCLK 6→GND 7→+3V3 8→GND 9→-12V 10→+12V
J9 · PWR IN (J9)1→-12V 2→-12V 3→GND 4→GND 5→GND 6→GND 7→GND 8→GND 9→+12V 10→+12V
J10 · EXP (J10)1→+3V3 2→GND 3→+5V 4→GND 5→D10 6→D33 7→ 8→D32 9→D36 10→D37 11→D38 12→D39 13→GND 14→GND
J11 · DISPLAY (J11)1→+3V3 2→GND 3→DISP_CS 4→DISP_RST 5→DISP_DC 6→MOSI1 7→SCK1 8→+3V3 9→
J12 · QWIIC (J12)1→GND 2→+3V3 3→SDA 4→SCL
J13 · MIDI IN1 (J13)1→MIN1_4 2→MIN1_5 3→
J14 · MIDI IN2 (J14)1→MIN2_4 2→MIN2_5 3→
J15 · MIDI OUT (J15)1→MOUT5 2→MOUT4 3→GND
J16 · CAN (J16)1→+12V 2→CANH 3→CANL 4→GND
J17 · AUDIO/CODEC (J17)1→+3V3 2→CODEC_RST 3→+5V 4→MCLK 5→GND 6→BCLK 7→GND 8→LRCLK 9→GND 10→I2S_OUT 11→+12V 12→I2S_IN 13→-12V 14→GND
J18 · TUNE (J18)1→TUNE_J 2→GND
J19 · DLG1 (J19)1→GND 2→DLG1_TX 3→DLG1_RX 4→GND
J20 · DLG2 (J20)1→GND 2→DLG2_TX 3→DLG2_RX 4→GND
J21 · EXPANSION (J21)1→CS9 2→IRQ7 3→CS10 4→IRQ8 5→CS11 6→IRQ9 7→CS12 8→IRQ10 9→CS13 10→IRQ11 11→CS14 12→IRQ12 13→MISO 14→GND 15→XSCLK 16→GND 17→XMOSI 18→GND 19→XLDAC 20→GND 21→XCONVST 22→SDA 23→XRST 24→SCL 25→GND 26→GND
J22 · MIDI OUT2 (J22)1→MOUT2_5 2→MOUT2_4 3→GND
J23 · USB HOST (J23)1→USBH_1 2→USBH_1 3→USBH_2 4→USBH_2 5→USBH_3 6→USBH_3 7→USBH_4 8→USBH_4 9→USBH_5 10→USBH_5
J24 · AUDIOHUB (J24)1→MCLK 2→BCLK 3→LRCLK 4→GND 5→I2SD1 6→I2SD2 7→I2SD3 8→I2SD4 9→I2SD5 10→I2SD6 11→GND 12→GND 13→GND 14→GND
J25 · AXON +5V (J25)1→+5V 2→GND

Browser-based patch editor for the Cortex modular system. You assemble a rack from module panels, patch them with colour-coded cables for CV, gates, triggers, audio and MIDI, and play the result right away: the built-in engine simulates the patch polyphonically, from a single synth voice up to an eight-voice DX7. The same patch then uploads to the Teensy over USB, where the firmware reproduces it — a contract test keeps editor and firmware in step, so the editor version follows the firmware series.

Software v0.5.48
Board overview

Releases