Blog Home

Creating an over-engineered random number generator Arduino shield

Arduino TeamMarch 17th, 2021

Often when working with Arduino projects, you’ll need to generate a random number. There’s a random() function built into the IDE that works acceptably in many cases, but maker_ATOM wanted to take things to the next level, creating an “over engineered true random value generator.”

This device sits on top of an Arduino Uno as a shield, and features input from a floating pin seed value. It adds light input as a second seed value with an LDR, and ambient noise via a microphone as a third value. These are used to choose from an array of Pi digit values, which are also random, revealing outputs on its OLED display at the push of a button that would be exceedingly difficult to predict! 

More details on the project can be found in maker_ATOM’s Instructables post.