Oh no! Not another RNG thread!
After reading about Intel's new RNG, I thought it might be interesting to try building one. But there are some gotchas, so perhaps it's a fool's errand. From the article:
Switching those transistors on forces the inputs and outputs of both inverters to the logical 1 state. The inverters have to be modified slightly to take this sort of abuse, but that's easy enough to do.
and
To keep the inverters in balance, we built a feedback loop into the new hardware. The circuitry in that loop performs some targeted fiddling until the two possible output values, 0 and 1, each occur roughly half the time.
I lack the requisite knowledge about inverters to understand whether the 1st is, for practical purposes, a show-stopper for casual home experimentation. I'm willing to ignore the 2nd and just play with it to see what I get, unless the probability is very high that in a home-brew circuit, stray inductance, capacitance, noise, etc., from wiring is going to drive the circuit to always, or nearly always, flop high or low.
The other thing I'm thinking about is whether there's any benefit to buffering the output of this in something before reading it in the Arduino. Not sure if that would be using a shift register, or some other sort of buffer, UART, or something. Just an idea that it might be easier to grab 8 bits (or more) at a time rather than bit bang the bytes together -- trade complexity in the sketch for complexity in the hardware. One thing about doing the rest all in the Arduino is that Intel mentions (elsewhere) using a von Neumann filter, which could be implemented using an interrupt, though I assume there's an easy way to detect transitions using hardware too.
I have on hand the TI SN74LVC2G04 dual inverter, and I was thinking something along the lines of a DMN601DMK-7 dual FET IC for the FETs.
Clock would come from a DS3234, also already on hand. Attached is a start on a drawing.