Is Arduino processor fast enough for analogue input from Random event generated by zener diode?

Hi everyone,

I'm new to electronics and currently working on a project to build a physical random event generator using a Zener diode. I'm curious about the Arduino's ability to capture the random signal generated by the diode.

Specifically, I have a couple of questions:

  1. Is the Arduino's processing speed fast enough to reliably capture the random signal from the Zener diode?
  2. If the Arduino isn't fast enough, what happens to the signal? Will it be missed or distorted?
  3. What would the signal look like if the Arduino captures multiple random events within a single sample?

Any insights or explanations would be greatly appreciated! Thanks in advance for your help.

Since you haven't defined any of the parameters of this "random signal from the Zener diode" it's not possible to say anything concrete in reply.

4 Likes

Could you kindly share what parameters you are imagining to be able to answer this sort of question?

I believe that's up to you to figure out. If you don't know the parameters of what it is you're talking about, you have some research to do.

Good-bye.

Build it and test it.
Check if it works for your project.

It depends on the bandwitdh that you want actually, but it seems that you are not familiar with that concept.

2 Likes

Are you essentially asking "what is the shortest pulse that an Arduino could detect"?

3 Likes

Please explain what you mean by "capture", and describe the relevant characteristics of the "random signal" that you want to capture.

Which Arduino board are you referring to?

Choose a board, check the documentation, read the datasheet of the processor it uses, if it doesn't work for you, choose another one and repeat the steps. This way you can satisfy your curiosity and with all the basics.

1 Like

Basically this is not the best way of doing the job.

Many, many years ago (mid 1960), I did a similar project, that was to generate a random direction for a robot. This was in the days before micro computers.

I built a cell consisting of a tube with two electrodes in it. The tube was filled with cotton wool and a silver nitrate solution. One electrode was connected directly to the positive supply and the other to ground through a resistor.

What happened was that the voltage across this cell caused dendrites to grow in the cotton wool, until they in effect shorted out the cell, causing them to break up like a very delicate fuse and you could get a random signal at the resistor connected to ground.

It worked very well, and you could see those spikes on an oscilloscope, and the use a transistor to boost up the signal level.

Probably not.

Yes

Not a lot, it would just be missing. This is a very similar to the quenching effect on a G-M tube.

There are statistical methods for adding extra counts to compensate for those that are missed. Your situation with a Zener diode is very similar.

2 Likes

This Zener diode noise business is not very selfexplanatory and I doubt that there is only one way to aproach this. If you want to have help from here, there is much more information needed, about your aproach. The kind of signal, what you are talking about is depending from the circuit, what will be used. So no answers can be given without a clear spec.
The outcome of your approach might look totally different, but one exapmle to aproach this:

A Random Number Generator Based on Electronic Noise and the Xorshift Algorithm

1 Like

In this exercise, are you analysing something like white noise and applying an algorithm to verify its randomness ?
Are you interested only in the audio spectrum say 20 to 20kHz ?

1 Like

Assuming that the requirement is for some sort of "true random number generator". Unfortunately it does not seem simple like attaching a zener to an analog and reading the value.

The following article goes into detail about how to implement a robust TRNG. Random Sequence Generator based on Avalanche Noise

1 Like
  1. Is the Arduino's processing speed fast enough to reliably capture the random signal from the Zener diode?

Yes.

  1. What would the signal look like if the Arduino captures multiple random events within a single sample?

That is not possible.

1 Like

Thank you for your reply to my question!
Yes! that is what I wanted to ask!

I am using Arduino Uno and I would like to know what is the shortest pulse!

I want to convert a physical noise of the range between 20hz-20,000hz into 1 and 0 as the output frequency goes up(1) and down(0) randomly.

And I wanted to find out how fine the Arduino Uno can capture the signal in general.

This still does not make sense.

Nor does this:

the output frequency goes up(1) and down(0) randomly

Thank you very much for sharing your experience!
I am quite a new in this field so this kind of posts really helps my exploration in this project!

I see there are lot of ways to handle the generation of random event!

So from your opinion using Arduino to process random event is not ideal.
I know that would be a whole different topic of discussion but, is it possible to DIY processor that is reliable to capture the random signals?

That depends on what method you are using to capture the signal, what your code it, what the clock(s) are. I recommend you do a few tutorials on the Arduino and get and read a copy of the Arduino Cookbook.

1 Like

You still need to describe "random signals", and what it means for an Arduino to "detect".

Have a look at White noise - Wikipedia

1 Like

Thank you for your reply!
Also thank you very much for sharing a reference!

The reason behind I am looking into a zener diode for random event generator is that, if I utilize one of the characteristics of zener-diode, zener-breakdown, then was hoping to build quantum effect involved random event generator.

But I guess there are different approaches that I can look into as you suggested.

I am also considering to use simple p-n junction transistor to achieve the quantum effect (quantum tunnelling effect).

Thank you for your resources!

The random signal I would like to capture is, like you mentioned, white noise, which contains audible range of frequency between 20hz to 20,00 hz

Then I would like to conver it to digital siganl between 1 and 0.
I have a program written already but struggling to build a circuit to achieve to gain the physical noise source that can be powered via laptop usb with the input voltage of 5V.