nanoBOX Custom Electronic Solutions...

True Random Number Generator

THIS web site hosts a source of true random numbers. These numbers are generated by the hardware described below.

The numbers are generated by sampling a source of random noise. The noise comes from a PN junction biased into breakdown. The noise is amplified and turned into a random bit by a comparator. Bits are gathered up and sent out to a PC where they are buffered, ready for use. The PN junction needs around 7 volts before it will break down (Using the Base-Emitter junction of a transistor). This is provided by a simple inductive booster. The AVR regulates this boost voltage to about 12V by adjusting the PWM duty cycle. The AVR also contains the comparator which produces the binary digits from the noise. A simple display is included in the circuit, which currently displays the mean average of all the numbers generated so far. A discrete level shifter, shifts the 0V - 5V serial output from the AVR to somewhere near RS232 levels for communication with a connected PC. The Tiny24 doesn't have a hardware UART so a timer compare output is used to implement a software UART.

Here is the PDF Schematic

Here is the AVR C Source

Here is a link to the random number server

The server runs a bit of software. It does the buffering and some 'quality' tests to check how random the numbers are. It also draws a nice graph of the count of numbers so far.

A picture of the windows server

Here is the prototype on a bit of stripboard. The prototype draws about 22mA @ 5V. Most of this goes into the display.

Prototype

Here is a plate of Nachos

Some Nachos

About Us | Site Map | Privacy Policy | Contact Us | ©2008 nanoBOX