(Re)calibrating ansible CV voltage output

I’ve started playing my modular with other instruments and have started to notice tuning drift when using ansible with kria mode enabled. The behavior I’m seeing is that when I tune an oscillator, if I play the same note an octave up it’ll be 10ct flat, if I increase it by another octave it’ll be 20ct flat, and if i increase it yet another octave it’ll be 30ct flat. It seems to be roughly the same for each cv output and also each sound source in my case. I’ve tested with other devices that output CV and I don’t encounter the same drift across octaves.

Is there a means to calibrate the module such that this drift is less pronounced?

I’m planning on digging my scope out of the closet to get some more accurate readings and see if my other PSU sees the same behavior.

If there is any non-software means to mitigate this issue I’d prefer taking that route. I haven’t touched the firmware code in a while, but perhaps it’s possible to update the SEMI14 look up table? I’m not really sure how much wiggle room there is with voltages there.

I looked for prior art and saw Calibrate Ansible output voltages with offset/scale? however that thread didn’t have much activity.

Any suggestions/help is greatly appreciated! I can deal with the tracking since it’s a little bit of “sweet analog imperfection”, but I would love a more tangible solution.

Just in the interest of promoting us using the same words for the same phenomena, I would call what you’re experiencing “being (ten cents) flat” or “inaccurate tracking”. To my mind “drift” is a more transient phenomenon, impacted by the temperature of circuits, warmup time, instability etc. Sorry to nitpick without something more helpful to add!


The most likely culprit is a ground potential between your modules. Are you using multiple cases / PSUs?

1 Like

@alanza I appreciate feedback, I’ll refer to this as ‘inaccurate tracking’ going forward.

The most likely culprit is a ground potential between your modules. Are you using multiple cases / PSUs?

This is using a single case (the intellijel 7U/84HP performance case, previously connected to a cheap power strip. I switched to a different outlet and noticed that the tracking started out much better but after leaving it plugged in for about 15 minutes it returned back to the by ~30ct flat between 0-3V.

I plugged the ansible into my other case (which is pretty much empty at this point) and I witnessed the same behavior (starts out tracking well, then after a short period of time begins to go flat about 30ct).

I’ll try and mess around with a few different configurations later tonight, though the fact that I’m seeing similar results from two different cases is a bit curious. My current plan is to try with modules in the same/different cases and with external power for the grid.

Looking at the module it appears that there aren’t any trim pots, but maybe cleaning the board with some isopropyl alcohol will help? It seems like there should be a reason for the steady decline in its ability to track accurately, though I don’t know enough about how the AVR chip handles voltage out to make any educated guesses.

1 Like

Tracking errors which get worse after a few minutes are assuredly thermal issues. This could be related to your PSU load, but now I’m suspecting that you are using an analog VCO which has tracking issues. To isolate the Ansible, I’d suggest digging out your oscilloscope or a multimeter :slight_smile: 30 cents is about 0.025V so a two-decimal DMM should suffice.

1 Like

augh, i’m sorry for the slop.

if you’re SMD-hacking capable, you could certainly upgrade the op-amps. replace the TL074 with a https://octopart.com/opa4171aidr-texas+instruments-20282408

(we did this on the new TT)

1 Like

@desolationjones I took your advice and removed the VCOs from the equation. After measuring the with a scope it looks like there is about a .02V difference between the lowest and highest octave.

@tehn I ordered the OPA4171AIDR, and I’ll report back the results here :slight_smile:

thanks all for the help in getting this sorted!

1 Like

To confirm, do both TL074 need to be replaced?

only IC2 (the top one)

i need to find some time (impossible these days) to clean up and open source the schems/boms

1 Like

Oof, lifted traces while removing (a little too much vertical force). Looks like no ansible for me for the foreseeable future :\

it’s probably fixable (and i have replacement boards)… email info@monome.org

1 Like

For a while now I’ve been struggling with keeping things in tune on the modular. I had thought it was an issue with my analog oscillators, so I switched to digital ones (including two Plaits, which I love). But still I’ve been finding things go out in different octaves - I only usually get about an octave or two usable range. Now I’m trying to do more polyphonic stuff and performing live with other musicians it’s turning into a serious problem, so I thought I’d systematically try and figure out what on earth is going on.

To my surprise I’ve discovered the issues is with my pitch CV sources, which are an Ansible and a Teletype. Both turn out to have pretty significant tracking issues, which even differ across the four CV outputs within each module. Over four octaves, the difference is about half a semitone across the output jacks. To be clear: for higher pitches, the modules are not only out of tune with each other, but also with themselves. Is there some calibration procedure I’m missing, or have I been unlucky with faulty hardware? I’m a bit devastated, because in all other respects these two modules are a dream come true musically!

(In case it’s relevant, as far as I know, my Teletype is not the latest version of the hardware.)

Thanks in advance for any help.

That sounds a bit strange, because I use both Ansible and Teletype for tracked pitch sequences with analog and digital oscillators. There is something amiss there for sure. Very strange to see the same issues on both modules. I’ve only ever had issues with Ansible when accidentally shorted it moving the module whilst the power was running. After that the CV was drooping and it was obviously messed up. Have you looked at external things, like trying them in a different case with different cables. Or isolating them in one case with a couple of Oscillators. I once had a problem with a ground loop that interfered with Ansible. I had the case freak out also when I had a bad patch cable running from Teletype to the er301. What patch cables are you using? There is a certain brand that gave me a lot of trouble. Also out of interest what firmware is running on each module? Did you buy the modules new or second hand? What case and power supply are you using?
There’s a recent thread here about similar (Re)calibrating ansible CV voltage output

1 Like

Thanks! Will try these when I get home. The problem is different in a sense between the modules because the pitches vary in different directions. Some are sharp, others are flat. One of the ansible outputs is half a semitone out over 4 octaves. They are both new and running latest firmware. (I think TT is not the most recent hardware version.) They are connected by an I2C cable as well, so I wonder if that’s relevant?

Take a look at this thread:

moderators, these issues seem similar?

1 Like

OK, I tried taking the I2C cable out and unfortunately it makes no difference. I went across the full set of octaves on both Ansible and Teletype and the intonation errors are definitely different across the outputs within each module and between the modules. For example, over 4 octaves, the errors are (for each of the 4 CV outs):

Ansible: -16ct, 0ct, 13ct, 39ct
Teletype: 51ct, 41ct, 59ct, 23ct (so two of the outputs are actually nearer the next semitone up)

Weirdly, when I only go up 1 octave the pattern is different, so it’s definitely non-linear. Some of these errors make playing on some of the outputs audibly “out” even within the octave.

Ansible: -7ct, -8ct, 3ct, 23ct
Teletype: 5ct, 5ct, 10ct, -23ct

I believe that both modules are on the latest firmware. (Teletype is on A235649, and Ansible is on the one with Earthsea mode). The same things happens with or without grid/keyboard plugged in. Everything is in the same case (Pittsburgh Structure 208) with one power supply and other voltage sources (e.g. the voltage block) are fine. Tried with both Nasca noodles and mutable instruments patch cables.


Not sure what to do next.

1 Like

@tehn helpfully replied and I’m going to look into replacing the op-amps on both Ansible and Teletype with the higher spec one mentioned above (once I can find out which ones need to be replaced and where they are on each board). I’ve found a company here in Edinburgh that says it can do SMD repair (too scared to do it myself!). Really hoping this works because I’m getting into polyphonic semi-generative stuff using both Kria and teletype and it sounds really badly out of tune at the moment.


So, I had the CV output op-amps upgraded in both my Ansible and Teletype, and very sadly the problem remains. On the ansible it is slightly less bad (but still noticeably out of tune in the higher octaves), but on the teletype it is even worse than before. Basically on all the sockets it’s out a semitone within three octaves and out 2.5 semitones over the full range. I’ve tested them both in multiple cases with multiple power supplies and with tuners, multimeters and digital oscilloscopes.

Does anyone else out there have similar issues?

I could also put the CV outputs through an attenuator/VCA I guess, but my case is already full and doing this for 8 output jacks would be a bit of a pain.

I’m not sure what to do next and in a bit of a despair about it to be honest. It seems to me that it could be fixed in firmware - I know there’s a CV offset command in teletype, but I think it needs a CV multiplier instead (or in addition). I was wondering about adding this as a constant to the firmware for both somehow, but I don’t really know how to compile the firmware (I’m on a mac).

Would adding some kind of calibration/tuning procedure (like there is for the 4ms SMR for example) be possible to the firmware I wonder?


I think you may have seen this but I’m posting here anyway for people who have missed it