donderdag 18 juni 2026

1975 with Bluetooth

 In 1981 I had a Radioshack 150 in 1 kit, and it came with a circuit for a siren. You could replace the capacitor to make the frequency go up more slowly, and a button for it to go either up (charge capacitor) or down. I also had a Siare 12 Ohm oval speaker, which, when hooked up to this circuit, was quite loud.

On the first Monday of the month, at noon, the air raid alarm would play, and I would open the window and then make the same sound this way.

I still have the speaker, as you can see, and I was wondering what to do with it. I had already made a regular active monitor for my synthesizer using a TDA2030A and imagined I could do something similar here, and then realized it might be more fun to make it into a bluetooth speaker.

For the amplifier I decided to use the LM386, which should be powerful enough for this speaker, and is from approximately the same vintage (1975). I used the standard circuit in the datasheet, with a 220uF capacitor for decoupling and a 470uF capacitor for the speaker, mostly as these were available in my older drawers, to stick with the older components. However, the rest of the system needed to be newer.

To power the amplifier I used a MT3608 buck-boost converter, which can be bought as a ready made module on Amazon. This was set to slightly below 12V and also the source of my star ground configuration, to prevent ground loops. The power for this came from an Arduino breakout board that my sister had given me in Australia (from the excellent Altronics) which uses the TP4056. I decided to desolder the SMT LED from it and instead have regular LED on wires, so I could show them externally. I also got a 12mm USB-C jack to attach to it, so I could hook that up externally and the cheapest LiPo battery I could find on Amazon, which remarkably had a capacity of 3200mA and came  with a charger and a tester. I used double sided tape to mount it into the box, same as the MT3608. For the TP4056 I mounted it on tiny wood blocks, so it could remain cool.

The finally part was the Bluetooth module, for which I chose the VHM-314. I also tried to desolder the LED here, but it damaged the board, so instead I decided to drill a hole in the box for a lightpipe instead, and mounted the PCB using a screw, again from  1975 or before (it came out of my grandmother's cake box that my father filled with screws). This Bluetooth module is promiscuous, so it will hook up to anything that wants to.

The box itself was a standard enclosure of the size of the speaker. I also bought 3D mesh speaker cloth for it. Drilling the oval hole was involved, using lots of drilling and dremeling, but it worked. I had to add some double sided tape offset to not have the center magnet stick out. I finally added a switch to turn the thing on and off.

You can see the end result working here.



zondag 1 maart 2026

4 step sequencer schematic

 Just providing the schematic for the 4-step sequencer that I made, which is a basic design on the CD4017.


This schematic can be slightly improved by adding a 10k resistor between the OPAMP positive input and ground, as this will cause the potentiometers to become more logarithmic, thereby making it easier to tune in specific notes.

It can easily be expanded to 8 steps by moving the MR connection to Q8 and expanding it to Q4-Q7. Of course, even more steps are possible. Here is an example of the finished product with the 8 step expansion.

dinsdag 17 juni 2025

Adding Bluetooth to Eurorack

 

I have a new bluetooth headphone that I am testing, and I thought it would be nice if I could hook it up to my Eurorack. I therefore ordered a 4.1 Bluetooth Transmitter module which arrived the next day. The module is very small and came with a sample circuit (shown below). As you can see on the picture to the left, the module is very small, with the soldering points less than 1mm apart. In order to make this manageable I used the cut off pieces of my resistors as little extensions. I also added one to the on-board switch called "PAIR".

Most of the connections are as displayed in the diagram below, although I used a 1K resistor instead of 330 Ohm as I don't need the LED to be very bright. This has the added benefit that the on-board red LED can be seen shining through the yellow LED. I used a 3 position switch for the "PAIR" and "CONNECT" buttons, with the central position being normal operation and the left and right triggering one of the two options.

I left out the 100uF capacitor, although whether you need something depends on your Eurorack's power supply (I'd recommend at least 100nF up to 10uF. 100uF is definitely overkill). As per comments online I connected AGND to PGND (you can see the ground wires in the picture on the left as they are floating above the circuit).

I added a 100k dual gang potentiometer between the audio in and the module. Although I intended it for the output of the headphone amplifier I wanted to allow Eurorack modules to be plugged directly into this module as well, and having a volume control made this more likely to prevent issues. I should probably have added a separate resistor divider network, as currently I suspect you can still destroy the module if you have the knob all the way to the right and feed it a 10Vpp Eurorack signal.

The input jack is stereo, which means that if you use a mono patch cable one side will be silent. You can fix this by having a special mono to stereo patch cable. If you want to build this module specifically for Eurorack you may want to use a mono jack and feed the signal to both IN_L and IN_R, or you may want to add two input jacks, one for IN_L and one for IN_R.

It was surprising how easily this bluetooth module hooks up to devices. The moment I turned it on it immediately hooked up to my amplifier, and after switching it to pair and turning my headphone on it connected to that as well.

For the power input I just use a 2 pin header, which I wire to one of my PICmicro programming headers of which I always have one or two in my rack. If you don't have something like this, you can use a 16-pin header, or create a custom power cable that extracts the 5V from the power bus. If you prefer to keep a 10 pin header you will need a 78L05 (possibly with two capacitors and a diode) to provide the 5V from the 12V.

zaterdag 21 september 2024

Fixing key (Enter Key) on the Leopold FC900R (and similar)

 Yesterday the Enter key on my Leopold FC900R stopped responding accurately. If I hit it harder, it worked fine, but in general it missed entries. I cleaned the keyboard surrounding the key, blew into the switch, blew around the switch, but nothing fixed it. I ordered a new keyboard, the Dragon K671. The Dragon K671 behaves a bit differently and is definitely louder. It also has RGB lighting that needs to be turned off (there fortunately is a profile that disables it). However, despite its cheap price (it's 1/5th of the price of the Leopold FC900R) it came with a lot more pieces, including four spare keys. Since I now had spare keys, I wondered if I could fix my enter key on the Leopold that way.

A quick search told me the Leopold keyboard wasn't hot-swappable, but I do have a soldering iron and the Leopold FC900R only had 3 screws (one hidden under the OK sticker). After removing the screws and lifting the tabs all around the edge, the keyboard, and the dust, became visible. The USB plug needed to be undone from the inside still, and after that it was just a matter of figuring out which of the soldering points was the Enter key. The holes that are soldered through are very large, which makes desoldering a breeze. No wick is needed, you can just use the trusted suction device and soon the pins are floating freely in the PCB. Turning t he keyboard around and wiggling a screwdriver under the switch removes it, and after that it is just a matter of putting one of the Red Dragon keys in place, and soldering it. It worked immediately, so now I have two working keyboards, which isn't intentional but it is nice.

Of course, the Red Dragon switch is red, and the Leopold 900R has blue switches, but I doubt this matters for the enter key specifically. If it was any of the other keys it probably would caused some issues.

woensdag 13 december 2023

PICmicro PWM VCO

Many of the 8-bit PICmicro microcontrollers have a PWM built in, which usually is used to do D/A conversion by changing the pulse width and adding a low pass filter (see other posts on this blog). I was curious whether instead of doing this, it might be possible to use the actual PWM output as the waveform, turning this into a VCO.

I used the 16F690, mostly because I am familiar with it and because I have a number of them in a drawer. It has analog inputs that can be used to convert the input voltage, and a single PWM. To get the PWM frequencies in the audible range I changed the clock frequency of the microcontroller to 125 kHz. Fortunately this is easy. I then computed which notes it could play, from C1 to D#6 and determined the appropriate values. I decided that I'd accept an input voltage from 0V for C1 to 5.33V for D#6. Since the PICmicro can only accept voltages up to 5V this meant I had to have a voltage divider. I decided to use two OPAMP for this: one that allowed adding and subtracting -6V to 6V to the input voltage, and the other to divide the voltage and invert it back to the normal range. This worked fine.

For the PWM input I used a default of 5V which was fed through an attenuator, so if the cable is not plugged in it had a range from 0-5V, and if the cable was plugged in the incoming voltage could be attentuated. That was fed to the second analog channel. Since the PWM range changes with each note I had to build a clever piece of code that checked each bit of the incoming data and add various divisions of the maximum range.

Finally, since the output only moves between 0V and 5V, I added a transistor inverter with CV input, so I got a free VCA. The output of this I pushed through a high pass filter to remove the DC component and will be multiplying by two so I get 10 Vpp (I didn't make this currently, but it just means adding two 47k resistors to the OPAMP). I will add schematics later, but I wanted to at least publish the current source code.

I needed to use assembly because at 125 kHz the processor is quite slow, and I do need to do the A/D conversion and output fast enough to not have issues with latency between notes.



donderdag 26 oktober 2023

Twin Twin-T Kickdrum

 For my next project I wanted to take the two kick drums I had in one of my most dense modules and give them some space. I also decided to use the design of Moritz Klein instead of the design I used then, because it allowed for longer decay times due to the second OPAMP (see his video for more details). I still wanted to have two drums, rather than one, so I decided to forgo the CV inputs for accent and tone and instead double the drums and add a mixer that mixes them together.


 The purple drum is missing the tone control, and instead is fixed at 47k/22nF. I used 10nF and 22nF capacitors for the drums, tuning one slightly higher and the other slightly lower. I didn't use the 3.3nF capacitor for the distortion, so the sound is a bit harsher. I tried to minimize the wires, but it still ended up rather a big mess.


One big modification I did was to use the gate to trigger circuit I made for a 10F206, apply it to a 10F202 instead. This made the trigger circuit a lot easier. The complete schematic is as follows:

I also have a short video showing how it works and what it sounds like.




vrijdag 13 oktober 2023

PS/2 MIDI Eurorack module edition

 

I made a Eurorack version of the PS/2 MIDI project I did a while ago. It features a PS/2 input (which can accept USB keyboards that comply with the PS/2 protocol as well, which my most recent mechanical keyboard does), a MIDI output (now with 5 channels: 1 direct play, 3 recorded and 1 for drums), a 1v/oct output of the main notes and a gate belonging to that 1v/oct. There is also an LED that will show that the gate output works when there is no plug in the jack (this is done to prevent unnecessary energy use by the LED, given that my own power supplies can only supply 300 mA).

The source code is available, and I will try to keep it updated with future improvements. The source code can run both on a 20 MHz PIC16F690 or a 8 MHz one, depending on the presence of the MODULE definition.

F1-F4 can be used to record the different tracks. It can play 4 different drum sounds at the same time, each with a selection of 3 different drums for a total of 12 options. A future module will expose the recorded channels as 1v/oct as well.

Originally I used a Sallen-Key filter for the PWM, but it turned out this created some spiky behavior that especially my Chipz module didn't like on the input, so I switched it to a plain two pole low pass filter.

This is the first module for which I made by own panel out of aluminum, which was an exciting and slightly scary thing to do, involving sawing, drilling, dremeling, sanding and painting. The painting was the biggest struggle, as you can see the bottom part has a slightly different hue.

zondag 1 oktober 2023

PS/2 Keyboard Output (sending data to a keyboard)

As you have seen on this blog I have made multiple implementations that allow reading data from a PS/2 keyboard. However, in order to control the LED you have to also be able to write to the keyboard. This is far trickier than it seems, and the documentation on the Internet is limited. Basically the best document is only available using the wayback machine. There is also a working piece of code for the Arduino which isn't pretty and uses interrupts, which can be something people would shy away from (although I might try to implement a version with it).

The most important aspect is the timing schedule. There are many diagrams on the Internet, and most of them are wrong. This is the correct diagram, made by Craig Peacock and copied from the above linked website.


And here is a simplified C code implementation for PicMicro processors (suspendKeyboard() will take the clock line and move it to 0, resumeKeyboard() will release the clock line, keyboardClockHigh() waits for the clock line to go high, keyboardClockLow() waits for the clock line to go low, RB4 is considered to be the data line):

void sendKeyboard(unsigned char value, unsigned char parity) {
    suspendKeyboard();
    __delay_us(60);
    TRISBbits.TRISB4 = 0;
    PORTBbits.RB4 = 0;
    resumeKeyboard();
    keyboardClockHigh();
    for (int i = 0; i < 8; i++) {
        keyboardClockLow();
        if (value & 1) {
            PORTBbits.RB4 = 1;
        } else {
            PORTBbits.RB4 = 0;
        }
        value = value >> 1;
        keyboardClockHigh();
    }
    keyboardClockLow();
    if (parity) {
        PORTBbits.RB4 = 1;
    } else {
        PORTBbits.RB4 = 0;
    }
    keyboardClockHigh();
    keyboardClockLow();
    TRISBbits.TRISB4 = 1;
    while (PORTBbits.RB4) {};
    while (!PORTBbits.RB4) {};
    keyboardClockHigh();
    suspendKeyboard();
}

The full version of this code I will add later. Note that in order to actually change the LED on the keyboard, you need to send two bytes, as follows: first you need to send 0xED, then wait for the keyboard to respond with 0xFA, after which you send 0-7 based on which LED you wish to turn on. 

vrijdag 25 augustus 2023

Katoomba: Triple LFO

 

Katoomba is the triple LFO that featured previously on this blog, but with its own panel and custom PCB. It has the following features:

* Power usage: -12V 43mA/+12V 46mA.

* A medium speed LFO (0.01 Hz to 2 Hz) with triangle wave, square wave (0-5V) and square wave (-5-5V) outputs.

* A slow speed triangle LFO (0.001 Hz to 0.3 Hz).

* A fast speed LFO (1 Hz to 200 Hz) with two triangle wave outputs (0-5V and attenuated -5-5V).

Each LFO has an LED indicating its current polarity and the panel is language agnostic (although it still reads left to right).

The Katoomba was designed in EasyEDA (schematic will be at the bottom of this blog post) based on the circuit from David Haillant with modifications to allow multiple outputs at the same time and different voltage levels. This version uses a 16-pin voltage connector, because it is more convenient for my setup, but it doesn't use 5V, so it could use a more standard 10-pin connector as well.

In this version I decided to use the smaller potentiometers to allow more room for the cables, but since these have the same footprint as the other potentiometers this can always be changed.








donderdag 3 augustus 2023

Black box - Gate to trigger

There are a number of cases where it is preferred to have a short trigger rather than a gate signal. This is yet another project for which a PIC10F206 was used. It uses all inputs and outputs, with one pair triggering each time the gate goes high (+2.1V or higher) and the other pair triggering each time the gate goes high OR low. This latter option can be used to double a clock if needed. Both can operate in the audio rate range, although it falters when the triggers get the same width as the incoming square wave.

The source code is here. The circuit just uses 2.2k jacks connecting things to the microcontroller, relying on the internal diodes to protect against voltages outside of the 0-5V range (since they can handle 20mA, this shouldn't be a problem at all with these resistors. Of course it would push the circuit out of specification, as it can't protect against other disturbances anymore).


woensdag 2 augustus 2023

Black Box - Decay

 The decay of the black box is different from the decay that I made for eurorack. That decay had the voltage drop as the capacitor filled, this decay is the more classic model which first quickly charges the capacitor (using a 200 Ohm resistor) and then discharges it through the potentiometer with an added resistor for safety.

The trigger is made using another PIC10F206, because it allowed precise control over the charging time, which needed to be around 5ms, as the capacitor I chose was a 4.7uF ceramic one. I used an MCP6272 to buffer the output as well as control the LED. Finally I used my classic transistor inverter circuit using the 2N2222 to feed the signal back into the trigger jack. This means that if no cable is plugged in the decay will feed on itself: each time the voltage drops below 600mV it will trigger itself again. This means it can basically be used as a kind of LFO.

Because of the code, there is a possibility that this fails if the speed is increased too much. After this happens it will not restart until a normal trigger is applied. This can, of course, be done using the 0-5V dial of the black box itself. In the code there is a loop to charge the capacitor. The reason why the same if statement appears twice is to time the loop to be close to 5ms.

Here is a (hopefully correct) version of the schematic.





dinsdag 1 augustus 2023

Black box - Metallic noise generator

 The black box noise generator is quite similar to the earlier metallic noise generator that was in the drum module. The changes are that it doesn't handle the decay (there is a separate decay part in the black box) and it allows for reducing the number of oscillators used with a second input.

In this picture the decay module and trigger module aren't present yet.

The "N" button (and gate) allow switching the metallic noise to the next effect. The "A" is the CV of the VCA, which consists of a single transistor (like in the original schematic). "O" is the output, and "S" is the input that reduces the number of oscillators.

The new source code is here. You can hear how it sounds here.

maandag 31 juli 2023

Black box - Random notes on a minor scale

 This weekend I finished my black box, which is a 5V utility box (input voltage 6.6V and higher) to be used in combination with Eurorack. It has a number of functions, the first of which is the ability to provide random notes on a minor scale.


It uses a PIC10F206, with the GP3 the clock input, and GP0, GP1 and GP2 the random note output. In order to produce the voltage it alternates between these pins, and uses a very high frequency PWM signal. Between switches the port is set to input. An MCP6274 OPAMP is used to ensure that the voltage doesn't drop, and a two-pole passive low pass filter is used to ensure that PWM is smoothed out. The disadvantage of the passive low pass filter is a slowness between tones, but for the minor chords I'm hoping to generate this is alright.

The source code is available here. The circuit is relatively straight forward. The output is between 0-5V initially, and there are trimmers to lower this to a 1V/octave range.

vrijdag 20 januari 2023

Adding CV and gate to the Cellz

 The Cellz is one of the more inexpensive modules, mostly because its functionality often isn't good enough and it is outgrown and replaced by a proper sequencer. However, with a small amount of work it is possible to add CV and gate to the Cellz, increasing its useful lifespan and perhaps even good enough to purchase one (I got my spare for US $44).

Adding CV allows the Cellz to be used as a quantizer, and in combination with stepping through all the sequencer steps this can also be used to automatically record quantized phrases into it. Here is a short video of what the project looks like:

As you can see, when the gate is high, it passes through the voltages from CV and quantizes them, and when the gate is low it keeps the last quantized value of that cell.

The circuit is reasonably simple. For each potentiometer on the Cellz I bent the middle pin and unsoldered it. I added header pins to the three places of the PCB where the potentiometer is connected and placed diodes between them, so that the middle pin can't exceed the values of the outer pins. The jack is connected to this with a 1k Ohm resistor and the pin of the potentiometer is connected to the switch of the jack, so that the Cellz continues to work normally when no plug is inserted.

For the gate the emitter and collector of a transistor are placed over the switch (one side of the switch is ground, and one side of the potentiometer is ground as well, so you only need to have one wire for both) and the jack is connected to the base of this transistor using a 15k Ohm resistor. There is already a 10k Ohm pullup resistor for the switch in the Cellz, so no other components are needed.

In total you'll need 8 wires from the Cellz: 5V, 0V, 2x2 for each potentiometer, and two wires for the switches. You may not need to use header pins on the Cellz side, except for the middle potentiometers, because there you may want to be able to plug in the wire back onto the header so you don't need the expansion board if you don't want it.

I used header pins everywhere, except to hook up the potentiometers, for which I just cut one female header jumper wire in half and soldered it to each of them.

I'd recommend shorter jumper wires than I used (20cm) but these were the ones I had and therefore the ones I used.

I also added a more detailed picture of how the potentiometer looks after desoldering the pin. This is the hardest part, as the Cellz uses lead-free solder which means you iron needs quite a high temperature (>400 degrees Celsius) in order to do this. First I sucked up some solder with the solder sucker, then I used a screwdriver to pull the pin out. With pliers I straightened out the pin and soldered the wire to it.

At the bottom of this post is the schematic. The header doesn't match the one I soldered together, but it is up to you how you want them to be hooked up.



vrijdag 25 november 2022

Mosha Eurorack Modules #10: I/O Module (Head phone output and MIDI input)

 

The I/O Module is a 6 HP module that provides some input and output facilities. The black knob is a double potentiometer that controls the left and the right channels. If a cable is plugged into the gold jack it will be either the left channel or both channels, and a cable plugged into the purple jack will be the right channel. The output is a TRS jack with the black dial controlling the volume. It uses two NE5532 OPAMP, one for each channel. The input voltage is divided by 5 using a resistor network. Because a dual voltage system is used, there is no output capacitor to normal the voltage.

The bottom six jacks are all MIDI related. The MIDI input is fed to the board from the rear of the box using a special conversion circuit (shown below. The 10k resistor in this circuit is essential and occasionally missing in online versions of this circuit). The optocoupler prevents ground loops through the MIDI cable and is required by the MIDI protocol for receiving data. There are two headers on the module, one to provide power to this circuit and one to transfer the MIDI signal to the PIC16F690 that is used to convert the MIDI.

The PIC16F690 was chosen because it has an USART (for MIDI) an analog input and a PWM that can be used as an analog output, and it can be programmed by the PICkit 2. The MIDI outputs are, in order: CV out for MIDI notes played on channel 4. The gate signal of these MIDI notes. The clock signal of the MIDI, and three drums from channel 10. The source code for the MIDI is available here.

To ensure a quick response to frequency changes the PIC16F690 is running at 20Mhz, which also allows 10-bit accuracy. There's a two pole active filter to prevent the PWM signal from interfering with the output, and a small trim potentiometer that allows setting the output voltage from 1x to 2.1x (10k with 9.1k non-inverting OPAMP, which may not be enough).



woensdag 23 november 2022

Mosha Eurorack Modules #9: Double Mixer

 

The double mixer is a 6 HP module that, as the name implies, has two mixers: a golden one and a purple one. As usual, round jacks are inputs, and hexagonal ones are outputs. The golden mixer has two inputs, one that can be attenuated and one that is fixed. It also has one non-inverting output. The circuit is basically an inverting OPAMP for the mix part, and a second OPAMP to invert the signal again. The jack has +5V by default, so the mixer can be used to provide a 0V to 5V signal if it isn't used for anything else.

The purple mixer has all the features of the golden mixer, but in addition it has a third input so it can mix three signals together, and it has an output at the inverted stage. This means it can be used to provide both a 0V to 5V signal and a 0V to -5V signal if no other signals are mixed. It can be combined with the golden mixer for a 0V to 10V and a 0V to -10V signal, if desired.

maandag 21 november 2022

Schematic of the Decay and the Metallic oscillator

 Turns out I had a schematic made of the decay, which is included here:


As well as one of the metallic oscillator, which is here:





zondag 20 november 2022

Mosha Eurorack Modules #8: Drum Module

 

The Drum Module is a 6 HP module with 4 different sound generators. The silver knob is for metallic sounds, with 5 separate oscillators. The knob controls both the decay (middle is highest decay) and filter (right is highest filter) of the sound. Each time a cable is plugged into the jack it will randomize the oscillator values, so the sound can be changed by replugging the cable.

The black knob is for a noise generator adding short bits of noise to other drums. Again the knob controls both decay and filter. The two gold knobs are for the two tom drums. The knobs control the pitch, whereas the purple knob controls the decay of the two toms (making one shorter makes the other longer). There is one output jack at the bottom, and four trigger jacks above it.

The circuits for each of the drums are different. The silver knob uses a PIC10F206 to generate the sound (source code). One of the pins of the PIC10F206 powers an one-transistor inverter with a capacitor, which allows a very clean decay to occur. This is then pushed through a TL074 OPAMP for both filtering and buffering, and then moved to a final inverting amplifier that sums the signals of the four drums with a 100k Ohm input. Since the metallic sounds can be quite loud there's also a trim potentiometer to adjust the level.

The black knob uses the standard noise circuit of the beat box instructable. There is a separate OPAMP to amplify the result. The decay is done using a JFET with a circuit from squarewav. This is not the best circuit, even with careful selection of resistors the decay is cut off rather early.

The tom drums are based on the simple twin T-drum design from Krakenpine. It was simplified even more by removing the tone and distortion parts and not massaging the input signal (because it will always come from the drum sequencer).

zondag 13 november 2022

Mosha Eurorack Modules #7: Drum Sequencer

 

The drum sequencer is a 6 HP module that sequences drums. It was intended for the drum module, but could be used for anything that needs a fixed pattern of gates over a 15 or 16 step period. There are 8 outputs, each with a different rhythm. There are lights behind the jacks that show the pattern before a cable is plugged in. This makes it clear which plug is which pattern, but avoids additional power use while the pattern is used.

The patterns themselves are chosen using a switch. In the middle position it will use the standard 16 beat patterns. In the down position it will use the standard 15 beat patterns. In the up position it will randomize the patterns once, and then use the randomized patterns. This pattern is stored in memory, so after a restart the pattern will remain the same.

There is one input, which is the clock. This determines the speed at which the beats happen. Beats can happen on clock up and on clock down, which means that the outputs can be twice as fast as the inputs when needed.

There is an ICSP connector at the back that allows the rhythms to be changed. The circuit is exceptionally simple: it is a 16F684 and all gates are connected using a 1k resistor. It therefore relies on the diodes in the PIC16F684 to prevent damage, but this generally isn't a problem.

The source code is available here.

zaterdag 12 november 2022

Mosha Eurorack Modules #6: VCF


The VCF is a 6 HP module that has an LM13700 based filter using a mixture of designs by Look Mum No Computer, RĂ©ne Schmitz and Moritz Klein. It is nearly 1V/oct, but not quite, but the voltage control circuit is simpler than most. There is a -12V to 12V offset that can be added manually to the CV input, and a separate knob for resonance. There are two inputs. The entire VCF part is using the gold colors, the purple colors are a separate filter that isn't voltage controlled, but uses a two-colored LED for a more gritty response in the feedback loop. It also uses 10nF instead of 1nF capacitors.

A full circuit diagram is included in this blog post, however, this may not exactly match the built version and there may be errors in it. Although multiple circuits suggest to use the buffers internal to the LM13700 there is some trouble making sure that they are offset correctly, and it is therefore easier to use the TL074. This also provides a cleaner sound.