Fork me on GitHub

Project Notes

#140 BJT Zener-Mode Effects

Playing around with some zener-mode sound effects.

Here’s a quick video of the circuit in action. It also shows what happens when you remove the BJT noise generator:



I’ve been reading about BJT behaviour in reverse breakdown, aka “zener mode”. This is not a conventional operating mode, but appears to be commonly exploited as a noise generator.

The classic application is for steam engine sound effects. In fact, I discovered this patent from 1975: Sound Simulator for Model Steam Engine US Patent 3,913,097 It’s a patent for the steam engine simulator, not zener breakdown per se:

... Thus a current I passes through the current limiting resistor 45 to the emitter of the transistor Q4.
There is a breakdown from emitter to base of the transistor Q4 resulting in the current flow to ground.
It is well-known that such an occurrence will cause a white noise signal to be generated which signal is
transmitted through the capacitor 46 ...

I started off with a circuit based on this Steam Engine Simulator circuit. Note that the “chuffing” is not inherent - it uses a mechanical switch (connected to wheels or drive train) to provide the “chuffing” oscillation. If you really want to build a steam engine sim, take a look at some of these improved/modified circuits:

Since I don’t really need a steam engine sound generator(!), I started to swap components to see how the circuit behaved.

The final circuit (as documented here) is perhaps not much use for anything. To my ears it sounds like an RC plane fly-by at a few hundred feet! To hear the difference the noise makes, short out/replace the Q1 transistor and the sound produced immediately goes clean.

Things learned along the way:

The transistor used for Q1 really matters, as we are exploiting the noise generated in a non-standard mode. A BC547 is commonly found in such circuits and is nice and noisy. I tried some others:

  • S9013 is no good (too good!?), generates no audible noise. Or perhaps I hadn’t pushed it to fully breakdown yet.
  • 2N3904 is not bad - reasonably noisy in this circuit
  • A42 is very similar to BC547, hence what I used in this circuit, since I had a few around.

It’s not just the model that matters: the noise profile is quite variable from component to component, so if one component doesn’t work well, try another.

For true “steam” effects you want the high frequencies, so a high speed diode D2 works best, like a 1N4148. But I tried some standard rectifier diodes, and a good old 1N4001 does a decent job here.



The Schematic

The Build

Credits and References

About LEAP#140 AudioBJTZenerOscillators
Project Source on GitHub Project Gallery Return to the LEAP Catalog

This page is a web-friendly rendering of my project notes shared in the LEAP GitHub repository.

LEAP is just my personal collection of projects, usually involving an Arduino or other microprocessor in one way or another. Some are full-blown projects, while many are trivial breadboard experiments, intended to learn and explore something interesting (IMHO!).

The projects are usually inspired by things found wild on the net, or ideas from the sources such as:

Feel free to borrow liberally, and if you spot any issues do let me know. See the individual projects for credits where due. There are even now a few projects contributed by others - send your own over in a pull request if you would also like to add to this collection.