Hi,
I stumbled into that rabbit hole... There is so much fun to build yourself in that modular synth region

So I thought first build something digital/analog to get my hands dirty and stay a bit in my comfort zone, so I am doing a LFO (low frequency oscillator) generating waveforms with an arduino. That part works, I use a MCP4921 12-bit DAC.
So have a look at the attachments, on low frequencies (note the Time/Div) I get a banana curve?! I swear I only add constant values to my variable an would expect a linear sawtooth curve...
Is the MCP4921 not linear? Or do I have an error here?
My loop looks like so (codensed to the bare minimum, real one has some more stuff but error is the same):
void loop()
{
x = x + 1;
if (x>=4096) x=0;
myDac.analogWrite(x);
delayMicroseconds(20);
}
Later I may come here to ask some OpAmp Questions, but so far I can generate the CVs with them ok and also drive stuff with it, also build my vactrol etc

Cheers,
Carsten