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:

BJTZenerModeEffects

Notes

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.

Construction

Breadboard

The Schematic

The Build

Credits and References

About LEAP#140 AudioBJTZenerOscillators

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

Project Source on GitHub Return to the LEAP Catalog
About LEAP

LEAP is my personal collection of electronics 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.

Projects are often inspired by things found wild on the net, or ideas from the many great electronics podcasts and YouTube channels. Feel free to borrow liberally, and if you spot any issues do let me know or send a pull-request.

NOTE: For a while I included various scale modelling projects here too, but I've now split them off into a new repository: check out LittleModelArt if you are looking for these projects.

Project Gallery view the projects as an image gallery Notebook reference materials and other notes Follow the Blog follow projects and notes as they are published in your favourite feed reader