Files
2026-09-18 23:22:55 +10:00

12 KiB
Raw Permalink Blame History

ambium

Analog brown-noise generator. Single +12 V supply, breadboard-friendly. Deep filtered rumble to a 4 Ω speaker via a cool-running Class-AB push-pull output.

Reference designators and model numbers are consistent across every diagram, the BOM, and the connection list — the connection list is the authoritative netlist.

Complete schematic

                                     +12V
                                      |
                    +-----------------+--------------------------+
                    |                 |                          |
                  R1 100k           R2 10k                    U1 pin 8
                    |                 |                          |
                    o raw             o----- VREF (6V)            |
                    |\                |                            |
                    | E Q1 2N3904    R3 10k                      C2 100n
                    | B| C (NC)       |                            |
                    |  +-- GND       GND                         GND
                    |
                    +-- C1 10u -- NOISE -- Rin1 1k --o SUM
                         +       -                    |
                                                   +---+---+
                                                   |       |
                                                Rf1 1M  Cf1 8.2n
                                                   |       |
                                                   +---+---+
                                                       |
                                                       +------------------------- AMP
                                                       |                          |
                                                    U1B pin 6 (-)             U1A pin 3 (+)
VREF ------------------------------------------------ U1B pin 5 (+)

                                    U1B pin 7 (OUT) -------------------------- AMP

                                              U1A: LM358 output driver
                                    OUT o--------------------- U1A pin 2 (-)
                                                        U1A pin 1 (OUT)
                                                               |
                                                             BASES
                                                          +----+----+
                                                          |         |
                                                      B  Q2         Q3  B
                                           +12V ------- C  PN2222   PN2907  C ------- GND
                                                          E         E
                                                          |         |
                                                       Re1 10R   Re2 10R
                                                          |         |
                                                          +----+----+
                                                               |
                                                              OUT
                                                               |
                                                    Cout 470u (+| |-) ---- SPKR ---- LS1 4R ---- GND

       VREF bypass:  VREF ---- Cref 10u (+| |-) ---- GND
       Supply bulk:  +12V ---- C3 47u   (+| |-) ---- GND
       U1 supply:    pin 8 = +12V, pin 4 = GND

Parts

  • U1 = LM358 (dual op-amp, DIP-8). U1B = amp + brown shaping. U1A = output driver.
  • Q1 = 2N3904 (NPN). Avalanche noise source.
  • Q2 = PN2222 (NPN). Push-pull top half (sources +).
  • Q3 = PN2907 (PNP). Push-pull bottom half (sinks −).

Nets

+12V · GND · VREF (6 V mid-supply) · NOISE · AMP · SPKR

Signal chain

 [noise]      [amp + brown]        [push-pull driver]
Q1 2N3904  →  U1B LM358 −6dB/oct →  U1A + Q2/Q3  →  4Ω speaker
 NOISE         AMP                   OUT (Class AB, cool)

Power · VREF divider (R2, R3, Cref)

      +12V
       │
    [R2 10k]
       │
       ●───────────────┬────────►  VREF (6 V)
       │               + Cref 10µF
    [R3 10k]         ──┤├──
       │               −
       │               │
      GND             GND

R2/R3 = 20 kΩ across 12 V, midpoint = 6 V. VREF = AC ground (single supply).


Stage 1 — White noise (R1, Q1, C1)

Reverse-biased B–E junction of Q1 into avalanche = broadband white noise. R1 limits current; C1 couples it out.

        +12V
         │
      [R1 100k]
         │
         ●──+┤├──────────► NOISE
         │   C1 10µF  (+ → emitter side; − → NOISE)
         E
      ┌──┴──┐
 GND─B─┤ Q1  │  2N3904
      └──┬──┘
         │
         C  ×  no connect

NOISE = the AC-coupled output after C1. The ● node is raw noise on a DC pedestal — internal, don't label it.

Avalanche varies part-to-part. If quiet, swap the 2N3904. Needs full +12 V.


Stage 2 — Amplifier + brown shaping (U1B, Rin1, Rf1, Cf1)

Single inverting amp, low-frequency gain −Rf1/Rin1 = ×1000, centred on VREF. A feedback cap Cf1 across Rf1 makes it a leaky integrator: flat gain below the corner, then −6 dB/oct above it. That −6 dB/oct slope turns white noise into brown. One stage does gain and browning together — no separate integrator needed.

  • corner fc = 1/(2π·Rf1·Cf1) ≈ 19 Hz with Rf1 1M, Cf1 8.2nF.
  • below fc: flat ×1000. above fc: −6 dB/oct, reaching unity (×1) at ~20 kHz.
  • so the whole audible band (20 Hz–20 kHz) rides the brown slope; peak gain ×1000 at the bottom, rolling off inaudible ultrasonics at the top for free.

Why not a flat ×1000 stage? LM358 GBW = 1 MHz → a flat ×1000 stage has only 1 MHz/1000 ≈ 1 kHz bandwidth, collapsing the band (measured ~27 mV pp at AMP). Here Cf1 makes the demanded gain fall with frequency, so the op-amp GBW is never the limit — the RC feedback does the shaping, not the op-amp rolloff.

LM358 DIP-8, notch at top, pin 1 top-left. Amp = unit B (pins 5/6/7).

                    ┌─────∪────┐
         OUT A   1 ─┤●         ├ 8  V+     ──── +12V
         IN− A   2 ─┤          ├ 7  OUT B  ──●──────────────►  AMP
  VREF ─ IN+ A   3 ─┤  LM358   ├ 6  IN− B  ──●
   GND ─ V−      4 ─┤          ├ 5  IN+ B  ──── VREF
                    └──────────┘

  feedback (pin 7 ↔ pin 6):  pin 7 ●──[Rf1 1M]────● pin 6     Rf1 ∥ Cf1
                             pin 7 ●──[Cf1 8.2nF]──● pin 6     brown slope, corner ~19 Hz
  input:                     NOISE ─[Rin1 1k]──● pin 6

DC handling: C1 blocks DC into Rin1, so the op-amp's own offset sees unity gain — output sits at VREF (6 V), no railing.

Unit A (pins 1/2/3) = the push-pull output driver — see next section. Power/decoupling (whole chip, once): pin 8 → +12V, pin 4 → GND. 47µF bulk + 0.1µF at pin 8.


Output driver — Class-AB push-pull (U1A + Q2/Q3), 4Ω speaker

AMP is line level; the LM358 can't drive a speaker alone. Complementary emitter- followers inside the U1A loop: Q2 (NPN) pushes the positive half, Q3 (PNP) pulls the negative half. Both halves are actively driven, so there's no idle resistor and near-zero quiescent current → it runs cool. U1A drives both bases; global feedback from OUT hides crossover distortion (no bias diodes needed).

Driver = LM358 unit A (pins 1/2/3), same chip as the amp.

                    ┌─────∪────┐
 bases ─ OUT A   1 ─┤          ├ 8  V+     ──── +12V
   OUT ─ IN− A   2 ─┤  LM358   ├ 7  (OUT B → AMP, Stage 2)
   AMP ─ IN+ A   3 ─┤          ├ 6
         V−      4 ─┤          ├ 5
                    └──────────┘

Push-pull output stage (totem pole):

                     +12V
                      │
                      C
                  ┌───┴───┐
   bases ──B──────┤  Q2   │   PN2222 (NPN — sources +half)
                  └───┬───┘
                      E
                  [Re1 10Ω]
                      │
                      ●──────────► OUT ──+┤├──► SPKR ─ GND
                      │                 Cout 470µF   4Ω
                  [Re2 10Ω]            (+ → OUT)
                      E
                  ┌───┴───┐
   bases ──B──────┤  Q3   │   PN2907 (PNP — sinks −half)
                  └───┬───┘
                      C
                      │
                     GND

Connections:

  input:      AMP ─────────────● pin 3 (IN+ A)
  drive:      pin 1 (OUT A) ───● bases  → Q2.base + Q3.base
  feedback:   OUT ─────────────● pin 2 (IN− A)
  Q2:  C → +12V   B → bases   E → Re1 → OUT
  Q3:  C → GND    B → bases   E → Re2 → OUT
  OUT node = Re1 ● Re2 ● pin 2 (fb) ● Cout.+  ;  Cout.− → speaker → GND
  • Idle ≈ 0 → cool, no heatsink. Re1/Re2 = 10 Ω ¼ W (4.7–10 Ω ok; carry only AC — not hot).
  • OUT sits at ~6 V DC (follows AMP); Cout 470 µF blocks it, speaker sees AC only.

TO-92 pinout (flat face toward you, leads down): PN2222 = E-B-C, PN2907 = E-B-C (confirm against your batch's datasheet).

  • PN2222/PN2907 cap ~600 mA → ~1 W into 4 Ω before current-limiting. Plenty for the rumble, and cool. Want more power → TIP120+TIP125 pair, or an amp chip.
  • Crossover buzz at low level? Split the bases and add 2× 1N4148 between them for bias. Usually unneeded — feedback handles it for a noise source.

Bill of materials

Ref Value Part Function
U1 — LM358 (DIP-8) U1B amp+brown, U1A output driver
Q1 — 2N3904 avalanche noise source
Q2 — PN2222 (NPN) push-pull top (source)
Q3 — PN2907 (PNP) push-pull bottom (sink)
R1 100k resistor avalanche current limit
R2, R3 10k resistor VREF divider
Rin1 1k resistor amp input
Rf1 1M resistor amp feedback (low-freq gain ×1000)
Re1, Re2 10Ω ¼W resistor push-pull emitter degeneration (4.7–10Ω ok)
C1 10µF electrolytic noise coupling
Cref 10µF electrolytic VREF bypass
Cf1 8.2nF film / ceramic feedback / brown shaping (−6dB/oct, corner ~19 Hz)
Cout 470µF ≥16V electrolytic speaker coupling (big, for lows)
— 0.1µF ceramic LM358 decoupling
— 47µF electrolytic +12V bulk

Chip count: 1× LM358 + 1× 2N3904 + PN2222/PN2907 pair. No heatsink needed (Class AB).


Connection list (authoritative netlist)

+12V   : R1.1, R2.1, U1.8, Q2.collector, 47µF+
GND    : R3.2, Q1.base, Cref.−, U1.4, Q3.collector, 47µF−, 0.1µF
VREF   : R2.2, R3.1, Cref.+, U1B.IN+(5)
(src)  : R1.2, Q1.emitter, C1.+                 (internal raw-noise node)
NOISE  : C1.−, Rin1.1                            (after C1)
AMP    : U1B.OUT(7), Rf1, Cf1, U1A.IN+(3)        (Rin1.2, Rf1, Cf1, U1B.IN−(6) = summing)
bases  : U1A.OUT(1), Q2.base, Q3.base            (driver output → both bases)
OUT    : Q2.emitter→Re1 ; Q3.emitter→Re2 ; Re1.2 = Re2.2 = OUT node
         OUT → U1A.IN−(2) (feedback) ; OUT → Cout.+ ; Cout.− → speaker → GND
Q1     : collector = no-connect

Build & test order

  1. VREF — confirm ~6.0 V.
  2. Noise (R1, Q1) — scope Q1 node → hiss (~mV). None? swap 2N3904 or raise supply to 12–15 V.
  3. Amp (U1B) — scope AMP → deep rumble (~volts), darker than the raw Q1 hiss (that's the brown slope).
  4. Driver (Q2/Q3) — wire push-pull + feedback. Speaker rumbles. Transistors stay cool (near-zero idle). OUT DC ~6 V.

Tuning

Want Change
Louder ↑ Rf1 (raises low-freq gain; watch clipping)
Darker / deeper ↑ Cf1 (lowers corner, more brown)
Brighter (toward white) ↓ Cf1 (raises corner)
Kill crossover buzz add 2× 1N4148 base-bias diodes
More power TIP120+TIP125 pair, or amp chip (PAM8403 / TDA2822)