Moog Werkstatt: adding a proper CV input

Note: I make reference to the Moog Werkstatt schematics throughout. Copyright prevents me reposting them here; they can be found on Moog’s website.

The existing header on the Werkstatt allows for a VCO pitch CV to be patched in. Although the pitch can already be modulated by either the LFO or the EG (selected using a panel switch), the patch header input means you can use both modulation sources simultaneously – or an external CV, if you can cable it up.

When you start wanting to connect control sources to the Werkstatt, one problem is pretty obvious: the patch pin header provides a signal path, but there’s no ground. The user manual suggests hacking cables together, taking a ground from the cable to a screw on the case (or the ground on the audio output jack), but this isn’t a very neat solution. Better to add a proper CV input jack so you can directly and simply hook up your external CV source using standard cables.

Moog themselves (at the time of writing) do sell an add-on jack board, which provides both a row of minijacks and a signal ground, but I decided against buying it for two reasons: 1) it still doesn’t offer a true Gate input, which I felt necessary; 2) the jack board replaces the patch pin header – adding mods like mine means you can use them and the patch pins simultaneously, giving more possibilities.

How it Works

The circuit is very simple. Looking at p.2 of the official schematic, we can see the existing header CV input is mixed in via a resistor R46 and trimmer VR5. This trimmer can be carefully adjusted to give a 1V/octave response for your external CV.

It would be super-easy to simply wire a jack to the CV point on the header, but this has the disadvantage that inputs are not isolated from each other. Better (and still easy) is to replicate the two passive components and route them to the same mix point.

Here are my additions to the circuit:

Werkstatt CV modification schematic

Werkstatt CV modification schematic

Here is the mod in situ:

Werkstatt CV input mod (top)

Werkstatt CV input mod (top)

Werkstatt CV input mod, rear

Werkstatt CV input mod (rear)

The handiest solder points for connecting the extra components to the existing circuit are TP14 and TP10. Either will do:

Werkstatt CV input mod routing

Werkstatt CV input mod routing

The jack is wired to be brought to the side panel beneath the header. In this photo the Gate mod jack is also in place. The jack grounds are wired together, and then to a solder tag that connects to the nearby screw post. The existing screw is long enough to accommodate a washer or two:

Werkstatt mod ground point

Werkstatt mod ground point

Drilling the hole in the case is simple and quick, and a label finishes the job:

Werkstatt with CV and Gate mods

Werkstatt with CV and Gate mods

The accompanying Gate Input mod is also detailed on this site.


Parts Used

68k 1/4W 1% MF resistor
100k trimmer
1/8” panel mount socket
3mm solder tag
3mm washers (x2)

Tags: , , , , , , , , , , , , , , ,

22 responses to “Moog Werkstatt: adding a proper CV input”

  1. boomfred says :

    As I said, I did this one, and the Gate input mod too, and it works perfectly. Thanks a lot. 🙂

  2. SteinAldermann says :

    Hey, i know I’m a couple of years too late, but i had a few questions.
    I did the mod, but i can’t seem to get it in tune. I have about one and a half octave per volt.

    I was going to do the gate mod too, but I didn’t have any transistors lying around so I set my sequencer s/trig instead (because that what the mod did right? made a short?)

    Could the way I did it affect the tuning to such a degree?

    • synthnerd says :

      The pitch CV input mod, as described, gives correct 1v/oct scaling for the VCO. If it’s built correctly and you feed it a correct voltage, it will work. Have you used the correct parts, and have you correctly adjusted the trimmer?

      As for the gate input mod, yes the mod does short the circuit to ground, but I’d be wary of just hooking up a sequencer directly to this point without that transistor.

  3. Martin says :

    Works well! I also added USB-support. Done with a small IC fron

  4. Will says :

    I have a beginner question about this mod, if you don’t mind:

    “Moog themselves…do sell an add-on jack board, which provides both a row of minijacks and a signal ground, but the problem still remains of the lack of buffering”

    I’ve been looking over the schematic for both the werkstatt and this CV input mod, and I can’t figure out how/where the CV input mod adds a buffer that the add-on jack board doesn’t have. I don’t fully understand which circuitry constitutes a “buffer” here, though.

    Unfortunately I haven’t found a schematic for the add-on jack board, nor do I own one, but it kinda looks like it just extends the existing EXP_VCO_CV_IN pin to a jack, and also grounds that jack.

    So I can see how this CV input mod adds an isolated jack, but how exactly does it add a buffer that would be lacking from the add-on board?

    I hope that makes sense. Thanks for your time!

    • synthnerd says :

      Excellent question! Also excellent spotting of an oversight on my part. You’re absolutely correct that in the case of the CV input, my mod does not add a buffer at all. Actually the various pitch CVs are combined using an inverting op-amp summer, which means the different inputs don’t affect each other anyway, so an extra input buffer would be overkill. I’m no longer quite sure what I was referring to when I wrote that paragraph, so I’ve edited this page for clarity. Thanks! 🙂

      There are two reasons I decided to mod my Werkstatt rather than buy the jack board: 1) the jack board still doesn’t offer a true Gate input, so I needed to add that anyway; 2) the jack board effectively replaces the patch pin header, so you can’t use them simultaneously – adding mods like mine means you can still use the patch header as well.

      • Will says :

        Thank you! I’m planning to do both the CV and gate mods, and this is will help me better understand what’s going on in each. I definitely want to leave the pin headers accessible for arduino/breadboard projects and whatnot, and it’s good to know that I’m not missing something about how the pin is wired.

        Also good to know about how the inputs are combined, since I’m trying to learn about what the op-amps are doing at various stages in the signal path.

        Much obliged!

  5. Antonio Grazioli says :

    done the mod and works wonderfully !!!!

  6. Matthew Rubenstein says :

    Hi. I’m planning to get a couple of Werkstatts to make a polyphonic voice driven by my Mother-32. What I really want is to use the Werkstatt keyboard to select its interval from the M32 root in the poly chord. Effectively a Werkstatt keyboard out patched to a KB IN normalled to the Werkstatt’s VCO Freq pot.

    Before I start analyzing hte Werkstatt schematic and designing a circuit, does it seem to you like this is a reasonably simple mod? A $dozen or so in parts, maybe 3-5 hours “advanced beginner” soldering?

    • synthnerd says :

      I’m not familiar with the M32, but if I understand you correctly, you’re aiming to send a basic Pitch CV to one or more Werkstatts, and use the Werkstatt button keyboard to offset the incoming CV?

      If that’s right, yes, it’s doable. In the case of only one Werkstatt, that’s pretty much how it functions anyway – add a properly scaled Pitch CV input socket, send the Werkstatt a CV, and the button keyboard will offset that. If you press the lowest button (I hesitate to call them keys :D) you’ll get the incoming pitch. Pressing any other button will transpose accordingly. Remember that this is a relative offset, not absolute pitch, so if your incoming CV gives a note G, pressing the bottom C on the Werkstatt will also give a G. Does that make sense? It’s quite intuitive in practice. You don’t have to hold the button down to retain a specific offset, because the voltage generated by the keyboard is held regardless of the incoming CV from your external device. In other words, if you press the Werkstatt’s G button, the Werkstatt will track any incoming CV by a +5th interval.

      One more thing to remember about this is that the Werkstatt VCO is freely pitched anyway by its panel knob. There’s nothing stopping you simply setting that to your desired offset. Of course, it’s much more practical to tune the VCOs all the same, then use the keyboard to offset the pitch as you’re guaranteed accuracy and immediacy.

      If you’re using more than one Werkstatt, the easiest way to do this is to simply send the root CV to both devices, then apply the offset appropriate to each device using the keyboard on each Werkstatt separately. The button keyboard will only read one button, so you can’t play a chord on one and send it to different units, for example – you won’t be able to rig one Werkstatt to control your others differently.

      • Matthew Rubenstein says :

        Ah, I hadn’t realized the Werkstatt keyboard would retain its pressed state as offset from an incoming Pitch CV signal. So it seems to do what I want with just the Pitch CV mod.

        Any ideas on how to add an LED to each button that indicates which has been pressed and is in effect? Perhaps a replacement button with an integrated LED…

      • synthnerd says :

        Well, the buttons don’t latch so any LED fed through the keyboard itself would only be on while pressing something. You’d have to drive the LEDs from the multiplexers, and that might well be more trouble than it’s worth.

      • Matthew Rubenstein says :

        Well then, any way to get the offset value into the Werkstatt by CV rather than by its keyboard buttons? Then the M32 could send both the root CV and the offset CV to the Werkstatt, and the Werkstatt would just play the interval pitch.

      • synthnerd says :

        If your Werkstatt has a CV input, sure, just send your modified CV to it. How you generate that from whatever sources you have available is up to you. Maybe you’ll need an external CV mixer. I can’t comment on the M32.

      • Matthew Rubenstein says :

        The M32 has VCO sawtooth CV output I’d send to the Werkstatt Pitch CV in. The M32 also has an assignable output CV I could config to send a +/-5V CV corresponding to a MIDI CC 0-127 value (M32 internally converts) for the offset from the M32 VCO (root). Would I have to mix the two signals externally to the Werkstatt? Or could the Werkstatt receive the offset CV on another input, replacing the Werkstatt KB button signal?

      • synthnerd says :

        I think you’re confusing and complicating things.

        Firstly, it looks to me like the Sawtooth output is an audio signal, not a VCO pitch CV. Secondly, the CV input on the Werkstatt doesn’t replace the onboard button keyboard CV, it adds to it. The W-01 keyboard isn’t scaled at 1V/Oct, and that’s compensated for internally.

        The easiest way to do what you want is to simply send the same root pitch CV to both Werkstatts, and use their own keyboards to provide whatever offset you want. The next simplest way is to mix your offset with the CV going to each device, which means you need three CV sources: 1) root pitch, 2) and 3) separate offsets for each Werkstatt; and you’d also need 2 CV mixers.

        I think it’s best you experiment with different methods and see what works for you.

  7. Ken Wessen says :

    Firstly, congratulations on a great site – very helpful indeed.

    I have a little circuit that generates 0-8V for pitch CV, and want to patch it into my Werkstatt, but I was wondering about the voltage exceeding 5V. Is it dangerous to the Werkstatt?

    Given the variation in CV voltages generally, would it be sensible to add a 5V Zener diode for protection?


    • synthnerd says :

      Hi, glad you find it useful, thank you!

      Don’t worry about the voltage. The Werkstatt uses +/-9V here, and with all inputs mixed via resistors, you should be fine with 0–8V without causing problems.

  8. Mokensen says :

    Hi Synthnerd

    This is probably a terribly noob question:

    Im trying to use my new Arturia Keystep with the Werkstatt with your CV/ Gate mod. Whilst the onboard KB on the Moog is pitch perfect, when I use the Arturia as a CV controller its around a quarter tone sharp at the octave above. Its infuriating.

    I note that Arturia key step does not go below 0V.

    I don’t think turning VCO EXP TRIM ( V5 ) on the Moog board does anything as I have tried. Again, the onboard keyboard is perfect, so I assume the voltage from the Keystep is too high but i was told by the vendor ( sighting Moog’s Wekstatt specs document) it was just a matter of adjustment.

    Any suggestions gratefully heard!


    • synthnerd says :

      The trimmer VR5 connects to the header CV input, so if you’ve added my mod you should have another trimmer for the new input CV scaling. These trimmers do only act on the width of the scale, not the offset. The internal keyboard is not scaled to 1V/oct, and any offset is tuned out by the Tune knob on the front panel. It’s also worth noting that the Werkstatt does not start up with a 0V pitch, so tuning with any external control should be ‘reset’ by hitting the lowest button on the onboard keyboard first. It might be that there’s a small offset on the Keystep? Or that if your scaling is slightly out, any offset away from 0V is being magnified. I no longer have a Werkstatt to check the operation of these things, unfortunately.

  9. Mark says :

    Thanks Synthnerd. I thought the new trimmer in the mod would be the one. i will see what I can do. The Keystep can be set to 0v wherever you elect on the keyboard octaves so a bit of fiddling might get something useable, many thanks again for your patience!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: