A hardware random number generator built for 6.2040 (Analog Electronics Lab) that uses avalanche noise from a transistor to generate truly random numbers from 0-7.

How It Works

The system uses avalanche breakdown in a transistor to generate analog noise, which is then amplified and converted to digital bits. Three sample-and-hold circuits sample the noise at different times to create independent random bits, which are decoded into numbers 0-7. An ESP32 microcontroller reads and records the output.

Key Components:

  • Avalanche noise generator (transistor in breakdown region)
  • Common-emitter amplifier
  • Analog-to-digital converter with comparator feedback
  • 555 timer circuits for sampling control
  • Sample-and-hold circuits
  • 74LS138 3-to-8 decoder

We collected over 1000 samples for statistical analysis. While the generator showed some bias toward numbers with fewer high bits (due to the DC noise offset), it successfully demonstrated true hardware random number generation using natural physical phenomena rather than deterministic algorithms.

Take a look at the full project report below!

Project Report