808 hihats need some help

This just came out of my LTspice simulation :wink:

soundcloud link again, discourse can not find the track somehow…

Not too helpful, but every simulation takes 5-10 minutes with the “real” metallic noise.
So for testing I will just use a simple sine wave, that seems to be easier to compute.


Sounds really good. Hope it will be just as good when you build it :slight_smile:


The clipping circuit in the image has a lot of gain. Even though it’s a soft clipping configuration, it will probably even clip guitar signals.

You could try several diodes in series, or led which have a higher voltage drop. You can also put a resistor in series with the diodes

You could also try to increase the resistor from the inverting input to ground, or decrease the value of the pot. It will probably get you better range.

The two resistors on the non inverting input form a voltage divider, i’m guessing you could also try to make the incoming signal smaller to reduce the clipping


Thanks for the ideas for reducing the gain! The difference between using diodes and just driving the opamp over its rails is output level and diodes are a bit softer, right?
I will simulate a bit more, I think!

Seeing the post about Kassutronics wavefolder , I am wondering again if I should replace the transistor VCA in my 808 schematic with a OTA (LM13700), I could then simply use the kassutronics values for getting my clipping :wink: But what else would I get by using a OTA? it’s somewhat cleaner? more “hi-fi”? Do I notice that in a drum module? The mutant hihat does have OTAs, but is it worth it?


Yes the clipping will be ‘smoother’ when the diodes make the signal clip before power rail clipping occurs. But they will always have an influence on the sound if they are in the circuit.

You can also try back to back zener diodes (cathodes or anodes connected together). That way you can choose the clipping voltage. It will be the zener breakdown voltage + 0.7 volts. This sets the voltage that makes the feedback loop clip. Be aware that with the 1k resistor and the 100k pot it will clip into the power rail at very low rotation.

I’m Relatively new on synth stuff, so can’t help you on the ota’s, sorry :slight_smile:


I can really recommend you the DR-110’s open/closed charleston drum’s clone; this is my favorite hi-hat circuit ! These are quite similar to the 606’s circuit.

The mix between the metallic noise with white noise making the sound very realistic and sparkling/shiny !

I just need to adjust the bandpass filter (tune control) and the output level amplifier because we ear a little bit high-frequencies residual noise on audio signal…

This one is the cymbal part:

Here is the post with more details


You are right! It sounds really good!! But I have the panel already planned, there is not space for another sizzle knob!! :joy:


so it will be for your next module… ahah

I have 3 hi-hat in my DIY’s rack :smile:

  • a clone of 808 from eric archer
  • the simple but efficient’s percussive noise’s voice from MiaW
    (I love to playing with CV control of the decay!)
  • and this one based on DR-110

do you mean that it is enough or not??


hmmm maybe I remove the decay for the closed hihat and instead add a knob for the white noise…


great idea !! because decay’s control is really not necessary in a closed hat or I am wrong ? :slight_smile:

maybe that could be interested you:



That is really cool! Now I need to build a clap as well!! xD


This is the VCA, filter and output level section from the 808 hihats (with some adjustments, please ignore the shortcut around C13 and the dangling R72 :wink: ). The core VCA is Q6 and surrounding parts. The original did not have the voltage buffer (U5), but without that I could not get a lot of gain in U3. Can anyone explain why I need this buffer or what else I could do to get more gain? Maybe it’s better to use the OTA approach here, it seems simpler. But then I need to think about how to get the highpass filter (C23, C10, R34, R35, Q13,…) into that design…

1 Like

This is from http://www.ericarcher.net/wp-content/uploads/2014/07/tr-808-hihat-diy-project-revised-dec-2009.pdf:

You probably have that but there it is. I don’t see any reason why you would need to add a buffer, there’s 39k to a virtual ground which should not be hard to drive. In yours there’s 100k to ground which isn’t that big a difference. Why is that 100k pulldown there, by the way? I’d say revert to the original and measure the emitter voltage on T12 (your Q13), verify it doesn’t change much when connected to C23 and R54. If it does that’s surprising to me.

1 Like

Yeah, that is the schematic I am using as a blueprint. :slight_smile: The 100k pulldown is weird, I know, but without it, things are really crazy

Orange is before C11(C23 in Eric Archer’s), Blue is at the non inverting input of U5 and red is the output of the voltage buffer…

1 Like

Another issue came up. If I compute the frequencies from the 40106 from the datasheet

I get

R, C, f_datasheet, f_LTspice
300.0 22.0 186.521 230
270.0 18.0 253.300 317
220.0 18.0 310.868 387
680.0 10.0 181.035 227
560.0 10.0 219.828 225
560.0 18.0 122.126 273

Which is quite different!

Below is my python code (it does not print the values from LTspice, I added them by hand) to compute the frequencies. Any obvious mistakes? why is there such a difference?
In LTspice I used VDD =5V as a well.

#!/usr/bin/env python3

import numpy as np

def cd40106_astable_vibrator_freq(R, C, Vdd=5, Vp=2.9, Vn=1.9,):
    from the dataset
    returns frequency in Hz
    t_a = R * C * np.log(Vp/Vn * ((Vdd-Vn)/(Vdd-Vp)))
    # print(Vp/Vn * ((Vdd-Vn)/(Vdd-Vp)))
    # print(np.log(Vp/Vn * ((Vdd-Vn)/(Vdd-Vp))))
    return 1/t_a

# kohm and nF
R_C_combos_in_808 = [
    [300, 22],
    [270, 18],
    [220, 18],
    [680, 10],
    [560, 10],
    [560, 18],

lowest = R_C_combos_in_808[-1]
print("R, C, f, ratio")
for combo in R_C_combos_in_808:
    R = combo[0] * 1000  # kiloohm to ohm
    C = combo[1] * 1e-9  # nF to F
    f = cd40106_astable_vibrator_freq(R, C)
    ratio = f / cd40106_astable_vibrator_freq(lowest[0]*1000, lowest[1]*1e-9)
    print(R/1000, C/1e-9, f, ratio)

1 Like

What does your LTSpice model look like?
Does it use the same Vp and Vn?
In the datasheet I have it looks like Vn can range from 0.9 to 1.9 and Vp from 2.9 to 3.6.
Maybe try messing with those values?

Just remember, in theory there is no difference between theory and reality, in reality there is…


I use a „standard“ 40xxx library I got somewhere xD The only thing that found I can change is Vdd, so I thought that would determine Vp and Vn, but I should check that!

Whatever Vp and Vn and Vdd are, they presumably are not dependent on R or C. So t_a should be proportional to RC — and for LTspice it’s not:

R C f_datasheet f_LTspice RC t_a_datasheet t_a_LTspice t_a_datasheet/RC t_a_LTspice/RC
300 22 186.521 230 0.0066 0.00536 0.00435 0.812 0.659
270 18 253.3 317 0.00486 0.00395 0.00315 0.812 0.649
220 18 310.868 387 0.00396 0.00322 0.00258 0.812 0.653
680 10 181.035 227 0.0068 0.00552 0.00441 0.812 0.648
560 10 219.828 225 0.0056 0.00455 0.00444 0.812 0.794
560 18 122.126 273 0.01008 0.00819 0.00366 0.812 0.363

The ratio of t_a from LTspice to RC varies by more than a factor of two, and is less than the datasheet values by factors of between one and more than two. In particular, for R = 560, f should nearly halve when C goes from 10 to 18, and instead it increases by about 25%. For the other R values the ratio is nearly constant, consistent with different Vn and Vp values, but for R = 560, I don’t believe the LTspice values.

But a few minutes with a breadboard should answer the question, no?

Depends on VDD, for 5 V, Vp is min 2.2, typ 2.9, max 3.6. For VDD = 10 V it’s about double that.

1 Like

Man! you’re a genius!
I just checked my simulation again and I had different values for C (10nF instead of 18nF) for the R=560k cases! What was I doing? xD
So, now I need to check what’s up with the Vn and Vp in my simulation (and check back on the breadboard!)

1 Like

Datasheet says Vn can be in the range 0.9 to 2.8, Vp in the range 2.2 to 3.6. Presumably they don’t vary independently or otherwise you could have Vn > Vp, but even so t_a/RC probably has a fairly big range, certainly 0.81 to 0.65 seems possible:

Vdd 5
Vp 0.9 1.9 2.8
2.2 1.275 0.248 -0.482
2.9 1.839 0.812 0.082
3.6 2.461 1.434 0.703

There’s not enough information in the datasheet to know how likely such a difference from one chip to another is, though. Bottom line is, if the frequencies are critical, then you probably should use trimmers. But in Eric Archer’s schematics it doesn’t look like frequencies are specified, just fixed component values, so who knows what frequencies you’re really aiming for?

1 Like