I’ve spent the last days working on Arduino code for a polyphonic 6/12-voice DAC (from USB-host midi keyboard) with mcp4822 chips and a teensy (connected to AKAI LPK). This code is a work in progress (but works) and shouldn’t be considered stable. It’s with a teensy 3.6 and USB connected to USB-host pins.
The mcp4822 chips all share MOSI/SCK but have separate Chip select pins as defined in the first part of code. the code is easily edited to the number of mcp4822 chips you want to use, you can just change the “num_dac” to your number of MCP4822 channels and the code will still work. The mcp4822 chip has two channels each, so really its 6 day chips but 12 actual DACs. This code will give you 12 CV (1V/OCT) outputs from 6 chips. The code counts notes and later splits the countings into two channels. So DAC #1 would be Channel A and DAC #2 would be channel B on the same chip. I’ll continue to work on it and introduce new features like handling sustain pedal messages but also making the code more effective. The idea is to embed a function to easily switch between x12 cv out and x6 cv out + x6 gates. I’ll update with a non-teensy version aswell in the future.