Oct 15, 2019


To help the modular system play in musical tune, I decided I wanted a Quantizer module. After significantly longer development time than I anticipated, the result is this two-channel Quantizer in 10hp Eurorack format.

Quantizer module with printed wooden front panel

In its simplest form, a quantizer is a module that takes in a control voltage, and outputs the same voltage rounded to the nearest note. In the usual V/Oct tuning system, and assuming we use just tuning, that means rounding to the nearest 1/12th of a Volt.

An obvious extension to such a basic quantizer is to have adjustable scales, where some of the 12 notes are disabled and hence will never be output. For example a quantizer could be set to a major scale to make sure the VCOs will always play only notes from that scale.

In my Quantizer I chose to have completely flexile scales, defined by 12 illuminated push buttons that are toggled on and off by pressing them. This allows any custom scale to be programmed, or for example only a subset of a scale to get more control over the resulting music. I often find enabling only 3 or 4 notes gives more useful results than a traditional 7-tone scale.

User interface

Rather than the traditional piano keyboard layout, I ended up with a circular layout of the scale buttons that is comparable to the concept of bracelets. This layout is to me more intuitive compared to the piano keyboard - for example transposing the scale is just rotating the notes on the ring. As shown below, on the front panel layout I still made shaded regions to indicated the black keys on the piano keyboard for reference.

Front panel layout

Below the scale buttons are function buttons, including two buttons to rotate the scale clockwise or counterclockwise, allowing one to easily change the key. Using the shift button in combination with the scale buttons more advanced options can be changed, such as different variations on transposing one or both channels. The operation of all functions is explained in detail in the user manual.

Each of the two quantizer channels has obviously an input and output jack. The Gate output (and corresponding LED) go high whenever a new note is quantized, and can be used for example to trigger envelopes. Finally, each channel has a Trig input, which can optionally be used to trigger the quantization at desired times. When nothing is connected to the Trig input, the quantizer goes to a new note whenever the input voltage changes to the next note.

Finally there are two assignable CV inputs A and B. In my first prototype these inputs were absent, but after playing with rotations and transpositions for a few minutes it became blatently obvious that these functions should be sequenceable with CV. The CV inputs can be assigned to almost all functions, such as changing key, transposing one or both channels, adjusting gate lenght or even loading a completely different scale from memory.

Hardware design

Quantization is inherently a digital operation, and it is no surprise that this module is implemented digitally. While quantizers made up of only discrete logic chips exist (notably Ray Wilson's MFOS Voltage Quantizer), a microcontroller makes the implementation both a lot simpler and more flexible. The venerable ATMega328P is a good match for the complexity of this project, and makes the Quantizer programmable in the Arduino IDE which hopefully lowers the barrier to firmware development if anyone is interested in that.

A key component of a quantizer is a digital-to-analog converter (DAC), which should be highly linear to ensure all quantized notes are in tune. Rather than a fancy DAC chip I went with filtered pulse-width modulation (PWM). While PWM has limitations, it gives excellent linearity since the output voltage steps are derived from the accurate timing of the crystal oscillator. Filtering the PWM signal properly is challenging, but using a 4th order buffered passive filter the results were satisfactory.

A more detailed description of the hardware as well as schematics are available in the build document. The hardware part of this module is not open source, but like with my other designs personal, non-commercial use is allowed.

Software design

The firmware of the Quantizer is written in the Arduino IDE, and made available open-source such that anyone can make modifications or alternatives if desired. Due to the limited resources on the 8-bit microcontroller, hardware and software are fairly tightly knit together. If you fancy developing the firmware for this module, the comments in the code give the best starting point. Also feel free to get in touch, I am happy to help where I can.

Building the Quantizer

Are you intersted in a Quantizer for your own system? I recommend first reading the user manual to see if the Quantizer fits your needs, and then have a look at the build document for building information.

I offer PCBs and front panels for sale, and generally also pre-programmed microcontroller chips if you don't fancy programming it yourself. The build involves a few 0805 and SOIC-size SMD components, but is mostly through-hole. While the component count is high compared to my other modules, there is nothing particularly difficult in the build.

All documentation can be found on Github.


The short demo video below demonstrates some of the Quantizer features. The Beatstep Pro drives a slow 4-note sequence which is fed to the CV A input and set to change the Rotation of the Quantizer. This creates a simple chord progression.

The melody voice comes from Quantizer channel 1. It's input is a free-running LFO, and the trigger is provided by a second channel of the Beatstep Pro. This combination creates quantized pseudo-random melodies, which follow the key of the chord progression.

The chords are made up by two VCOs. One comes from channel 2 of the Quantizer, also fed by the same LFO, but triggered only on quarter notes. The second VCO plays the root note directly from the Beatstep Pro.


  1. Would good add short video (or not short), if it not difficult.

  2. Awesome.. after skimming through the documents.. Jaw droppingly awesome!

  3. Is there any way to get the LEDs to flash in the pitch that is happening? Kind of like the uScales does.

    BTW I love the module!

    1. Something like this could be implemented. The LEDs are not PWMed (to avoid possible interference), so they can't flash brighter, but they could for example flash off briefly.

  4. This looks great. Would it ever be possible to purchase a kit?

    1. Hi! Both Thonk and Synthcube are working on kits for this module. I don't know when they will come out, best ask from the stores directly.

  5. Nice! I really like the trig-in kinda s&holding on incoming pitch cv function and the freely assignable a/b inputs (chord progression/key change).
    One question: 2 voices would be a little limiting in my setup; is there a way to have two quantizers (4 channels) working together sharing the same scale settings/ chord progression infos coming from one a/b cv in without having to program each quantizer/synch them?
    Thanks and big ups for this awesome piece of work!

  6. The two color switches are sold out.
    Do I miss anything by getting a single color version?

    1. Hi! The Quantizer uses normally single color switches, so that's fine! Dual color switches work also as a backup (only one color is used).

      Some videos show a mix of red and green switches, since I did not have enough of any single color during prototype development

    2. Thanks for the super fast reply.

      I will then order the color of my choice. Too bad TME doesn't seem to have any of them in stock, except for the silver ones.

  7. Hello Caspar,

    I'm wondering if microtonal scales could be somehow implemented. As this is based on coding, maybe it could work?


    1. Hi! The voltage output is based on PWM where 1 lsb change of the output is exactly 1/12 of a volt. This provides very good linearity (hence easy calibration), but does not allow for microtonal scales.

    2. Hi and thanks for the answer!
      I'll keep enjoying it as it is ;)