Introduction
I'm creating an Ondes Martenot controller which will be used with a 1Volt/octave Eurorack analog synthesizer. This will consist of a five-octave keybed (with ±2 octave switching, so a total range on 9 octaves), a five octave sliding ring (bague) controller (the frequency produced at a given ring position corresponds exactly with the keys on the keyvoard), and a keyboard "shake" for vibrato. A separate controller will provide the intensity button (touche), voltage-controlled waveform mixer, and other features of the original instrument.
Several aspects of this, such as the continuous pitch part of the controller (bague) and the intensity button (touche) don't fit in the MIDI model so I am not doing this the usual way (MIDI controller followed by MIDI to CV/Gate converter) but instead generating analog voltages directly.
Currently my plan is to have a Teensy++ 2.0 for the keyboard/bague pitch controller, a Teensy 2.0 (if fast enough) or 3.0 for the intensity button, and a Teensy 2.0 reading voltages from the waveform mixer sliders and generating control voltages for the voltage controlled analog waveform mixer.
Keyboard/bague pitch controller
Players of the original instrument report difficulty with tuning drift (over time and over temperature), also drift between the keyboard and bague, which had separate tuning controls and used separate circuits.
To address that, I plan to use a highly linear, temperature stable 16-bit ADS for both keyboard and bague. The keybed I am using (Fatar TP 8/0 waterfall connects using 24 wires - a matrix of 8 columns x 8 rows of break switches for the start of key travel, and the same columns with 8 rows of make switches for the end of key travel. Due to the number of pins, I decided on a Teensy++ 2.0 for the keyboard/bague controller. The bague position will be read via a Texas Intruments ADS1115 16-bit I2C ADC, which I have used before with teensy-based projects. The pitch CV will be output via an Analog Devices AD5542CRZ SPI DAC which has good linearity: INL of ±0.5 (typ) / ±1.0 (max) LSB, DNL of ±0.5 (typ) / ±1.0 (max) LSB, gain error of +0.5 / ±2 LSB. Stability over temperature is good: gain drift ±0.1 ppm/°C and zero error ±0.2 ppm /°C.
An external voltage reference is required, I selected Analog Devices AD780BNZ which gives 2.5 or 3.0V selectable, +/- 1mV, 3ppm/°C. The AD5542CRZ can, with a bipolar-suppy op-amp on the output, produce a bipolar output of ±VRef, and to fit with Eurorack pitch CV standards the desired output voltage is -2.0 to +7.0 volts for the 9 octaves. I plan to produce that with several op-amp stages as follows: 2x gain takes ±2.5V to ±5.0V; invert Vref to give -2.5V; inverting adder gives -2.5V to +7.5V. Gain on the 2x stage will be trimmable, to give fine control of the slope of the voltage, and gain on the Vref interter will be trimmable, to give fine control of the intercept.
For a total voltage range of 10V and a 16bit DAC, 1LSB = 150μV. For op-amps with ultralow input voltage offset and low temperature drift, I selected OPA2277PA = 20μV typ / 50μV max.
PCB
Normally my next step would be to breadboard the circuit to verify that it works as expected. However, the chosen DAC (and indeed most modern high performance DACs) is a surface mount part, in this case SOIC14. The connectors from the Fatar keyboard are also not breadbord compatible, being Micromatch connectors with a 0.05inch pitch. So I need to make a PCB. Started to learn KiCAD, gave up, went with Eagle since thast has a lot more parts libraries and seems to be waht most people use.
After one failed attempt of laying out "everything on one PCB" I have split the task as follows: one PCB for Teensy++ 2.0, micromatch connectors, two sets of SPI (with different chip selects) and one set of I2C. One PCB for the 16bit pitch CV output. That gets me started for testing and code development, and the other parts (I2C ADC and second SPI DAC) can be added later.
The two PCBs pass electrical rules check (once I ignore some warnings about VCC connected to 5V, GND connected to DGND, etc) and also passes the OSH Park design rules check. However they are my first self-designed PCBs so I would appreciate more experienced eyes than mine giving them a once-over before getting them fabbed.
DAC board
Schematic
Teensy++ board
Schematic
Eagle files in github. For some reason Eagle uses a plain rectangular symbol for a dual op-amp rather than the normal two triangles. I'm aware that the silkscreen layer is an overlapping mess; I have not learned how to clean that up yet.
I'm creating an Ondes Martenot controller which will be used with a 1Volt/octave Eurorack analog synthesizer. This will consist of a five-octave keybed (with ±2 octave switching, so a total range on 9 octaves), a five octave sliding ring (bague) controller (the frequency produced at a given ring position corresponds exactly with the keys on the keyvoard), and a keyboard "shake" for vibrato. A separate controller will provide the intensity button (touche), voltage-controlled waveform mixer, and other features of the original instrument.
Several aspects of this, such as the continuous pitch part of the controller (bague) and the intensity button (touche) don't fit in the MIDI model so I am not doing this the usual way (MIDI controller followed by MIDI to CV/Gate converter) but instead generating analog voltages directly.
Currently my plan is to have a Teensy++ 2.0 for the keyboard/bague pitch controller, a Teensy 2.0 (if fast enough) or 3.0 for the intensity button, and a Teensy 2.0 reading voltages from the waveform mixer sliders and generating control voltages for the voltage controlled analog waveform mixer.
Keyboard/bague pitch controller
Players of the original instrument report difficulty with tuning drift (over time and over temperature), also drift between the keyboard and bague, which had separate tuning controls and used separate circuits.
To address that, I plan to use a highly linear, temperature stable 16-bit ADS for both keyboard and bague. The keybed I am using (Fatar TP 8/0 waterfall connects using 24 wires - a matrix of 8 columns x 8 rows of break switches for the start of key travel, and the same columns with 8 rows of make switches for the end of key travel. Due to the number of pins, I decided on a Teensy++ 2.0 for the keyboard/bague controller. The bague position will be read via a Texas Intruments ADS1115 16-bit I2C ADC, which I have used before with teensy-based projects. The pitch CV will be output via an Analog Devices AD5542CRZ SPI DAC which has good linearity: INL of ±0.5 (typ) / ±1.0 (max) LSB, DNL of ±0.5 (typ) / ±1.0 (max) LSB, gain error of +0.5 / ±2 LSB. Stability over temperature is good: gain drift ±0.1 ppm/°C and zero error ±0.2 ppm /°C.
An external voltage reference is required, I selected Analog Devices AD780BNZ which gives 2.5 or 3.0V selectable, +/- 1mV, 3ppm/°C. The AD5542CRZ can, with a bipolar-suppy op-amp on the output, produce a bipolar output of ±VRef, and to fit with Eurorack pitch CV standards the desired output voltage is -2.0 to +7.0 volts for the 9 octaves. I plan to produce that with several op-amp stages as follows: 2x gain takes ±2.5V to ±5.0V; invert Vref to give -2.5V; inverting adder gives -2.5V to +7.5V. Gain on the 2x stage will be trimmable, to give fine control of the slope of the voltage, and gain on the Vref interter will be trimmable, to give fine control of the intercept.
For a total voltage range of 10V and a 16bit DAC, 1LSB = 150μV. For op-amps with ultralow input voltage offset and low temperature drift, I selected OPA2277PA = 20μV typ / 50μV max.
PCB
Normally my next step would be to breadboard the circuit to verify that it works as expected. However, the chosen DAC (and indeed most modern high performance DACs) is a surface mount part, in this case SOIC14. The connectors from the Fatar keyboard are also not breadbord compatible, being Micromatch connectors with a 0.05inch pitch. So I need to make a PCB. Started to learn KiCAD, gave up, went with Eagle since thast has a lot more parts libraries and seems to be waht most people use.
After one failed attempt of laying out "everything on one PCB" I have split the task as follows: one PCB for Teensy++ 2.0, micromatch connectors, two sets of SPI (with different chip selects) and one set of I2C. One PCB for the 16bit pitch CV output. That gets me started for testing and code development, and the other parts (I2C ADC and second SPI DAC) can be added later.
The two PCBs pass electrical rules check (once I ignore some warnings about VCC connected to 5V, GND connected to DGND, etc) and also passes the OSH Park design rules check. However they are my first self-designed PCBs so I would appreciate more experienced eyes than mine giving them a once-over before getting them fabbed.
DAC board

Schematic
Teensy++ board

Schematic
Eagle files in github. For some reason Eagle uses a plain rectangular symbol for a dual op-amp rather than the normal two triangles. I'm aware that the silkscreen layer is an overlapping mess; I have not learned how to clean that up yet.