Showing posts with label stripboard. Show all posts
Showing posts with label stripboard. Show all posts

Monday, 15 December 2025

Synthesizer Build part-69: FEATURE RICH SUB-OSCILLATOR.

A great sub-oscillator taken from the Thomas Henry VCO Maximus. It has -1,-1.5, -2,-3 octaves, octaves or fifths (interval), polarity setting and a blend option with the original pulse wave. The suboscillator will react to the pulse width of the input wave too. It will even react to FM and Hard Sync from any VCO you combine it with.

I never featured a sub-oscillator design on my website before but I was looking for a good design which I wanted to combine with the X4046 VCO to build my version of the ultimate analog VCO for Techno Music in Eurorack format on PCB.
So I found this design on the Birth of a Synth website, a website that provided many excellent projects already, and I needed to test it before I could add it to the 4046 VCO I'm designing in KiCad, so I made a stripboard layout for it and it worked great. 
This sub oscillator comes from the VCO Maximus design which is a 3340 VCO like the Digisound-80 from project 18 and the squarewave output is at 0V to +10V instead of +/-5V like the X4046 VCO. The sub-oscillator does not work with a bi-polar signal on the input so I added an offset feature so you can trim the input wave to be unipolar and therefore this suboscillator as presented here will work with both uni-polar and bi-polar signals on the input as long as you trim the input signal to be 0V to +8 to +10V. The output wave is bi-polar +/-5V.

SCHEMATIC:
Here's the schematic I used for this project:


In this schematic I drew in the offset feature and the IC numbering is adjusted to match the layout. I also changed the value of some resistors to make the circuit work on a voltage of +12V instead of +15V. 
Here's how it works: a bi-polar pulsewave, coming from the X4046 VCO (in my case) goes into the inverting input of the opamp and gets pulled down by the trimmer voltage to become a negative unipolar signal. So the input becomes 0V to -10V which is inverted to 0V to +10V by the opamp's inverting action. Exactly what we need. After the signal has been processed by the logic chips it gets turned back into a bi-polar signal by the output opamp which has half of the positive powerrail voltage on its inverting input by means of the resistor voltage divider (the two 10K resistors) which will push the signal down again to become +/-10V. By using the input trimmer you can set the output signal to be symmetrical. The output signal amplitude then gets cut in half by the resistor voltage divider R15 and R8 which, for use with 12V, need to be 2K2 each. I altered the schematic accordingly. 
Capacitor C3 (47pF) ensures the incoming pulse signal doesn't overwhelm the flip-flops which would result in tiny spikes in the signal which would disrupt the working of the sub oscillator so it's a very important component.
This suboscillator consists of a number of exclusive OR gates in the CD4070 and two flip-flops in the CD4013 for octave switching. You can set the octaves between -1 and -2, you can set the polarity of the signal between positive and negative. It allows you to add or subtract the subdivided pulse from the original. The different sub division options through the switch settings can give a divide by 1.5, 2, 3 or even 6. Any changes in pulse-width made to the input wave will be carried through into the sub-oscillator, further expanding its sonic diversity.
I urge you to read the original Birth of a Synth article I linked to above for more information on that. It's very informative and explains it better than I ever could.

LAYOUTS:
Here are the layouts I made for this project. As always they are verified, I used them for my tests.
I altered the layouts in so far that I changed the two output resistor values from 3K3 and 1K8 to 2K2 for both resistors. This will increase the output amplitude of the pulse wave for use with +/-12V power supplies (Eurorack/Kosmo).
Wiring diagram:


Stripboard only:


Cuts and wirebridges:
There are 31 wirebridges to put in and that's why it takes up a lot of space dispite this being a project with very few components. However, I managed to keep the board to 41 holes width with room to spare so it will fit behind a Eurorack faceplate if necessary.
 
Bill of Materials:


Make sure you get your logic chips from a reputable source. There are a lot of fakes on the market and this design might not work well when you use those. Never buy IC's from AliExpress.

OSCILLOSCOPE SCREENSHOTS:
Here are some of the test results from the oscilloscope. They look amazing and show that this is not your average sub oscillator but quite a cool addition to any VCO. It's easy enough to make this as a stand alone module so you can plug any VCO into it. The Blue wave is the input wave.

Divided by 3:

Blend potmeter half open:

Polarity lets you add or subtrackt the subdivided signal from the original pulse. Below you can see that the bottom half of the waveform is gone. This is caused by a bad chip connection or just a bad chip. I put in a different CD4013 and the problem was over. In my case the bottom half disappeared when I switched from -1 Octave to -2. In a later module of the 4046 Super VCO I had this same problem and the 4013 chip actually got really hot. It turned out to be a fake. I put in good ones and the problem was over. 


In the next 3 pictures you see what happens when the blend potmeter is used. The middle bits of the waves move past eachother. The top one moves down and the bottom one moves up until they form one squarewave again. That sounds really cool. Unfortunately there's no CV control for the Blend feature but it wouldn't be too difficult to put a Vactrol over it so it's not impossible.




With the switches at -2 oct and oct/5th at oct I measure for instance 40Hz
If I switch to 5th that goes up to 53.4Hz and switching to -1 octaves it goes to 106.6Hz

Below a picture of my stripboard build. Because I only built this to test how it works and see if it would be compatible with other VCO's, I did not make a panel for it. So this is as far as I got with this project. Well worth the effort. It's a great suboscillator and would make a great stand-alone module.


Here is the finished product, the PCB that forms the back plate of the '4046 Super VCO' module.


Below you can see the finished VCO module. The suboscillator in it works like a charm thanks to the input offset feature. It really is an awesome addition to any VCO and in this one you get that really low bass in your stomach combined with the awesome hard sync and FM features. The suboscillator works very well with the Hard Sync function and you can get the weirdest sounds from it from bell like ringmodulatory sounds to Atari computer sounds.

It's a killer combination and I'm really proud of this one and dispite the reputation that this VCO has with bad tracking when using a Texas Instruments CD4046, I had problems with inaccurate tuning with only one out of three I built so far. 


And that's really all there is to this article. It's short but sweet. 

VIDEO DEMO:
Instead of making a demo myself I though I might aswell post Thomas Henry's own demo video of this suboscillator here. It shows all the options including the influence of pulse width modulation.


I hope you enjoy building this project as much as I did. If you have any questions please leave them in the comments below or on the special Facebook Group for this website.

If you like this content and would like to support my efforts and the upkeep of the website you can find a donation button underneath the main menu or you can CLICK HERE to cut out the middle man. Thank you very much!!

Sunday, 20 April 2025

Synthesizer Build part-68: VC DELAY by BMC.

This is BMC 83 the voltage controlled delay using the Princeton Technology (PT) 2399 chip. This is a eurorack friendly project.

-- There are now PCBs available for this project --

Dispite the fact I built over 68 projects I never build a digital delay or reverb, except for project 11 but that was a ready made effects unit. This project takes care of that. It can deliver good fidelity delays of up to about a second. It can actually do delays of upto 4 seconds but then the fidelity drops fast. The PT2399 wasn't made for such long delay times but shorter times, upto around a second, sound really good and with the long times you get some cool distortion, sort of a bitcrush effect.
This was quite an easy project to build. You can find the original article on the Barton Musical Circuits website. There are audio demonstrations on that website so you can hear what the delay sounds like. I also made a demo video myself which you can find at the bottom of this article.
This circuit will work fine on both a dual 12V or a dual 15V powersupply.


The finished delay module

Here's the schematic I used to make my layout from. I changed the opamp numbering to match that of the layout.


I didn't use the 10 Ω resistors in the powerrails as shown on the schematic. But if you have problems with hum you can include them. On the layout below, you could put a 10 Ω resistor from K-3 to I-3 and then lead the red wirebridges from there and the purple wirebridge could be replaced with a 10 Ω resistor for the negative voltage rails.
The diode and 1M resistor in combination with the 100nF cap and the top transistor with collector to pin 6 of the PT2399 make up an anti latch-up circuit that presents a high impedance to pin 6 in the first 400mSec after you switch on which gives the internal oscillator time to warm up and prevents the chip from latching up and crashing which can happen if the resistance between pin 6 and ground is less than 2K at start-up. After start-up this resistance can be much lower but not a straight short to ground. In this module the resistance is then controlled by the second transistor which is opened up by the time control potmeter or external CV input. This resistance controls the delay time.
So there are voltage controls with level potmeters for the delay time and the return amount and the module has an audio output that outputs just the delayed signal and a mixed audio output which mixes the original signal in with the delayed signal controlled by the 'Mix' potmeter. There's also a tone control potmeter which influences the return time more than it influences the tone, I noticed (see demo video below)
The delay time range goes from 60 milliseconds to 4 seconds but like I mentioned earlier the audio fidelity drops quite a bit with longer delay times, mostly at times longer than 1.5 seconds but that doesn't have to be a bad thing. It has quite a cool distortion effect. With the longest delay times you do get some clicks and artifacts mixed in the audio but it's not much. The delay doesn't do well with very high frequencies and over modulated audio. It's advisable to use a level potmeter on the audio input.
The delay times are controlled by the two transistors forming a voltage controlled current sink. The 47 Ω resistor at the emitter of the bottom transistor determins the shortest delay time while the 330K in parallel from the collector to ground determins the maximum delay time.
In my own build I did notice quite some dead space at the beginning (ccw side) of the 'Time' potmeter but lowering the value of the 47 Ω resistor didn't do anything. 
I also noticed the Tone control can add some noise to the output if you turn it up more but that's inherent to the circuit.
I urge you to download the PDF accompanying the original project. It has a comprehensive description of how the circuit works and what all the components do. 
Here's a block diagram of how the delay works. This is also from the PDF that comes with the build instructions on the BMC website


Audio in 2 is the Return input and it has the Direct Output normalled to the socket switch. So if you take the direct output into an external effect module and take the output from that module and connect it to the return input you can have an external effects loop going, creating all sorts of possibilities. You can, for instance, lead the direct output into a lowpass filter and have the VCF out connected back to the return input.

HOW TO PATCH UP THE MODULE:
To get the best out of this module you need to make a synthesizer voice in your modular synthesizer where this delay sits behind the VCA at the end of the signal chain. You can also patch it up so that the delay sits inbetween two VCA's and have the second VCA opened by an ADSR with a slow Release time. That way you get more control over the Delay time, but it's not necessary. The minimum Delay time is 60mSeconds so it won't be able to create flanging or chorus effects. But you can mix in the effect with the clean signal by using the Mix control and the Mix output.

LAYOUTS:
Here are the layouts I made for this project. They are verified as always. I used them to build my module. This was almost another hole in one. I made one little mistake. I had all four non inverting inputs of the TL074 grounded only the last opamp with the direct output must not be grounded. Once I corrected that the circuit sprung to life. Pins 5 and 10 of the TL074 are connected through the strip underneath the chip. The 'Tone' control potmeter has pin 1 not connected. It's important to wire it the way you see in the layout or it won't work properly.
Wiring:


Stripboard only:


Cuts and wirebridges. You know the drill, mark the cuts on the component side using this guide and then stick a pin through the marked holes and mark them again on the copper side. Then cut the marked positions with a hand held 6- or 7mm dril bit.
Don't forget to cut position P-8 underneath the ground wirebridge.


Here is the Bill of Materials. 
It might be a good idea to use a logarithmic 100K potmeter (A100K) for the return potmeter. A lot of changes happen quite early in the throw of that potmeter. However I used a linear 100K myself and that works fine too. But the log type would be more convenient. You could use other value potmeters for all but the Tone Control. That has to be a 10K linear potmeter. The other potmeters are just voltage dividers in this circuit.


PICTURES:
Here are some pictures from the build proces:
I left out the two short wirebridges that connect all 3 ground strips at the eurorack connector together. Instead I soldered them together with some extra solder bridging the gaps.


Stripboard all wired up for testing. I normally only wire things up when I have the panel ready so I can keep the wires as short as possible but with this module I had to be sure first that everything worked. Anyway, it made mounting the board behind the panel easier coz no need for soldering and I was able to stuff all the wiring underneath the stripboard out of harms way.


This is the panel with the waterslide paper applied ready to receive a final thick coat of clear lacquer. The panel is 14hp wide (7CM). the width I normally use because it allows me to mount the stripboard flat behind the panel keeping the depth to a minimum.


Here's the panel design I made in Photoshop just in case you want to use it. It's in A-4 format 300pix/Inch resolution.

Module on the test bench:


The rear of the module. It's 3.8 cm deep so it will fit any Eurorack case.


VIDEO DEMO:
Here's a little demo I recorded showing the module in action.



Here's an interesting look at the inside workings of the PT2399 chip: --- click here ---

Okay, that's it for this one. Hope you like it.

If you have any questions or remarks about this project please put them in the comments below. Remember comments are moderated so they don't appear straightaway. Only after I read them.
You can also post questions on the special FaceBook group for this website.



Sunday, 6 April 2025

Synthesizer Build part-67: KASSUTRONICS PRECISION ADSR.

The best version of the 7555 based ADSR's on this website. This one uses precision rectifiers to eliminate the problems the previous versions have. This project is small enough for Eurorack and runs fine on dual 12V or 15V and is easy to build even for beginners.

There are PCBs available for this ADSR (8V output version). See 'PCB Service'

This is another version of the two 7555 ADSR's you've already seen on this website. The previous ones by Yusynth and Rene Schmitz had the problem that, because of diode voltage drop, the envelope wouldn't get down to 0 Volt after each cycle. The diode in series with the release potmeter would stop conducting when the voltage dropped to the threshold of 700mV in case of a 1N4148 and around 300mV for Schottky diodes.
This ADSR eliminates that problem.
By using precision rectifiers made up of a diode inside the feedback loop of an opamp, you solve the problem of the 700mVolt remaining after the release cycle and so the ADSR not returning to 0 Volt after each cycle. The opamp now has that voltage drop in the feedback loop and compensates for it, effectively creating a perfect diode.
I tried to address the voltage drop problem in the Rene Schmitz version by using Schottky diodes that have a very low voltage drop of about 0.3 V (300mV) and that already helped a lot. This version lowers that even further although on my oscilloscope I could still measure a tiny bit of voltage left over but the majority of that was due to the capacitor I was using. It was about 90mV. I used a normal electrolytic capacitor for testing. I then tried a Tantalum capacitor and that lowered the offset to around 10 to 20mV. That's almost the noise floor so really no problem what so ever. It's 35 times better than using a 1N4148 in the Yusynth ADSR. The reason for this is transistor resistance. The Gate voltage, if switched by a transistor, never reaches zero because of transistor resistance. But this is such a low voltage that you can totally ignore it. So please don't go fretting about 20 thousandths of a Volt. 20mV is equal to 0V!!
Use a 1µF Tantalum capacitor like the schematic says. The slowest risetime you can create with 1µF is 1.2 seconds. If you want longer risetimes you need to connect two caps to a switch so you switch between low and high speeds. That's up to you. I didn't include that option in this project but it's very easy to implement. 
If you want to read more about this ADSR then here's the link to the Kassutronics webpage.

Variations on this design:
Before we begin I want to mention I recently added a version of this ADSR that can output up to +10V instead of up to +8V (only when attack is fully closed. I have schematics and layouts for that version at the bottom of this article. This was an experiment and I don't think it adds much, I mean, +8V will open any VCA nicely and is more than enough for use with filters but the +10V will give you a little boost when attack is closed which might be fun to use with filters.

SCHEMATIC
I made some changes to the design of this ADSR. For one, I don't like the high value resistors on the gate input. I always get problems with the gate pulse not getting through. So because the Rene Schmitz version works so well I copied the Gate/Trigger section from that ADSR and put it in this one too. It's practically the same circuit but with different resistor values.
I also changed the inverted output to an attenuverted output. I find that much more useful because you can play with the attenuverter while you're feeding the ADSR signal into the CV input of a filter and get all sorts of cool sounds from it. You can turn it into a normal output if you need an extra output. Much more versatile I think. The schematic below has all the changes I made included.


Eventhough I used BAT43 Schottky diodes for D1 and D2 in the layouts below, you can just put in 1N4148 diodes. The voltagedrop isn't important here and both diodes have the same switching speed of 5nSec. They are just used here as reverse voltage protection.

Here's the KiCad version of the schematic. I'm teaching myself to work with KiCad and it's going very well. I taught myself in 3 days.


LAYOUTS:
Below are the layouts I made for this project. As always they are verified. I used them to build my ADSR and it worked rightaway. An other hole in one. 
I alterred the layouts a little one day after posting this article in so far that I added a transistor to drive the LED to avoid pulling down the envelope voltage. 

Wiring: (All potmeters viewed from the backside!) As you can see the potmeter wiring is a bit complicated looking so be accurate when wiring up the pots! 


Stripboard only:
If with testing you notice that the envelope doesn't come up when the Attack potmeter is fully closed then use a 330 Ω resistor in series with the Attack potmeter (R8) instead of the 100 Ω in the schematic. This is something I had to do with my build. 


Cuts and wirebridges seen from the component side.
You know the drill, mark the cuts on the component side, stick a pin through the marked holes and mark them again on the copper side and then cut on the marks.


Here's the Bill of Materials.
Not every component is numbered exactly as in the schematic but most of the resistors are. Order a Tantalum capacitor for C3 1µF/35V. You can use any type of 7555 timer chip. I used the ICM7555. Don't use a normal NE555 though. It might work but they're not ideal. It needs to be a CMOS type.
As usual I didn't put any decoupling caps in but if you want to include it, there's room enough on the stripboard. You can put two 100nF caps; one from plus to ground and one from ground to minus. If you feel you need extra stabilization put some 10µF caps over the power rails too. That's up to you, the ADSR works fine without them.


PICTURES and test results:
This ADSR has a very fast risetime. I measured risetimes of 550µSeconds! The output amplitude of the envelope has a maximum voltage of 8.4 Volt when you run this on a +/-12 Volt power supply. Maximum Sustain level is 8 Volts. This is determined by pin 6 of the 7555 (Threshold) which stops charging the capacitor at 2/3rds of VDD. (+8V). The timer stops and the capacitor is discharged through the Decay potmeter and U2-D and D4 to the Sustain level. The output will stay at the Sustain level until the Gate input stops. Then the capacitor will discharge through the Release potmeter, U2-A and D3 to 0V. As I mentioned before, the maximum risetime of the Attack phase is 1.2 seconds with a 1µF cap. If you need longer times you can put a 1µF and a 10µF on a switch and connect that to the stripboard, so you have a choise. The fast times sound amazing though when used on filters (especially the 303 filter).
Here are some pictures of the finished product. They were taken in the test phase so some components that are on the layout are not in these pictures (like the LED driver transistor for instance).
If you have problems with the ADSR not triggering correctly with certain equipment, try putting a pulldown resistor on the trigger/gate input. A 10K should work. This ADSR has a high input impedance so a pulldown resistor can be a solution for problems like that.



I used the same faceplate as I used for my previous 7555 ADSR's. I just exchanged the stripboard for this one and wired everything up again.


Here are some screenshots from the oscilloscope. The first one shows the extremely fast risetime of this ADSR/ With Attack set to zero you can get risetimes of 550µSeconds. This with a Tantalum cap and a 330 Ω resistor in series with the Attack potmeter, instead of 100 Ω in the schematic.


Below is a screenshot of the quickest pulse I could get with all potmeters closed. You can see the risetime is the same as above, about 550µSec and the releasetime is faster because it only has 100 Ω in series. It's about 400µSec.Total time is 992µSec. So you could create a waveform with a top frequency of 1kHz with this ADSR.


Below here is the normal and inverted output. The voltages indicated by the scope are a bit lower because I had the LED connected straight to the output. I now have the LED driven by a transistor which means no voltage pull-down so the real maximum voltage is about 8.4 Volt. Max sustain voltage is 8 Volt as is the case with all ADSR's that use a 7555 and are run on +12V because that voltage is 2/3rds the voltage of the positive powerrails. If you run it on +/-15V it would be +10V.
The sustain is actually very stable because of the use of precision rectifiers. There is no leakage of voltage from the sustain stage.
If you want to change the output voltage to 10V then checkout the rest of this article below where we change the output opamp from a voltage follower to a non inverting amplifier with a gain of 1.25



ENLARGING THE OUTPUT VOLTAGE TO +10V (sorta)
I thought about how to up the output voltage of this ADSR to +10V while running it on +/-12V and I asked ChatGPT and the best method is to put a bit of gain in the output opamp. So turning it from a voltage follower (or buffer) into a non-inverting amplifier with a gain of 1.25. Naturally the attenuverter needs to be re-routed too in that case, at least in the schematic. It turned out I didn't need to change the attenuverter connection in the layouts because it was already connected to pin 8. 
HOWEVER..... this will only provide a +10V output if the Attack is fully closed (CCW) because I had forgotten one thing. Pin 6 of the 7555 is still directly connected to the ADSR output so as soon as it measures 2/3rds of the  voltage rail (12/3)x2)=8 it resets, so what I forgot was to put a voltage divider in the reset line. You need a 1K8 resistor in the reset line to pin 6 of the 7555 and then a 8K2 from pin 6 to ground. Then you'll get a true +10V output however the potmeters are set, but it is really necessary? 8V will open a VCA just fine and with this mod you get a little boost when attack is closed which might be fun when used with filters but not of much practical use otherwise.
I made a layout etc anyway, in case you want to try it.

This is the schematic for this setup:


Gain of a non-inverting opamp: Gain= 1+(Rfeedback/Rground) = 1+(12/47) = 1.2553

I made some layouts for this version too. Really the only changes to make were to take out the wirebridge over pins 8 and 9 of the TL074 and putting in a 12K resistor instead and adding a 47K resistor from pin 9 to ground. That's all. So the cuts and wirebridges layout I posted earlier can also be used here except to leave out that wirebridge over pins 8 and 9.
To make this a true +10V ADSR you can replace the wirebridge from pin 8 of the TL074 to pin 6 of the 7555 with a 1K8 resistor and then put in a 8K2 resistor from pin 6 of the 7555 to ground (the 'L' strip).
I have not tested this. It might be that the 7555 doesn't like to have a resistor to ground, I don't know but it's easy to test and change back to how it was. If you find out, will you please contact me with your results so I can make a note of it here in the article.

Wiring:


Stripboard Only:


Let me mention that these layouts have not yet been verified but I don't see why it shouldn't work. If you built this version will you please contact me with the results you're getting so I can verify this layout. Thank you! (I've had confirmation that the schematic works, so the layout should work too.)
I made PCBs for this version and tested one of them and everything works but it's as I described earlier. You only get +10V if Attack is fully closed. If you open Attack it goes back to being a +8V ADSR,

TIP: using your ADSR as a VCO. Send the squarewave output of a VCO to the Gate input of the ADSR. Now your ADSR acts as a VCO and with the Attack and Decay you can shape your own wave. It's a trick used in Psy-Trance Techno music. This ADSR is fast enough to do this. I tried it and it sounds pretty cool when you then input it into a filter.

There is one more ADSR design that tries to really come down to zero volts after each cycle and that is the ADSR PRO by Davor Slamnig. You can visit his website by clicking here.
But really, the Kassutronics design is good enough and you're not going to notice any difference in practise so don't bother.

If you have any questions or remarks about this project then please put them in the comments below. Comments are moderated and don't appear straightaway!
You can also post your questions on the special facebook group for this website.

PLEASE CONSIDER DONATING.
If you find this content helpful, please consider donating to keep this website in the air and to contribute to future projects. There's a Ko-Fi donation button underneath the main menu if you're on a PC or Mac. Otherwise use this PayPal link to cut out the middle man. Thank you very much for your help!

Friday, 28 March 2025

Synthesizer Build part-66: ROLAND TB-303 VCF.

The famous acid house filter from the Roland TB-303. A Eurorack friendly project and a ladder-filter that sounds amazing. 

[EDIT Jan.2026] I have revised the schematic and layouts after a long midnight chat session with my friend Jake Jakaan who uses these filters in his psy-trance music. He made some changes to this filter that make it work much better for that Acid house sound. He built 3 of these so far according to the schematic below. There are PCBs available for this new version. See 'PCB Service'

TO ACID OR NOT TO ACID.
This is the 14th filter on this website and this is one with a very specific sound so I thought let's make a project out of this because I think that this filter in particular will be of great interest to many people because of it's unique sound. I based my layout on a layout that Jake Jakaan made from a schematic he found online in combination with the original service manual schematic of the TB-303 (TB 303 stands for Transistor Base 303). 
I have to warn you, the filter sounds great in itself but to get that Acid-House sound out of it requires more than just this filter. That specific sound is a delicate balance between filter settings and envelope input, slide of glide between the sequenced notes and maybe some LFO or offset voltage added. Playing legato might help (where not every note produces a gate signal), experiment with that.
When I first tried this filter I didn't get anything near that classic sound. However, I found some tips and instructions online which helped a lot. 
Resonance needs to be open to self oscillation. The cutoff control is most effective in the first part of the potmeter throw.
I posted a very helpful short video at the bottom of this article below the video demo's that tels you how to get that sound.
I got close in the end though as you can see in the demo video below. 
This is really the first filter I ever built that you have to learn how to use. I'm getting there tho ;)
The demo video is still from the earlier version. This new updated version works much better and is absolutely capable of delivering that acid squeel sound..

A LITTLE HISTORY:
The TB303 was a bass synthesizer made by Roland and released in 1981. It was supposed to simulate bass guitars but it sounded nothing like a bass guitar and it became a commercial flop. It was taken out of production in 1984 after a run of 10.000 units. These were sold off cheaply by Roland. (If only we knew then what we know now @___@)  However, cheap second hand 303's were picked up by electronic musicians and the twirping, squelching sound became a main stay of electronic dance music genres like Acid House, Chicago house and Techno. There are now numerous clones on the market and original units fetch prices of over $3000,- on the second hand market. Originals were also modified in the 80's, adding distortion and external inputs (Nova mod).
The TB-303 was designed by Tadao Kikumoto who also designed the TR-909 drum machine. It has a single oscillator which produces a sawtooth wave or a squarewave. This goes into a 24dB/Oct lowpass ladderfilter which is manipulated by an envelope generator. 
I have read that it's actually an 18dB/Oct lowpass filter instead of 24dB but I don't know if that's true.

SCHEMATIC:
Here is the revised schematic version 3. It's a bit low resolution because this was originally a file with a black background and bright green lines. I took it into Photoshop and inverted the image and brightened it up and made it more legible. I also included the transistor pinouts. All transistors on the schematic are NPN 2SC945's except for the two at the bottom marked 733. Those are two 2SA733 PNP transistors.
The transistors in the ladder are not numbered to avoid this schematic becoming a mess of numbers but the other transistors are numbered the same as on the layouts.
In the schematic below two resistors have been changed for trimmers, the 10K and the 100K to the wiper of the Cutoff potmeter. The 3rd pins on these trimmers are not connected. Why is that you might ask. Well electrically it makes no difference but leaving pin 3 unconnected can give you less noise in analog circuits. It's easier to de-solder should that be necessary and in case of a failure the result will be an open circuit instead of maxed out resistance. Easier to find that in a circuit.


The capacitors in the schematic are not marked as polarized but the 10µF electrolytic caps are obviously polarized and for the 1µF you can use either type. The layouts use un-polarized caps. 
In the layouts below I actually added a second CV input on top of the Envelope input. I connected that the same way as the envelope input, using a 56K resistor to T7. I find two CV inputs on a filter almost a necessity.

Here's the filter part of the service manual schematic for reference. It has two 2K2 resistors from +12V to T1 and T2 but that's a misprint. It needs to be 22K:


The filter does not use any negative voltage. It is powered by +12V and it also needs a +5V powerrails which is provided by the onboard voltage regulator. The +12V goes through a 100 Ohm resistor. I wondered whether or not to include that but I wanted to see how much voltage that resistor takes off from the original 12V and it's only 0.2V so I left it in but I lowered it to 10 Ohm..
Staying true to the original includes using 2SC945 transistors for the NPN trannies and 2SA733 for the PNP transistors. You can however use other transistors like the BC547 and BC557 but beware when you do because you'll have to redo the layouts. The 2SC945 and 2SA733 have an unusual pinout. It's emitter to the left, collector in the middle and base to the right. I had to constantly keep this in mind when designing the layouts and it wasn't easy but I managed it in a day.
The transistor pairs at the top and bottom of the ladder and the transistors next to it with the common emitter connection need to be matched pairs!! Very important with this filter.
I came to the conclusion that my usual method of matching on Hfe didn't meet the case here so I did it with setting up a differential amplifier on a small breadboard. The method is shown below.
I ordered a hundred of the 2SC945's and made 10 matched pairs and I used those transistors in this project even with the middle trannies in the ladder. I thought I might aswell use all matched transistors but you don't have to do that. You can use other transistor types like the BC547 and BC557 which are used in the Doepfer A-103 VCF6 filter but you'll have to redesign the layout because their pinout is different from the 2SC and 2SA transistors I used.
Two resistors have been replaced by trim pots, one in the Cutoff wiper to T7 and one at the bottom of the transistor ladder. These trimmers are mounted with pin 3 not connected.

MATCHING TRANSISTORS.
For this filter I didn't want to rely on just measuring Hfe and matching the transistors on that value. I used the Ian Fritz methode. I took a small piece of stripboard and set up a simple differential amplifier with two transistors. If the transistors are matched then the voltage measured between the two emitters should be zero. Make sure you let the transistors cool down after handling them with your fingers.
For D1 any silicon diode will do. The voltage drop over this diode ensures both transistors get exactly the same Collector Base voltage. Beware this setup requires a dual voltage source of +/-12V. You also need to make sure the two 100K resistors have as near as possible the same value.


You then need to switch the transistor positions and measure again. I didn't bother with that though. An other method is to leave one transistor in place and change the second one. If you find two transistors that display the same voltage difference from the fixed transistor, those two will be matched.

This method worked very well. I used matched pairs throughout the ladder filter and also for the differential amplifier made up of T1 and T2.

Please read the full article on transistor matching by downloading the article by Ian Fritz. 

Below is a picture of my transistor matching stripboard. I can get them matched to within 1/10,000th of a Volt or 0.1 milliVolt. I cut a DIP8 IC socket in half and connected the top and bottom pin together. I use that as socket for the transistors under test and with this setup I can measure NPN transistors with different pinouts because I have an emitter contact at the top and the bottom. I placed the sockets away from eachother to make it easier to change transistors without influencing the other transistor. I usually accept transistors that measure a difference within 0.3 milliVolt or lower. If you go to extremes with accuracy you'll be measuring until doomsday before you find a match.


LAYOUTS:
Below are the layouts for this project. I redid all the layouts to match the revised version of the schematic.

Wiring:
I numbered the transistors that are not part of the ladder, using the same order as in the schematic so you can easily understand which transistor is which when you compare it with the schematic. The light grey transistors are the 2SA733's. I included an extra CV input with the same level control as the Envelope input. 
The transistors in the ladder have the base and collector connected together so they actually function as diodes.
The envelope and CV input level potmeters used to have pin 3 connected to a 10K resistor but I took those resistors out and they are now connected straight to the emitter of T8.
If you look closely at the audio input you can see a 220K resistor on the stripboard that isn't used. I have the audio going straight into the filter through the 1µF cap. Originally that 220K should be in series with that cap but I think the value is too high. I later experimented with a lower value but you can also leave the resistor out.


Stripboard only view:


Cuts and wirebridges seen from the component side. As always, mark the cuts on the component side with a Sharpie or Edding marker and then stick a pin through the marked holes and mark them again on the copper side. Then cut the strips at the marked positions with a sharp hand held 6- or 7mm drill bit.
Some cuts have wirebridges going over them. Don't forget those!


Bill of materials:


PICTURES:
Here are some pictures of the build proces. This is from the old unrevised version so it's not completely the same as the layouts.:
Cuts and wirebridges done:


Everything is soldered in.



Here's the design I made for the panel. Feel free to us it if you want.


And here's how the panel came out:


You can see the colours don't come out as strong with clear waterslide paper as opposed to using white waterslide paper. But I like this effect. The design shouldn't be too overpowering I think.

Here's a look at the finished module:


Side/rear view. I had built a version before this one but it didn't work but I re-used the panel I made so the mounting holes are not positioned where they need to be so that's why the M3 bolt is bent sideways.


VIDEO DEMO:
This filter has that typical ladder filter quirck where if you turn the resonance up the volume goes down and you get less bass. Most ladder filters have this characteristic. The Moog ladderfilter does it and even the Doepfer A-103 VCF-6 does it. 
Here's demo, trying to get that Acid sound using some of the tips from the YouTube short video below. I came close but it's not quite there. I had a slowly rising sinewave on the CV input and a short pulsing envelope, with just some decay and all the other parameters of the ADSR closed. Instead of an LFO I think an offset voltage alone would be better. You can hear it reaches that "eeeuuurrrghhh" sound as the LFO rises in voltage but then it gets too high and it starts to whistle more. I'm going to do more experiments, using the voltage processor and see where that gets me.


Here's an other short test. Beside the envelope input I also had an offset voltage going into the CV input. That offset voltage came from the dual voltage processor to which I also had a sawtooth LFO connected. I set the processor in such a way that I always fed an offset voltage to the filter but the voltage would swing between about +2V to +4V. You can do this by raising the offset and then using the attenuverter to limit the maximum voltage. A very useful module to have in combination with this filter.


Here's a YouTube short explaining how to get the characteristic 303 sound:



Documentation:
Here's the webpage of Tim Stinchcombe about the TB303 ladder filter.

Here's Ian Fritz's original article on transistor matching in PDF form

That's all for this one.
If you have any questions or remarks about this project then please put them in the comments below or post them in the special facebook group for this website.

PLEASE CONSIDER DONATING.
If you find this content helpful, please consider donating to keep this website in the air and to contribute to future projects. There's a Ko-Fi donation button underneath the main menu if you're on a PC or Mac. Otherwise use this PayPal link to cut out the middle man. Thank you very much for your help!