A MicroRNG up close

The MicroRNG device is a hardware random number generator device that can be used in embedded systems as a reliable entropy source. It can interface with microcontrollers or microprocessors (mainboards) with integrated circuits and modules through a mikroBUS™ socket using an SPI or 2-wire UART interface. The MicroRNG is designed to comply with NIST SP 800-90B: “Recommendation for the Entropy Sources Used for Random Bit Generation,” and can generate random numbers at a rate of up to 1 Mbps in SPI mode and up to 1.5 Mbps in UART mode.

You can download the MicroRNG’s complete technical specifications datasheet here. The MicroRNG’s quick start guide when used with a Raspberry Pi can be found here. The MicroRNG’s quick start guide when used in UART mode on a Windows platform can be found here.

Are you a student or an educator? Learn about our education discount. If add to cart button isn’t working, visit our shop directly here.

How it works

The MicroRNG can operate in either SPI or 2-wire UART mode, which is selected with the ‘JP Mode’ switch located on the board. When the device is powered on or restarted, the ‘JP Mode’ switch configuration determines which interface is to be used.

The MicroRNG’s typical connection in SPI mode:
Connecting MicroRNG in SPI mode

The MicroRNG’s typical connection in 2-wire UART mode:
Connecting MicroRNG in 2-wire UART mode

The MicroRNG device utilizes random noise generated from two independent and reliable sources based on the electrical noise produced by an avalanche breakdown effect in Zener diodes. The electrical noise generated by each random source is independently amplified, filtered, and converted into digital values. The random bytes produced by both noise sources are combined and processed internally with a Linear Corrector, a technique first proposed by P. Lacharme (“Post-Processing Functions for a Biased Physical Random Number Generator”. In: FSE 2008. LNCS, vol. 5086, pp. 334-342. Springer-Verlag. 2008), using a 0.5 compression rate. Alternatively, when operating in 2-wire UART mode, the raw random bytes can be processed internally with one of the following hashing methods: SHA1, SHA2, SHA512, or HMAC160.

As soon as the MicroRNG is powered on or the RST signal is asserted, it will begin running start-up health tests and will become ready in less than 700 milliseconds. If any errors are detected when running start-up health tests, the ‘LED Status’ indicator will blink several times and the ‘Status byte’ will be updated with an error code.

Quality checking

This device embeds comprehensive diagnostics and monitoring features used for validating internal random physical sources and components in real-time. It maintains an internal status, referenced in technical specification by ‘Status byte,’ which can be retrieved using the device API to check the health of the generator.

Tech specs

Data sheet

True random byte download speed 1 Mbps in SPI mode and up to 1.5 Mbps in UART mode
Power supply 3.3V
Max Input High-level Voltage 3.3V
Power consumption max 340mW consumption in normal operation mode and 125mW in sleep mode
Weight 5 grams (0.1 oz)
Data connectivity and control interface SPI, 2-wire UART interface
Random source Two independent circuits based on avalanche breakdown effect in reversed-biased Zener diodes
Post processing algorithms available Linear Corrector (P. Lacharme), SHA1, SHA2, SHA512 and HMAC160
Embedded health check test (HCT) ‘Frequency Table Inspection’ - runs at device start-up
Implemented statistical tests Continuous ‘Repetition Count’ and ‘Adaptive Proportion’ statistical tests
RoHS compliance All parts and materials are lead-free and RoHS compliant
Country of origin U.S.

Statistical tests

The MicroRNG device passes the following statistical test suites for measuring the quality of a random number generator: Diehard, NIST, Rngtest, Ent, IID.

You can download sample test reports using the links below:

Warranty and return policy

TectroLabs offers a 1-year limited warranty on the MicroRNG. We will repair or replace (at our sole discretion) any device that fails due to any defects in materials or manufacturing. The MicroRNG device may be returned within 30 days of purchase for a full refund minus the credit card processing charge (the buyer will pay for return shipping).