“Randomness is very difficult to achieve… organization always merges back if you don’t pay attention.”
– La Science des Rêves
Every now and then I feel a strong urge to uprise against digital electronics. I think it is simply because I find the concept of digital bits unnatural, kind of phony, and a bit forced trying to bring quick and reliable solutions to electronics problems but cause a mess with a lot of residual problems regarding information loss, storage challenges, clock speed issues etc. No matter how silly this sounds, I enjoy tinkering around the idea as a leisure activity either in conversations with my fellow friends where I try to hold my ground defending why we should all go on with analog solutions, or with some home projects I could easily cope with using digital solutions but went with analog circuitry instead just to add some puzzles to solve to the project. As a very brief summary of my approach to such tinkering sessions: The world we are trying to interact with using machines is analog… Right? Why convert it back and forth and back again!?
It was one of those days (was actually just a night) of rebellion which I brought the Pseudo-Random Number Generators (PRNG) to my target remembering the day I learned how rand(); actually worked, and how not random it was fundamentally. Not that the implementation isn’t beautiful enough, but for the sake of freedom of tinkering, I just rolled my sleeves up for another 1‑night project with which I was hoping to generate rather random numbers using analog circuitry.
Here is the idea:
When asked to pick a number from 1 to 10, we seem to have no difficulties in spamming numbers as long as we want. I believe that there must be a reason behind us picking numbers even though these reasons might not be practically interpreted to perfectly guess which number a person will pick at any time. So if we could construct a circuit that is susceptible to a variety of reasons, and that cannot be solved in a systematic fashion using conventional circuit analysis methods, then the output of this circuit could be our very own random number in an analogy to humans, picking numbers.
To exemplify, think about a circuit composed of a battery and a single piece of wire that short circuits the positive and the negative terminals of the battery. Now what’s the current passing through the wire? What is the voltage at any point of this wire at any time? Even in such a small circuit there are a lot of reasons such as the discharge characteristics of the very specific battery used in the application or the impurities of the wire; electromagnetism, humidity, temperature and maybe even gravity around the circuit could be reasons as well. That’s the kind of a circuit I am talking about.
I have set up a variety of circuits most of which incorporated op‑amps, most of which I’ve had a hard time trying keep away from saturation, silly circuits that ideally should have output 0V at the output. I’ve amplified that voltage and fed it to an ADC to readout that amplified analog voltage (number) into the beloved digital domain. The best of these designs seemed like it actually was working at first glance. After a closer look with the help of our fridge though, it was clear that the circuit turned out to be an extremely lousy temperature sensor…
But still…
Come on…
I mean…
Why not?
Go figure.