February 17, 2014

Creation of RNG for Micro-Psychokinesis Practice

More articles by »

Authors Note: Please be proficient with micro-psychokinesis already before attempting to build one of these. I don’t want you to lose sight of the practice part of micro-psychokinesis.


It is no secret that micro-psychokinesis usually falls into disfavor due in part to its more popular cousin, macro-psychokinesis. The reason for this lack of interest may stem from the “flamboyant” display of macro-psychokinesis videos and impressive macro-psychokinetic demonstrations amongst psionic and related communities. Perhaps the lack of authoritative resources on micro-psychokinesis also remains to be a contributor towards its lack of popularity. This article is an attempt to bring into view a complete analysis of random number generators and how they relate to your micro-psychokinesis practice. It is my hope that delving into this topic strikes interest into the curious but confused individual who wants to practice with a true random number generator (or TRNG) but does not know how to approach creating one. It is also my hope that this article becomes a contributor towards an increase in popularity of micro-psychokinesis as an often-practiced skill.

In this essay, we will approach random number generators by first defining what they are. We will proceed to discuss how can we use them effectively to aid our practice. Furthermore, we will delve into challenges with finding a random number generator suitable for daily practice, examples of suitable random number generators, and how to create your own random number generator. I will also touch on the viability of portable random number generators, and what the future holds in store for us in regards to creating better instruments to aid us in our daily micro-psychokinesis practice.

Assumptions Made By the Author

This article is best suited towards those who have completed all of the beginners exercises and have a thorough knowledge concerning what micro-psychokinesis is and how to practice micro-psychokinesis. It is probably best suited towards those individuals wishing do do their own amateur research, or those attempting to statistically prove that they were using micro-pk, instead of brand-new practitioners who have not yet obtained a firm grasp on the subject. This article also assumes that you are a technically proficient individual. Other skills which may or may not be beneficial to understanding this article include understanding how to program your own terminal scripts, understanding the basics of the underpinnings of a Linux distribution, and perhaps a basic knowledge in electrical circuitry. The latter skills are not assumed and ample background information will be provided so that the materials may be sufficiently understood.

What is a Random Number Generator and Why Do We Care?

A random number generator can be defined as an apparatus that generates random numbers on the basis of an input. An “input”, within the context of this discussion, can be a program that has specific instructions dedicated towards generating a pseudo-random number, or a microscopic phenomena that generates a statistically random output from a signal that is usually entropic in nature. A pseudo-random number generator is a piece of software whose function involves using a deterministic algorithm to generate pseudo-random numerical sequences. A pseudo-random number generator (PRNG) is not truly random because in the circumstance where one has a thorough understanding of the algorithm and the initialization inputs (often called “seeds”), he/she may reliably and accurately predict the seemingly “random” output. In contrast, a true random number generator is hardware-based, and generates random numbers using a physical process. Physical processes often used to generate numbers approaching truly random can be divided into quantum sources and non-quantum sources. Common quantum sources for hardware-based random number generators include certain amplification methods, nuclear decay, and shot noise. Common non-quantum sources for hardware-based random number generators include thermal noise and avalanche noise. These concepts will be expanded upon in their relevant locations in a detailed fashion in the “Examples of Suitable Random Number Generators” section.

Random number generators are a valid field of study due to their ability to be used to accurately assess your ability and progress within the field of micro-psychokinesis. You can scientifically compute the probability that your result was due to chance and use that probability to determine whether or not your practice has been a success. This is certainly a departure from dice rolling or other non-electronic forms of micro-psychokinesis practice because it offers a highly-controlled method of practice for the psionic practitioner. In addition to the benefits of understanding and using random number generators for your micro-psychokinesis practice, understanding the way RNGs operate is crucial to perceiving the mechanics behind popular psychokinesis research papers within the field of parapsychology. Random number generators are often used by parapsychologists in order to reliably determine whether their psychokinesis experiments produce a statistically significant result due to their highly-controlled nature.

Challenges with Finding a Suitable RNG

TRNG vs. PRNG for Micro-Psychokinesis Practice

Due to the deterministic nature of PRNGs, it is generally advised for a psionic practitioner to choose a true random number generator over a pseudo-random number generator. After determining a seed, pseudo-random number generators use an algorithm to generate a random number. As a result, depending on how the seed is generated, it may be impossible to manipulate the pseudo-random number generator towards your output of choice using micro-psychokinesis. This is in contrast to a true random number generator which uses an input which can realistically be manipulated using micro-psychokinesis.

Technical Considerations

Another important consideration of random number generator creation and use is determining what can reliably be created by individual psionic practitioners, whose abilities vary across a wide technological spectrum. A difficulty worth considering is the tendency for noise or other inputs of a true random number generator to become biased towards or away from the desired value. For example, a random number generator capable of generating either a zero or a one might generate a zero 75% of the time instead of 50% of the time, like one might assume. Understandably, this poses a difficulty for those practitioners, because most will assume that they are being successful, rather than considering that there may be a fault in the construction of their true random number generator.

Another formidable complication worth ample examination involves the amount of effort one is willing to dedicate towards creating a true random number generator in relation to the “reward”; that is, will one be willing to create a true random number generator versus a pseudo-random number generator for the purpose of accurate, highly-controlled micro-psychokinesis practice? Instead, will the practitioner decide to pursue a different skill on the basis of this difficulty? With these considerations in mind, I have deliberately provided true random number generator designs which are accessible instead of intricate, and those which are less liable to generate an unfavorable result bias.

Cost Considerations

In addition to considerations involving technical expertise, another opponent towards the creation of true random number generators is whether the efficiency of the cost of the designs is efficacious enough for one to actually dedicate his/her time to create an RNG. This issue is similar in vein to the technical expertise dilemma in that the more work that one has to dedicate to produce the device, the less likely he/she is to dedicate his/her time towards the creation of the apparatus. Efforts were obviously made to minimize the cost of the device, even in its portable renditions.

Examples of Suitable Random Number Generators

Avalanche Noise True Random Number Generator

After the arduous process of reviewing viable candidates for construction on the basis of cost and technical expertise, I have determined that a likely candidate for a viable(read: cheap and easy) true random number generator for micro-psychokinesis is one based on the concept of “avalanche noise”.

Within the context of this discussion, avalanche noise can be defined as as phenomenon where charge carriers in the transition region of a semiconducting material (note that a similar process is also possible using insulating materials). Charge carriers during this scenario may be free electrons and electron holes. Protons aren’t very mobile as dictated by the laws of physics. When there is a voltage gradient in the semiconductor, the electron will move towards the positive voltage while the electron hole moves towards the negative voltage. If the voltage is high enough, the charge carriers won’t just move towards the edges. Instead, the electron might move fast enough to create additional charge carriers.

Avalanche noise true random number generators take advantage of this interesting phenomenon by generating a statistically random noise signal, which can act as the basis for random number generation. It is a cost effective method of generation because it can be made with a few simple-cost transistors. A diagram to create such a device is depicted below:


The images in this article are licensed under a Creative Commons Attribution-NonCommercial 2.5 License unless otherwise noted. The article itself is copyrighted © 2012 unless otherwise noted.


I have carefully labeled the diagram above with the names of the individual electrical parts for those without a firm ground in electronics. The lines connecting the electrical components are indicative of wires(or a breadboard / protoboard equivalent). When there appears to be a “wire overlap”, the wires are “connected” if there is a dot or circle over the intersection. The opposing transistors in the diagram are the basis for the avalanche noise, which forms the foundation for true random number creation. The third transistor assists in amplifying this noise. Accompanying this circuit design is a parts list(under the same license as the images). Please consider the following parts list below:

Parts List

Component Quantity
Seeeduino 1
2N3904 Transistor 3
4.7k Resistor 2
10k Resistor 1
1.5M Resistor 1
0.1µf Capacitor 1
10µf Capacitor 1
Breadboard  1
Wire Spool 1



Above, I have linked to appropriate places to purchase the equipment necessary to build the apparatus. I have opted for a “Seeeduino” device instead of other devices due to the Seeeduino’s ability to operate on phantom power(Read: You won’t need a DC power supply). I have also chosen this board because it is around half of the cost of similar name brand development boards. Practitioners who decide to partake in the creation of the apparatus will be building it on a breadboard

Please also take note that some electrical components, such as capacitors or transistors, have a direction or polarity. The direction of the transistors should be obvious based on the diagram, and the polarity of the capacitors are noted in the diagram. There will be corresponding markings detailing the polarity information on the actual component. Resistors lack a polarity and can be inserted in any direction. The colored bands on the resistors assist in determining what the rated ohm value of the resistor is(in this design, we have 4.7k ohm resistors, a 10k ohm resistors and a 1.5M ohm resistor). Using this convenient color code, you may be able to infer the rated value of the resistors if they come unpackaged or if you are unsure. Alternatively, you may purchase a multimeter to assist you in determining the values of the resistors. Multimeters can also help you to debug your apparatus construction if you find that it is not functioning as expected. Please note that the purchase of a multimeter is certainly not a requirement for the successful completion of the project.

I have intentionally provided a quick overview of a breadboard below for those who are unfamiliar or are trying to complete the creation of a true random number generator apparatus without a thorough background in electronics. A breadboard looks like the following image:


The breadboard is a useful device for the development of your true random number generator because it allows you to alter the location of the electrical components quickly and easily without having to de-solder and re-solder any components(this is messy, potentially dangerous, and time consuming). The two columns on the left side and on the right side are connected vertically; that is, by placing one side of the component into one of the hole in these columns, it is connected(like a wire) to any other component placed in one of the holes vertically from the hole you placed the first side of the component into. In the diagram, I have marked the two columns on the left side and on the right side with a vertical black line to indicate that anything connected on those lines are connected together(similar to being connected to a wire). The rows of ten holes in the middle are connected horizontally(two rows of five). Similarly, I have marked the diagram horizontally at the top with a black line to indicate that anything connected to the holes corresponding to those lines are, in essence, connected together with a “wire”. Also please note that the the rows of ten holes in the middle can be further divided into two rows of five holes. I have marked “no” in the diagram above to indicate that items in row 2 of line E are not connected to items in row 2 of line f. There is no “wire” or “connector” in the middle connecting together the two rows of five.

Be cognizant of the potential pitfalls of incorrectly connecting electrical components to the breadboard. Be sure that you are not connecting components to themselves(connecting both sides of the component to the same “line”), and that you properly understand the breadboard before beginning the task of building the apparatus. You should use the device diagram to determine where each electrical component should be placed on the breadboard. You should connect components together using actual wires when the built-in function of the breadboard is not sufficient. Be sure to strip the wire of its insulation before placing it into the breadboard holes. Another potential pitfall is uninsulated wires touching each other. Make sure that all of the wires on your breadboard do not touch each other in places not indicated by the apparatus diagram.

As you may have already noticed, some “wires” in the apparatus diagram are connecting to items which cannot be placed on on the breadboard, such as the Seeeduino inputs. You should be cutting wires to connect the breadboard to “wire” to the Seeeduino inputs as noted by the apparatus diagram. I have illustrated this with the following diagram:



I have constructed this true random number generator myself and have taken a picture of my results below for your reference:


In the parts list, I have specified a Seeeduino 3.0 device. For the construction of my (messy) apparatus as seen in the image, I have used a Seeeduino 2.1 device. Please note that either should suffice for this build. If you already own an Arduino Duemilanove device or any of its (perfect) clones, you may substitute it for the Seeeduino 3.0 device in the parts specification list above.

Please note that you may construct the apparatus and find it to be non-functional. It is certainly possible that you have made a mistake or have received a bad electrical component somewhere(making mistakes is actually completely expected). Be prepared to troubleshoot the construction of the device. You will probably not know if you made an error in construction until testing the device at the very end of this lengthy build process.

After you have constructed your device, it is necessary to set up the software to control it. The accompanying software calibrates itself to changing signals in order to prevent noise bias(mentioned in “Technical Considerations”). The software that we will use to transfer the relevant code to the device is Arduinos standard programmer. You may download this (free) programmer from the Arduino website. After you download and install the software, start the program and you will see a window that looks similar to the image below:


Once you have opened the program, you want to go to Tools > Board and choose “Arduino Duemilanove or Nano w/ Atmega328″. Please note that if you are using an older board and are having trouble uploading the random number generator software to the apparatus, choose the Duemilanove option with “Atmega168″.


After you have completed the previous step, you want to download the random number generator software. Open this file in notepad or your computers equivalent and copy all of the text and paste it into the body of the program. Go to File > Save and save this file in a convenient location.

After saving the file, you should connect your Seeeduino to a USB port using a mini USB connector.

Next, you want to go to Tools > Serial Port and choose the option with “USB” in the name. The title of the actual option will vary depending on whether you are running Windows, Mac, or Linux and on the basis of the age of the board you are using. If you are using an older board, you may need to purchase a serial to USB converter. If you are using the Seeeduino this is not necessary.

After you have everything connected, saved, and configured, press the reset button(carefully marked in the diagram below) and hold it in for six seconds.


Quickly navigate to File > Upload to I/O Board. If you have successfully uploaded the random number generator software to the apparatus, you should be seeing a message similar or identical to the one below:


The Seeeduino is very picky concerning when you press the reset button in relation to when you press the “File > Upload to I/O Board” option. This took me about eight tries to get right. If you are having difficulty here, try making sure appropriate options are selected under tools. You may have to change your board to the Atmega168 option. You may also need to change the “Tools > Serial Port” option.



True Random Number Generators with Linux

/dev/random has the ability to generate truly random numbers.


If you want further help with this, you can contact me directly at

About the Author



Be the first to comment!

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>