CV Out on Versio

Beginner here.

I’m trying to send CV out of the audio outs on a Daisy Versio. I realize they are set up for audio, but voltage is voltage, right?

But I’m having trouble understanding why I get the behavior I get. If I set up my audio callback with something simple like this:

static void AudioCallback(AudioHandle::InputBuffer  in,
                          AudioHandle::OutputBuffer out,
                          size_t                    size)

  for (size_t i = 0; i < size; ++i) {

        if (blockCount % 1000 < 500) {
            out[0][i] = 0.3f;
        } else {
            out[0][i] = 0.0f;

This should produce a square wave, but what I observe is:

So it seems like the output is centered around 0 somehow and also possibly high pass filtered? I have looked at the libDaisy code and the only scaling I see are factors that seem to be set to 1.0 in my case.

Is there something happening here at the hardware level that prevents me from using the audio out this way?


The outputs are probably AC-coupled.

the daisy seed has capacitors on the output - and capacitors on the audio outputs of external CODEC on the Daisy Patch for sure - haven’t checked the others.

Seed output (source)

the Versio is closed source hardware.

If you really need more DC signals, It’s possible to use a rectifier + capacitor on the AC coupled output to get somewhat controllable almost DC.

Aha, figured it was something like that. Thank you for the explanation!

Looks like I will have to get the Patch or Patch.Init to try what I’m doing.