Absolutely 100% more fun.
29 karma · joined June 9, 2022
Absolutely 100% more fun.
However I don't think you'd be able to easily manipulate the random stream.
By triggering the random tube you just generate a random number, but even by triggering it continuously you cannot directly manipulate the bytes. The counter is not reset after every event.
Moreover: the timer/counter is clocked at 20M, for a 16 bit timer it overflows every 3ms. The tube is inhibited for a similar amount of time by a monostable 555. And this inhibit time is controlled by an RC network that is separated from the timer/counter crystal. So even noise and fluctuation on this two clock sources generate some randomness.
I'm not saying that it is impossible to manipulate, I'm saying congrats if you figure out a way.
Otherwise you could just inject whatever you want from the uart, no need for any x-ray gun.
Also you should not reset the counter at every event, this would lead to a poisson distribution if event ever became of comparable time scale to the timer
Looks very similar to mine in the principles of operation! I wonder if the author got some inspiration from my work, that would be amazing!
Btw here is a sample of the data gathered, if you want to further analyze it. It's plain binary: https://github.com/valerionew/Banana-Random-Number-Generator...
The numbers are generated directly from the current timer/counter value at the moment of the event. I'm not at all measuring time BETWEEN events. It's just a counter that overflows ~300 times per second (20MHz clock in a 16 bit counter), while the radioactive events happen every ~1-3 seconds. This ensures that the numbers are uniformly distributed and uncorrelated.
I am actually throwing away some enthropy bits doing this, as there will be significant bits to the left that i'm discarding. A somewhat next step in the future could be the assesment of how many bits can the counter be, without impacting the quality of the output. Maybe i can get something like 20 bits per event.