Main Content


ATtinyTRNG - True Random Number Generator
Cor van Wandelen 6-2023

A small, cheap generic True Random Number Generator has been made by combining two random sources on a ATtiny85 board.

This True Random Number Generator produces high quality non-deterministic random numbers. As an example, these numbers can be used to seed a fast (deterministic) pseudo random number generator.

Random bytes made from the 4 available ADCs on a ATtiny85 MCU are used to seed a Middle Square Weyl Sequence prng which in turn is used to generate CPU jitter.
The output of CPU jitter is then combined with the output of the Middle Square Weyl Sequence prng. Both true random sources are checked for failure: if one of them fails the MCU is put to sleep. Every 5 seconds a activity led blinks.
A speed of appr. 54 B/s is achieved.”

Link to article